1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package kinesisanalyticsv2
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const 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
42func (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 Codes:
71//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
72//   Specified application can't be found.
73//
74//   * ErrCodeResourceInUseException "ResourceInUseException"
75//   The application is not available for this operation.
76//
77//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
78//   The specified input parameter value is not valid.
79//
80//   * ErrCodeConcurrentModificationException "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//   * ErrCodeInvalidRequestException "InvalidRequestException"
86//   The request JSON is not valid for the operation.
87//
88//   * ErrCodeInvalidApplicationConfigurationException "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
92func (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.
106func (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
113const 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
139func (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 Amazon 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 Codes:
175//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
176//   Specified application can't be found.
177//
178//   * ErrCodeResourceInUseException "ResourceInUseException"
179//   The application is not available for this operation.
180//
181//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
182//   The specified input parameter value is not valid.
183//
184//   * ErrCodeConcurrentModificationException "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//   * ErrCodeCodeValidationException "CodeValidationException"
190//   The user-provided application code (query) is not valid. This can be a simple
191//   syntax error.
192//
193//   * ErrCodeInvalidRequestException "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
197func (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.
211func (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
218const 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
244func (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 an 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://aws.amazon.com/documentation/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 Codes:
275//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
276//   Specified application can't be found.
277//
278//   * ErrCodeResourceInUseException "ResourceInUseException"
279//   The application is not available for this operation.
280//
281//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
282//   The specified input parameter value is not valid.
283//
284//   * ErrCodeConcurrentModificationException "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//   * ErrCodeInvalidRequestException "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
293func (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.
307func (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
314const 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
340func (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 Amazon Kinesis Data Analytics
359// application.
360//
361// If you want Kinesis Data Analytics to deliver data from an in-application
362// stream within your application to an external destination (such as an Kinesis
363// data stream, a Kinesis Data Firehose delivery stream, or an AWS Lambda function),
364// you add the relevant configuration to your application using this operation.
365// You can configure one or more outputs for your application. Each output configuration
366// maps an in-application stream and an external destination.
367//
368// You can use one of the output configurations to deliver data from your in-application
369// error stream to an external destination so that you can analyze the errors.
370//
371// Any configuration update, including adding a streaming source using this
372// operation, results in a new version of the application. You can use the DescribeApplication
373// operation to find the current application version.
374//
375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
376// with awserr.Error's Code and Message methods to get detailed information about
377// the error.
378//
379// See the AWS API reference guide for Amazon Kinesis Analytics's
380// API operation AddApplicationOutput for usage and error information.
381//
382// Returned Error Codes:
383//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
384//   Specified application can't be found.
385//
386//   * ErrCodeResourceInUseException "ResourceInUseException"
387//   The application is not available for this operation.
388//
389//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
390//   The specified input parameter value is not valid.
391//
392//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
393//   Exception thrown as a result of concurrent modifications to an application.
394//   This error can be the result of attempting to modify an application without
395//   using the current application ID.
396//
397//   * ErrCodeInvalidRequestException "InvalidRequestException"
398//   The request JSON is not valid for the operation.
399//
400// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationOutput
401func (c *KinesisAnalyticsV2) AddApplicationOutput(input *AddApplicationOutputInput) (*AddApplicationOutputOutput, error) {
402	req, out := c.AddApplicationOutputRequest(input)
403	return out, req.Send()
404}
405
406// AddApplicationOutputWithContext is the same as AddApplicationOutput with the addition of
407// the ability to pass a context and additional request options.
408//
409// See AddApplicationOutput for details on how to use this API operation.
410//
411// The context must be non-nil and will be used for request cancellation. If
412// the context is nil a panic will occur. In the future the SDK may create
413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
414// for more information on using Contexts.
415func (c *KinesisAnalyticsV2) AddApplicationOutputWithContext(ctx aws.Context, input *AddApplicationOutputInput, opts ...request.Option) (*AddApplicationOutputOutput, error) {
416	req, out := c.AddApplicationOutputRequest(input)
417	req.SetContext(ctx)
418	req.ApplyOptions(opts...)
419	return out, req.Send()
420}
421
422const opAddApplicationReferenceDataSource = "AddApplicationReferenceDataSource"
423
424// AddApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the
425// client's request for the AddApplicationReferenceDataSource operation. The "output" return
426// value will be populated with the request's response once the request completes
427// successfully.
428//
429// Use "Send" method on the returned Request to send the API call to the service.
430// the "output" return value is not valid until after Send returns without error.
431//
432// See AddApplicationReferenceDataSource for more information on using the AddApplicationReferenceDataSource
433// API call, and error handling.
434//
435// This method is useful when you want to inject custom logic or configuration
436// into the SDK's request lifecycle. Such as custom headers, or retry logic.
437//
438//
439//    // Example sending a request using the AddApplicationReferenceDataSourceRequest method.
440//    req, resp := client.AddApplicationReferenceDataSourceRequest(params)
441//
442//    err := req.Send()
443//    if err == nil { // resp is now filled
444//        fmt.Println(resp)
445//    }
446//
447// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationReferenceDataSource
448func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSourceRequest(input *AddApplicationReferenceDataSourceInput) (req *request.Request, output *AddApplicationReferenceDataSourceOutput) {
449	op := &request.Operation{
450		Name:       opAddApplicationReferenceDataSource,
451		HTTPMethod: "POST",
452		HTTPPath:   "/",
453	}
454
455	if input == nil {
456		input = &AddApplicationReferenceDataSourceInput{}
457	}
458
459	output = &AddApplicationReferenceDataSourceOutput{}
460	req = c.newRequest(op, input, output)
461	return
462}
463
464// AddApplicationReferenceDataSource API operation for Amazon Kinesis Analytics.
465//
466// Adds a reference data source to an existing SQL-based Amazon Kinesis Data
467// Analytics application.
468//
469// Kinesis Data Analytics reads reference data (that is, an Amazon S3 object)
470// and creates an in-application table within your application. In the request,
471// you provide the source (S3 bucket name and object key name), name of the
472// in-application table to create, and the necessary mapping information that
473// describes how data in an Amazon S3 object maps to columns in the resulting
474// in-application table.
475//
476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
477// with awserr.Error's Code and Message methods to get detailed information about
478// the error.
479//
480// See the AWS API reference guide for Amazon Kinesis Analytics's
481// API operation AddApplicationReferenceDataSource for usage and error information.
482//
483// Returned Error Codes:
484//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
485//   Specified application can't be found.
486//
487//   * ErrCodeResourceInUseException "ResourceInUseException"
488//   The application is not available for this operation.
489//
490//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
491//   The specified input parameter value is not valid.
492//
493//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
494//   Exception thrown as a result of concurrent modifications to an application.
495//   This error can be the result of attempting to modify an application without
496//   using the current application ID.
497//
498//   * ErrCodeInvalidRequestException "InvalidRequestException"
499//   The request JSON is not valid for the operation.
500//
501// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationReferenceDataSource
502func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSource(input *AddApplicationReferenceDataSourceInput) (*AddApplicationReferenceDataSourceOutput, error) {
503	req, out := c.AddApplicationReferenceDataSourceRequest(input)
504	return out, req.Send()
505}
506
507// AddApplicationReferenceDataSourceWithContext is the same as AddApplicationReferenceDataSource with the addition of
508// the ability to pass a context and additional request options.
509//
510// See AddApplicationReferenceDataSource for details on how to use this API operation.
511//
512// The context must be non-nil and will be used for request cancellation. If
513// the context is nil a panic will occur. In the future the SDK may create
514// sub-contexts for http.Requests. See https://golang.org/pkg/context/
515// for more information on using Contexts.
516func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSourceWithContext(ctx aws.Context, input *AddApplicationReferenceDataSourceInput, opts ...request.Option) (*AddApplicationReferenceDataSourceOutput, error) {
517	req, out := c.AddApplicationReferenceDataSourceRequest(input)
518	req.SetContext(ctx)
519	req.ApplyOptions(opts...)
520	return out, req.Send()
521}
522
523const opAddApplicationVpcConfiguration = "AddApplicationVpcConfiguration"
524
525// AddApplicationVpcConfigurationRequest generates a "aws/request.Request" representing the
526// client's request for the AddApplicationVpcConfiguration operation. The "output" return
527// value will be populated with the request's response once the request completes
528// successfully.
529//
530// Use "Send" method on the returned Request to send the API call to the service.
531// the "output" return value is not valid until after Send returns without error.
532//
533// See AddApplicationVpcConfiguration for more information on using the AddApplicationVpcConfiguration
534// API call, and error handling.
535//
536// This method is useful when you want to inject custom logic or configuration
537// into the SDK's request lifecycle. Such as custom headers, or retry logic.
538//
539//
540//    // Example sending a request using the AddApplicationVpcConfigurationRequest method.
541//    req, resp := client.AddApplicationVpcConfigurationRequest(params)
542//
543//    err := req.Send()
544//    if err == nil { // resp is now filled
545//        fmt.Println(resp)
546//    }
547//
548// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationVpcConfiguration
549func (c *KinesisAnalyticsV2) AddApplicationVpcConfigurationRequest(input *AddApplicationVpcConfigurationInput) (req *request.Request, output *AddApplicationVpcConfigurationOutput) {
550	op := &request.Operation{
551		Name:       opAddApplicationVpcConfiguration,
552		HTTPMethod: "POST",
553		HTTPPath:   "/",
554	}
555
556	if input == nil {
557		input = &AddApplicationVpcConfigurationInput{}
558	}
559
560	output = &AddApplicationVpcConfigurationOutput{}
561	req = c.newRequest(op, input, output)
562	return
563}
564
565// AddApplicationVpcConfiguration API operation for Amazon Kinesis Analytics.
566//
567// Adds a Virtual Private Cloud (VPC) configuration to the application. Applications
568// can use VPCs to store and access resources securely.
569//
570// Note the following about VPC configurations for Kinesis Data Analytics applications:
571//
572//    * VPC configurations are not supported for SQL applications.
573//
574//    * When a VPC is added to a Kinesis Data Analytics application, the application
575//    can no longer be accessed from the Internet directly. To enable Internet
576//    access to the application, add an Internet gateway to your VPC.
577//
578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
579// with awserr.Error's Code and Message methods to get detailed information about
580// the error.
581//
582// See the AWS API reference guide for Amazon Kinesis Analytics's
583// API operation AddApplicationVpcConfiguration for usage and error information.
584//
585// Returned Error Codes:
586//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
587//   Specified application can't be found.
588//
589//   * ErrCodeResourceInUseException "ResourceInUseException"
590//   The application is not available for this operation.
591//
592//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
593//   The specified input parameter value is not valid.
594//
595//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
596//   Exception thrown as a result of concurrent modifications to an application.
597//   This error can be the result of attempting to modify an application without
598//   using the current application ID.
599//
600// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationVpcConfiguration
601func (c *KinesisAnalyticsV2) AddApplicationVpcConfiguration(input *AddApplicationVpcConfigurationInput) (*AddApplicationVpcConfigurationOutput, error) {
602	req, out := c.AddApplicationVpcConfigurationRequest(input)
603	return out, req.Send()
604}
605
606// AddApplicationVpcConfigurationWithContext is the same as AddApplicationVpcConfiguration with the addition of
607// the ability to pass a context and additional request options.
608//
609// See AddApplicationVpcConfiguration for details on how to use this API operation.
610//
611// The context must be non-nil and will be used for request cancellation. If
612// the context is nil a panic will occur. In the future the SDK may create
613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
614// for more information on using Contexts.
615func (c *KinesisAnalyticsV2) AddApplicationVpcConfigurationWithContext(ctx aws.Context, input *AddApplicationVpcConfigurationInput, opts ...request.Option) (*AddApplicationVpcConfigurationOutput, error) {
616	req, out := c.AddApplicationVpcConfigurationRequest(input)
617	req.SetContext(ctx)
618	req.ApplyOptions(opts...)
619	return out, req.Send()
620}
621
622const opCreateApplication = "CreateApplication"
623
624// CreateApplicationRequest generates a "aws/request.Request" representing the
625// client's request for the CreateApplication operation. The "output" return
626// value will be populated with the request's response once the request completes
627// successfully.
628//
629// Use "Send" method on the returned Request to send the API call to the service.
630// the "output" return value is not valid until after Send returns without error.
631//
632// See CreateApplication for more information on using the CreateApplication
633// API call, and error handling.
634//
635// This method is useful when you want to inject custom logic or configuration
636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
637//
638//
639//    // Example sending a request using the CreateApplicationRequest method.
640//    req, resp := client.CreateApplicationRequest(params)
641//
642//    err := req.Send()
643//    if err == nil { // resp is now filled
644//        fmt.Println(resp)
645//    }
646//
647// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplication
648func (c *KinesisAnalyticsV2) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) {
649	op := &request.Operation{
650		Name:       opCreateApplication,
651		HTTPMethod: "POST",
652		HTTPPath:   "/",
653	}
654
655	if input == nil {
656		input = &CreateApplicationInput{}
657	}
658
659	output = &CreateApplicationOutput{}
660	req = c.newRequest(op, input, output)
661	return
662}
663
664// CreateApplication API operation for Amazon Kinesis Analytics.
665//
666// Creates an Amazon Kinesis Data Analytics application. For information about
667// creating a Kinesis Data Analytics application, see Creating an Application
668// (https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html).
669//
670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
671// with awserr.Error's Code and Message methods to get detailed information about
672// the error.
673//
674// See the AWS API reference guide for Amazon Kinesis Analytics's
675// API operation CreateApplication for usage and error information.
676//
677// Returned Error Codes:
678//   * ErrCodeCodeValidationException "CodeValidationException"
679//   The user-provided application code (query) is not valid. This can be a simple
680//   syntax error.
681//
682//   * ErrCodeResourceInUseException "ResourceInUseException"
683//   The application is not available for this operation.
684//
685//   * ErrCodeLimitExceededException "LimitExceededException"
686//   The number of allowed resources has been exceeded.
687//
688//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
689//   The specified input parameter value is not valid.
690//
691//   * ErrCodeInvalidRequestException "InvalidRequestException"
692//   The request JSON is not valid for the operation.
693//
694//   * ErrCodeTooManyTagsException "TooManyTagsException"
695//   Application created with too many tags, or too many tags added to an application.
696//   Note that the maximum number of application tags includes system tags. The
697//   maximum number of user-defined application tags is 50.
698//
699//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
700//   Exception thrown as a result of concurrent modifications to an application.
701//   This error can be the result of attempting to modify an application without
702//   using the current application ID.
703//
704// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplication
705func (c *KinesisAnalyticsV2) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) {
706	req, out := c.CreateApplicationRequest(input)
707	return out, req.Send()
708}
709
710// CreateApplicationWithContext is the same as CreateApplication with the addition of
711// the ability to pass a context and additional request options.
712//
713// See CreateApplication for details on how to use this API operation.
714//
715// The context must be non-nil and will be used for request cancellation. If
716// the context is nil a panic will occur. In the future the SDK may create
717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
718// for more information on using Contexts.
719func (c *KinesisAnalyticsV2) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) {
720	req, out := c.CreateApplicationRequest(input)
721	req.SetContext(ctx)
722	req.ApplyOptions(opts...)
723	return out, req.Send()
724}
725
726const opCreateApplicationSnapshot = "CreateApplicationSnapshot"
727
728// CreateApplicationSnapshotRequest generates a "aws/request.Request" representing the
729// client's request for the CreateApplicationSnapshot operation. The "output" return
730// value will be populated with the request's response once the request completes
731// successfully.
732//
733// Use "Send" method on the returned Request to send the API call to the service.
734// the "output" return value is not valid until after Send returns without error.
735//
736// See CreateApplicationSnapshot for more information on using the CreateApplicationSnapshot
737// API call, and error handling.
738//
739// This method is useful when you want to inject custom logic or configuration
740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
741//
742//
743//    // Example sending a request using the CreateApplicationSnapshotRequest method.
744//    req, resp := client.CreateApplicationSnapshotRequest(params)
745//
746//    err := req.Send()
747//    if err == nil { // resp is now filled
748//        fmt.Println(resp)
749//    }
750//
751// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplicationSnapshot
752func (c *KinesisAnalyticsV2) CreateApplicationSnapshotRequest(input *CreateApplicationSnapshotInput) (req *request.Request, output *CreateApplicationSnapshotOutput) {
753	op := &request.Operation{
754		Name:       opCreateApplicationSnapshot,
755		HTTPMethod: "POST",
756		HTTPPath:   "/",
757	}
758
759	if input == nil {
760		input = &CreateApplicationSnapshotInput{}
761	}
762
763	output = &CreateApplicationSnapshotOutput{}
764	req = c.newRequest(op, input, output)
765	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
766	return
767}
768
769// CreateApplicationSnapshot API operation for Amazon Kinesis Analytics.
770//
771// Creates a snapshot of the application's state data.
772//
773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
774// with awserr.Error's Code and Message methods to get detailed information about
775// the error.
776//
777// See the AWS API reference guide for Amazon Kinesis Analytics's
778// API operation CreateApplicationSnapshot for usage and error information.
779//
780// Returned Error Codes:
781//   * ErrCodeResourceInUseException "ResourceInUseException"
782//   The application is not available for this operation.
783//
784//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
785//   Specified application can't be found.
786//
787//   * ErrCodeLimitExceededException "LimitExceededException"
788//   The number of allowed resources has been exceeded.
789//
790//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
791//   The specified input parameter value is not valid.
792//
793//   * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
794//   The request was rejected because a specified parameter is not supported or
795//   a specified resource is not valid for this operation.
796//
797//   * ErrCodeInvalidRequestException "InvalidRequestException"
798//   The request JSON is not valid for the operation.
799//
800// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/CreateApplicationSnapshot
801func (c *KinesisAnalyticsV2) CreateApplicationSnapshot(input *CreateApplicationSnapshotInput) (*CreateApplicationSnapshotOutput, error) {
802	req, out := c.CreateApplicationSnapshotRequest(input)
803	return out, req.Send()
804}
805
806// CreateApplicationSnapshotWithContext is the same as CreateApplicationSnapshot with the addition of
807// the ability to pass a context and additional request options.
808//
809// See CreateApplicationSnapshot for details on how to use this API operation.
810//
811// The context must be non-nil and will be used for request cancellation. If
812// the context is nil a panic will occur. In the future the SDK may create
813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
814// for more information on using Contexts.
815func (c *KinesisAnalyticsV2) CreateApplicationSnapshotWithContext(ctx aws.Context, input *CreateApplicationSnapshotInput, opts ...request.Option) (*CreateApplicationSnapshotOutput, error) {
816	req, out := c.CreateApplicationSnapshotRequest(input)
817	req.SetContext(ctx)
818	req.ApplyOptions(opts...)
819	return out, req.Send()
820}
821
822const opDeleteApplication = "DeleteApplication"
823
824// DeleteApplicationRequest generates a "aws/request.Request" representing the
825// client's request for the DeleteApplication operation. The "output" return
826// value will be populated with the request's response once the request completes
827// successfully.
828//
829// Use "Send" method on the returned Request to send the API call to the service.
830// the "output" return value is not valid until after Send returns without error.
831//
832// See DeleteApplication for more information on using the DeleteApplication
833// API call, and error handling.
834//
835// This method is useful when you want to inject custom logic or configuration
836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
837//
838//
839//    // Example sending a request using the DeleteApplicationRequest method.
840//    req, resp := client.DeleteApplicationRequest(params)
841//
842//    err := req.Send()
843//    if err == nil { // resp is now filled
844//        fmt.Println(resp)
845//    }
846//
847// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplication
848func (c *KinesisAnalyticsV2) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
849	op := &request.Operation{
850		Name:       opDeleteApplication,
851		HTTPMethod: "POST",
852		HTTPPath:   "/",
853	}
854
855	if input == nil {
856		input = &DeleteApplicationInput{}
857	}
858
859	output = &DeleteApplicationOutput{}
860	req = c.newRequest(op, input, output)
861	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
862	return
863}
864
865// DeleteApplication API operation for Amazon Kinesis Analytics.
866//
867// Deletes the specified application. Kinesis Data Analytics halts application
868// execution and deletes the application.
869//
870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
871// with awserr.Error's Code and Message methods to get detailed information about
872// the error.
873//
874// See the AWS API reference guide for Amazon Kinesis Analytics's
875// API operation DeleteApplication for usage and error information.
876//
877// Returned Error Codes:
878//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
879//   Exception thrown as a result of concurrent modifications to an application.
880//   This error can be the result of attempting to modify an application without
881//   using the current application ID.
882//
883//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
884//   Specified application can't be found.
885//
886//   * ErrCodeResourceInUseException "ResourceInUseException"
887//   The application is not available for this operation.
888//
889//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
890//   The specified input parameter value is not valid.
891//
892//   * ErrCodeInvalidRequestException "InvalidRequestException"
893//   The request JSON is not valid for the operation.
894//
895//   * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException"
896//   The user-provided application configuration is not valid.
897//
898// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplication
899func (c *KinesisAnalyticsV2) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
900	req, out := c.DeleteApplicationRequest(input)
901	return out, req.Send()
902}
903
904// DeleteApplicationWithContext is the same as DeleteApplication with the addition of
905// the ability to pass a context and additional request options.
906//
907// See DeleteApplication for details on how to use this API operation.
908//
909// The context must be non-nil and will be used for request cancellation. If
910// the context is nil a panic will occur. In the future the SDK may create
911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
912// for more information on using Contexts.
913func (c *KinesisAnalyticsV2) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
914	req, out := c.DeleteApplicationRequest(input)
915	req.SetContext(ctx)
916	req.ApplyOptions(opts...)
917	return out, req.Send()
918}
919
920const opDeleteApplicationCloudWatchLoggingOption = "DeleteApplicationCloudWatchLoggingOption"
921
922// DeleteApplicationCloudWatchLoggingOptionRequest generates a "aws/request.Request" representing the
923// client's request for the DeleteApplicationCloudWatchLoggingOption operation. The "output" return
924// value will be populated with the request's response once the request completes
925// successfully.
926//
927// Use "Send" method on the returned Request to send the API call to the service.
928// the "output" return value is not valid until after Send returns without error.
929//
930// See DeleteApplicationCloudWatchLoggingOption for more information on using the DeleteApplicationCloudWatchLoggingOption
931// API call, and error handling.
932//
933// This method is useful when you want to inject custom logic or configuration
934// into the SDK's request lifecycle. Such as custom headers, or retry logic.
935//
936//
937//    // Example sending a request using the DeleteApplicationCloudWatchLoggingOptionRequest method.
938//    req, resp := client.DeleteApplicationCloudWatchLoggingOptionRequest(params)
939//
940//    err := req.Send()
941//    if err == nil { // resp is now filled
942//        fmt.Println(resp)
943//    }
944//
945// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationCloudWatchLoggingOption
946func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOptionRequest(input *DeleteApplicationCloudWatchLoggingOptionInput) (req *request.Request, output *DeleteApplicationCloudWatchLoggingOptionOutput) {
947	op := &request.Operation{
948		Name:       opDeleteApplicationCloudWatchLoggingOption,
949		HTTPMethod: "POST",
950		HTTPPath:   "/",
951	}
952
953	if input == nil {
954		input = &DeleteApplicationCloudWatchLoggingOptionInput{}
955	}
956
957	output = &DeleteApplicationCloudWatchLoggingOptionOutput{}
958	req = c.newRequest(op, input, output)
959	return
960}
961
962// DeleteApplicationCloudWatchLoggingOption API operation for Amazon Kinesis Analytics.
963//
964// Deletes an Amazon CloudWatch log stream from an Amazon Kinesis Data Analytics
965// application.
966//
967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
968// with awserr.Error's Code and Message methods to get detailed information about
969// the error.
970//
971// See the AWS API reference guide for Amazon Kinesis Analytics's
972// API operation DeleteApplicationCloudWatchLoggingOption for usage and error information.
973//
974// Returned Error Codes:
975//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
976//   Specified application can't be found.
977//
978//   * ErrCodeResourceInUseException "ResourceInUseException"
979//   The application is not available for this operation.
980//
981//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
982//   The specified input parameter value is not valid.
983//
984//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
985//   Exception thrown as a result of concurrent modifications to an application.
986//   This error can be the result of attempting to modify an application without
987//   using the current application ID.
988//
989//   * ErrCodeInvalidRequestException "InvalidRequestException"
990//   The request JSON is not valid for the operation.
991//
992//   * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException"
993//   The user-provided application configuration is not valid.
994//
995// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationCloudWatchLoggingOption
996func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOption(input *DeleteApplicationCloudWatchLoggingOptionInput) (*DeleteApplicationCloudWatchLoggingOptionOutput, error) {
997	req, out := c.DeleteApplicationCloudWatchLoggingOptionRequest(input)
998	return out, req.Send()
999}
1000
1001// DeleteApplicationCloudWatchLoggingOptionWithContext is the same as DeleteApplicationCloudWatchLoggingOption with the addition of
1002// the ability to pass a context and additional request options.
1003//
1004// See DeleteApplicationCloudWatchLoggingOption for details on how to use this API operation.
1005//
1006// The context must be non-nil and will be used for request cancellation. If
1007// the context is nil a panic will occur. In the future the SDK may create
1008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1009// for more information on using Contexts.
1010func (c *KinesisAnalyticsV2) DeleteApplicationCloudWatchLoggingOptionWithContext(ctx aws.Context, input *DeleteApplicationCloudWatchLoggingOptionInput, opts ...request.Option) (*DeleteApplicationCloudWatchLoggingOptionOutput, error) {
1011	req, out := c.DeleteApplicationCloudWatchLoggingOptionRequest(input)
1012	req.SetContext(ctx)
1013	req.ApplyOptions(opts...)
1014	return out, req.Send()
1015}
1016
1017const opDeleteApplicationInputProcessingConfiguration = "DeleteApplicationInputProcessingConfiguration"
1018
1019// DeleteApplicationInputProcessingConfigurationRequest generates a "aws/request.Request" representing the
1020// client's request for the DeleteApplicationInputProcessingConfiguration operation. The "output" return
1021// value will be populated with the request's response once the request completes
1022// successfully.
1023//
1024// Use "Send" method on the returned Request to send the API call to the service.
1025// the "output" return value is not valid until after Send returns without error.
1026//
1027// See DeleteApplicationInputProcessingConfiguration for more information on using the DeleteApplicationInputProcessingConfiguration
1028// API call, and error handling.
1029//
1030// This method is useful when you want to inject custom logic or configuration
1031// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1032//
1033//
1034//    // Example sending a request using the DeleteApplicationInputProcessingConfigurationRequest method.
1035//    req, resp := client.DeleteApplicationInputProcessingConfigurationRequest(params)
1036//
1037//    err := req.Send()
1038//    if err == nil { // resp is now filled
1039//        fmt.Println(resp)
1040//    }
1041//
1042// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationInputProcessingConfiguration
1043func (c *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfigurationRequest(input *DeleteApplicationInputProcessingConfigurationInput) (req *request.Request, output *DeleteApplicationInputProcessingConfigurationOutput) {
1044	op := &request.Operation{
1045		Name:       opDeleteApplicationInputProcessingConfiguration,
1046		HTTPMethod: "POST",
1047		HTTPPath:   "/",
1048	}
1049
1050	if input == nil {
1051		input = &DeleteApplicationInputProcessingConfigurationInput{}
1052	}
1053
1054	output = &DeleteApplicationInputProcessingConfigurationOutput{}
1055	req = c.newRequest(op, input, output)
1056	return
1057}
1058
1059// DeleteApplicationInputProcessingConfiguration API operation for Amazon Kinesis Analytics.
1060//
1061// Deletes an InputProcessingConfiguration from an input.
1062//
1063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1064// with awserr.Error's Code and Message methods to get detailed information about
1065// the error.
1066//
1067// See the AWS API reference guide for Amazon Kinesis Analytics's
1068// API operation DeleteApplicationInputProcessingConfiguration for usage and error information.
1069//
1070// Returned Error Codes:
1071//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1072//   Specified application can't be found.
1073//
1074//   * ErrCodeResourceInUseException "ResourceInUseException"
1075//   The application is not available for this operation.
1076//
1077//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1078//   The specified input parameter value is not valid.
1079//
1080//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1081//   Exception thrown as a result of concurrent modifications to an application.
1082//   This error can be the result of attempting to modify an application without
1083//   using the current application ID.
1084//
1085//   * ErrCodeInvalidRequestException "InvalidRequestException"
1086//   The request JSON is not valid for the operation.
1087//
1088// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationInputProcessingConfiguration
1089func (c *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfiguration(input *DeleteApplicationInputProcessingConfigurationInput) (*DeleteApplicationInputProcessingConfigurationOutput, error) {
1090	req, out := c.DeleteApplicationInputProcessingConfigurationRequest(input)
1091	return out, req.Send()
1092}
1093
1094// DeleteApplicationInputProcessingConfigurationWithContext is the same as DeleteApplicationInputProcessingConfiguration with the addition of
1095// the ability to pass a context and additional request options.
1096//
1097// See DeleteApplicationInputProcessingConfiguration for details on how to use this API operation.
1098//
1099// The context must be non-nil and will be used for request cancellation. If
1100// the context is nil a panic will occur. In the future the SDK may create
1101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1102// for more information on using Contexts.
1103func (c *KinesisAnalyticsV2) DeleteApplicationInputProcessingConfigurationWithContext(ctx aws.Context, input *DeleteApplicationInputProcessingConfigurationInput, opts ...request.Option) (*DeleteApplicationInputProcessingConfigurationOutput, error) {
1104	req, out := c.DeleteApplicationInputProcessingConfigurationRequest(input)
1105	req.SetContext(ctx)
1106	req.ApplyOptions(opts...)
1107	return out, req.Send()
1108}
1109
1110const opDeleteApplicationOutput = "DeleteApplicationOutput"
1111
1112// DeleteApplicationOutputRequest generates a "aws/request.Request" representing the
1113// client's request for the DeleteApplicationOutput operation. The "output" return
1114// value will be populated with the request's response once the request completes
1115// successfully.
1116//
1117// Use "Send" method on the returned Request to send the API call to the service.
1118// the "output" return value is not valid until after Send returns without error.
1119//
1120// See DeleteApplicationOutput for more information on using the DeleteApplicationOutput
1121// API call, and error handling.
1122//
1123// This method is useful when you want to inject custom logic or configuration
1124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1125//
1126//
1127//    // Example sending a request using the DeleteApplicationOutputRequest method.
1128//    req, resp := client.DeleteApplicationOutputRequest(params)
1129//
1130//    err := req.Send()
1131//    if err == nil { // resp is now filled
1132//        fmt.Println(resp)
1133//    }
1134//
1135// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationOutput
1136func (c *KinesisAnalyticsV2) DeleteApplicationOutputRequest(input *DeleteApplicationOutputInput) (req *request.Request, output *DeleteApplicationOutputOutput) {
1137	op := &request.Operation{
1138		Name:       opDeleteApplicationOutput,
1139		HTTPMethod: "POST",
1140		HTTPPath:   "/",
1141	}
1142
1143	if input == nil {
1144		input = &DeleteApplicationOutputInput{}
1145	}
1146
1147	output = &DeleteApplicationOutputOutput{}
1148	req = c.newRequest(op, input, output)
1149	return
1150}
1151
1152// DeleteApplicationOutput API operation for Amazon Kinesis Analytics.
1153//
1154// Deletes the output destination configuration from your SQL-based Amazon Kinesis
1155// Data Analytics application's configuration. Kinesis Data Analytics will no
1156// longer write data from the corresponding in-application stream to the external
1157// output destination.
1158//
1159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1160// with awserr.Error's Code and Message methods to get detailed information about
1161// the error.
1162//
1163// See the AWS API reference guide for Amazon Kinesis Analytics's
1164// API operation DeleteApplicationOutput for usage and error information.
1165//
1166// Returned Error Codes:
1167//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1168//   Specified application can't be found.
1169//
1170//   * ErrCodeResourceInUseException "ResourceInUseException"
1171//   The application is not available for this operation.
1172//
1173//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1174//   The specified input parameter value is not valid.
1175//
1176//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1177//   Exception thrown as a result of concurrent modifications to an application.
1178//   This error can be the result of attempting to modify an application without
1179//   using the current application ID.
1180//
1181//   * ErrCodeInvalidRequestException "InvalidRequestException"
1182//   The request JSON is not valid for the operation.
1183//
1184// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationOutput
1185func (c *KinesisAnalyticsV2) DeleteApplicationOutput(input *DeleteApplicationOutputInput) (*DeleteApplicationOutputOutput, error) {
1186	req, out := c.DeleteApplicationOutputRequest(input)
1187	return out, req.Send()
1188}
1189
1190// DeleteApplicationOutputWithContext is the same as DeleteApplicationOutput with the addition of
1191// the ability to pass a context and additional request options.
1192//
1193// See DeleteApplicationOutput for details on how to use this API operation.
1194//
1195// The context must be non-nil and will be used for request cancellation. If
1196// the context is nil a panic will occur. In the future the SDK may create
1197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1198// for more information on using Contexts.
1199func (c *KinesisAnalyticsV2) DeleteApplicationOutputWithContext(ctx aws.Context, input *DeleteApplicationOutputInput, opts ...request.Option) (*DeleteApplicationOutputOutput, error) {
1200	req, out := c.DeleteApplicationOutputRequest(input)
1201	req.SetContext(ctx)
1202	req.ApplyOptions(opts...)
1203	return out, req.Send()
1204}
1205
1206const opDeleteApplicationReferenceDataSource = "DeleteApplicationReferenceDataSource"
1207
1208// DeleteApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the
1209// client's request for the DeleteApplicationReferenceDataSource operation. The "output" return
1210// value will be populated with the request's response once the request completes
1211// successfully.
1212//
1213// Use "Send" method on the returned Request to send the API call to the service.
1214// the "output" return value is not valid until after Send returns without error.
1215//
1216// See DeleteApplicationReferenceDataSource for more information on using the DeleteApplicationReferenceDataSource
1217// API call, and error handling.
1218//
1219// This method is useful when you want to inject custom logic or configuration
1220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1221//
1222//
1223//    // Example sending a request using the DeleteApplicationReferenceDataSourceRequest method.
1224//    req, resp := client.DeleteApplicationReferenceDataSourceRequest(params)
1225//
1226//    err := req.Send()
1227//    if err == nil { // resp is now filled
1228//        fmt.Println(resp)
1229//    }
1230//
1231// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationReferenceDataSource
1232func (c *KinesisAnalyticsV2) DeleteApplicationReferenceDataSourceRequest(input *DeleteApplicationReferenceDataSourceInput) (req *request.Request, output *DeleteApplicationReferenceDataSourceOutput) {
1233	op := &request.Operation{
1234		Name:       opDeleteApplicationReferenceDataSource,
1235		HTTPMethod: "POST",
1236		HTTPPath:   "/",
1237	}
1238
1239	if input == nil {
1240		input = &DeleteApplicationReferenceDataSourceInput{}
1241	}
1242
1243	output = &DeleteApplicationReferenceDataSourceOutput{}
1244	req = c.newRequest(op, input, output)
1245	return
1246}
1247
1248// DeleteApplicationReferenceDataSource API operation for Amazon Kinesis Analytics.
1249//
1250// Deletes a reference data source configuration from the specified SQL-based
1251// Amazon Kinesis Data Analytics application's configuration.
1252//
1253// If the application is running, Kinesis Data Analytics immediately removes
1254// the in-application table that you created using the AddApplicationReferenceDataSource
1255// operation.
1256//
1257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1258// with awserr.Error's Code and Message methods to get detailed information about
1259// the error.
1260//
1261// See the AWS API reference guide for Amazon Kinesis Analytics's
1262// API operation DeleteApplicationReferenceDataSource for usage and error information.
1263//
1264// Returned Error Codes:
1265//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1266//   Specified application can't be found.
1267//
1268//   * ErrCodeResourceInUseException "ResourceInUseException"
1269//   The application is not available for this operation.
1270//
1271//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1272//   The specified input parameter value is not valid.
1273//
1274//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1275//   Exception thrown as a result of concurrent modifications to an application.
1276//   This error can be the result of attempting to modify an application without
1277//   using the current application ID.
1278//
1279//   * ErrCodeInvalidRequestException "InvalidRequestException"
1280//   The request JSON is not valid for the operation.
1281//
1282// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationReferenceDataSource
1283func (c *KinesisAnalyticsV2) DeleteApplicationReferenceDataSource(input *DeleteApplicationReferenceDataSourceInput) (*DeleteApplicationReferenceDataSourceOutput, error) {
1284	req, out := c.DeleteApplicationReferenceDataSourceRequest(input)
1285	return out, req.Send()
1286}
1287
1288// DeleteApplicationReferenceDataSourceWithContext is the same as DeleteApplicationReferenceDataSource with the addition of
1289// the ability to pass a context and additional request options.
1290//
1291// See DeleteApplicationReferenceDataSource for details on how to use this API operation.
1292//
1293// The context must be non-nil and will be used for request cancellation. If
1294// the context is nil a panic will occur. In the future the SDK may create
1295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1296// for more information on using Contexts.
1297func (c *KinesisAnalyticsV2) DeleteApplicationReferenceDataSourceWithContext(ctx aws.Context, input *DeleteApplicationReferenceDataSourceInput, opts ...request.Option) (*DeleteApplicationReferenceDataSourceOutput, error) {
1298	req, out := c.DeleteApplicationReferenceDataSourceRequest(input)
1299	req.SetContext(ctx)
1300	req.ApplyOptions(opts...)
1301	return out, req.Send()
1302}
1303
1304const opDeleteApplicationSnapshot = "DeleteApplicationSnapshot"
1305
1306// DeleteApplicationSnapshotRequest generates a "aws/request.Request" representing the
1307// client's request for the DeleteApplicationSnapshot operation. The "output" return
1308// value will be populated with the request's response once the request completes
1309// successfully.
1310//
1311// Use "Send" method on the returned Request to send the API call to the service.
1312// the "output" return value is not valid until after Send returns without error.
1313//
1314// See DeleteApplicationSnapshot for more information on using the DeleteApplicationSnapshot
1315// API call, and error handling.
1316//
1317// This method is useful when you want to inject custom logic or configuration
1318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1319//
1320//
1321//    // Example sending a request using the DeleteApplicationSnapshotRequest method.
1322//    req, resp := client.DeleteApplicationSnapshotRequest(params)
1323//
1324//    err := req.Send()
1325//    if err == nil { // resp is now filled
1326//        fmt.Println(resp)
1327//    }
1328//
1329// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationSnapshot
1330func (c *KinesisAnalyticsV2) DeleteApplicationSnapshotRequest(input *DeleteApplicationSnapshotInput) (req *request.Request, output *DeleteApplicationSnapshotOutput) {
1331	op := &request.Operation{
1332		Name:       opDeleteApplicationSnapshot,
1333		HTTPMethod: "POST",
1334		HTTPPath:   "/",
1335	}
1336
1337	if input == nil {
1338		input = &DeleteApplicationSnapshotInput{}
1339	}
1340
1341	output = &DeleteApplicationSnapshotOutput{}
1342	req = c.newRequest(op, input, output)
1343	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1344	return
1345}
1346
1347// DeleteApplicationSnapshot API operation for Amazon Kinesis Analytics.
1348//
1349// Deletes a snapshot of application state.
1350//
1351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1352// with awserr.Error's Code and Message methods to get detailed information about
1353// the error.
1354//
1355// See the AWS API reference guide for Amazon Kinesis Analytics's
1356// API operation DeleteApplicationSnapshot for usage and error information.
1357//
1358// Returned Error Codes:
1359//   * ErrCodeResourceInUseException "ResourceInUseException"
1360//   The application is not available for this operation.
1361//
1362//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1363//   The specified input parameter value is not valid.
1364//
1365//   * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
1366//   The request was rejected because a specified parameter is not supported or
1367//   a specified resource is not valid for this operation.
1368//
1369//   * ErrCodeInvalidRequestException "InvalidRequestException"
1370//   The request JSON is not valid for the operation.
1371//
1372//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1373//   Specified application can't be found.
1374//
1375// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationSnapshot
1376func (c *KinesisAnalyticsV2) DeleteApplicationSnapshot(input *DeleteApplicationSnapshotInput) (*DeleteApplicationSnapshotOutput, error) {
1377	req, out := c.DeleteApplicationSnapshotRequest(input)
1378	return out, req.Send()
1379}
1380
1381// DeleteApplicationSnapshotWithContext is the same as DeleteApplicationSnapshot with the addition of
1382// the ability to pass a context and additional request options.
1383//
1384// See DeleteApplicationSnapshot for details on how to use this API operation.
1385//
1386// The context must be non-nil and will be used for request cancellation. If
1387// the context is nil a panic will occur. In the future the SDK may create
1388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1389// for more information on using Contexts.
1390func (c *KinesisAnalyticsV2) DeleteApplicationSnapshotWithContext(ctx aws.Context, input *DeleteApplicationSnapshotInput, opts ...request.Option) (*DeleteApplicationSnapshotOutput, error) {
1391	req, out := c.DeleteApplicationSnapshotRequest(input)
1392	req.SetContext(ctx)
1393	req.ApplyOptions(opts...)
1394	return out, req.Send()
1395}
1396
1397const opDeleteApplicationVpcConfiguration = "DeleteApplicationVpcConfiguration"
1398
1399// DeleteApplicationVpcConfigurationRequest generates a "aws/request.Request" representing the
1400// client's request for the DeleteApplicationVpcConfiguration operation. The "output" return
1401// value will be populated with the request's response once the request completes
1402// successfully.
1403//
1404// Use "Send" method on the returned Request to send the API call to the service.
1405// the "output" return value is not valid until after Send returns without error.
1406//
1407// See DeleteApplicationVpcConfiguration for more information on using the DeleteApplicationVpcConfiguration
1408// API call, and error handling.
1409//
1410// This method is useful when you want to inject custom logic or configuration
1411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1412//
1413//
1414//    // Example sending a request using the DeleteApplicationVpcConfigurationRequest method.
1415//    req, resp := client.DeleteApplicationVpcConfigurationRequest(params)
1416//
1417//    err := req.Send()
1418//    if err == nil { // resp is now filled
1419//        fmt.Println(resp)
1420//    }
1421//
1422// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationVpcConfiguration
1423func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfigurationRequest(input *DeleteApplicationVpcConfigurationInput) (req *request.Request, output *DeleteApplicationVpcConfigurationOutput) {
1424	op := &request.Operation{
1425		Name:       opDeleteApplicationVpcConfiguration,
1426		HTTPMethod: "POST",
1427		HTTPPath:   "/",
1428	}
1429
1430	if input == nil {
1431		input = &DeleteApplicationVpcConfigurationInput{}
1432	}
1433
1434	output = &DeleteApplicationVpcConfigurationOutput{}
1435	req = c.newRequest(op, input, output)
1436	return
1437}
1438
1439// DeleteApplicationVpcConfiguration API operation for Amazon Kinesis Analytics.
1440//
1441// Removes a VPC configuration from a Kinesis Data Analytics application.
1442//
1443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1444// with awserr.Error's Code and Message methods to get detailed information about
1445// the error.
1446//
1447// See the AWS API reference guide for Amazon Kinesis Analytics's
1448// API operation DeleteApplicationVpcConfiguration for usage and error information.
1449//
1450// Returned Error Codes:
1451//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1452//   Specified application can't be found.
1453//
1454//   * ErrCodeResourceInUseException "ResourceInUseException"
1455//   The application is not available for this operation.
1456//
1457//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1458//   The specified input parameter value is not valid.
1459//
1460//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1461//   Exception thrown as a result of concurrent modifications to an application.
1462//   This error can be the result of attempting to modify an application without
1463//   using the current application ID.
1464//
1465// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationVpcConfiguration
1466func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfiguration(input *DeleteApplicationVpcConfigurationInput) (*DeleteApplicationVpcConfigurationOutput, error) {
1467	req, out := c.DeleteApplicationVpcConfigurationRequest(input)
1468	return out, req.Send()
1469}
1470
1471// DeleteApplicationVpcConfigurationWithContext is the same as DeleteApplicationVpcConfiguration with the addition of
1472// the ability to pass a context and additional request options.
1473//
1474// See DeleteApplicationVpcConfiguration for details on how to use this API operation.
1475//
1476// The context must be non-nil and will be used for request cancellation. If
1477// the context is nil a panic will occur. In the future the SDK may create
1478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1479// for more information on using Contexts.
1480func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfigurationWithContext(ctx aws.Context, input *DeleteApplicationVpcConfigurationInput, opts ...request.Option) (*DeleteApplicationVpcConfigurationOutput, error) {
1481	req, out := c.DeleteApplicationVpcConfigurationRequest(input)
1482	req.SetContext(ctx)
1483	req.ApplyOptions(opts...)
1484	return out, req.Send()
1485}
1486
1487const opDescribeApplication = "DescribeApplication"
1488
1489// DescribeApplicationRequest generates a "aws/request.Request" representing the
1490// client's request for the DescribeApplication operation. The "output" return
1491// value will be populated with the request's response once the request completes
1492// successfully.
1493//
1494// Use "Send" method on the returned Request to send the API call to the service.
1495// the "output" return value is not valid until after Send returns without error.
1496//
1497// See DescribeApplication for more information on using the DescribeApplication
1498// API call, and error handling.
1499//
1500// This method is useful when you want to inject custom logic or configuration
1501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1502//
1503//
1504//    // Example sending a request using the DescribeApplicationRequest method.
1505//    req, resp := client.DescribeApplicationRequest(params)
1506//
1507//    err := req.Send()
1508//    if err == nil { // resp is now filled
1509//        fmt.Println(resp)
1510//    }
1511//
1512// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplication
1513func (c *KinesisAnalyticsV2) DescribeApplicationRequest(input *DescribeApplicationInput) (req *request.Request, output *DescribeApplicationOutput) {
1514	op := &request.Operation{
1515		Name:       opDescribeApplication,
1516		HTTPMethod: "POST",
1517		HTTPPath:   "/",
1518	}
1519
1520	if input == nil {
1521		input = &DescribeApplicationInput{}
1522	}
1523
1524	output = &DescribeApplicationOutput{}
1525	req = c.newRequest(op, input, output)
1526	return
1527}
1528
1529// DescribeApplication API operation for Amazon Kinesis Analytics.
1530//
1531// Returns information about a specific Amazon Kinesis Data Analytics application.
1532//
1533// If you want to retrieve a list of all applications in your account, use the
1534// ListApplications operation.
1535//
1536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1537// with awserr.Error's Code and Message methods to get detailed information about
1538// the error.
1539//
1540// See the AWS API reference guide for Amazon Kinesis Analytics's
1541// API operation DescribeApplication for usage and error information.
1542//
1543// Returned Error Codes:
1544//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1545//   Specified application can't be found.
1546//
1547//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1548//   The specified input parameter value is not valid.
1549//
1550//   * ErrCodeInvalidRequestException "InvalidRequestException"
1551//   The request JSON is not valid for the operation.
1552//
1553// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplication
1554func (c *KinesisAnalyticsV2) DescribeApplication(input *DescribeApplicationInput) (*DescribeApplicationOutput, error) {
1555	req, out := c.DescribeApplicationRequest(input)
1556	return out, req.Send()
1557}
1558
1559// DescribeApplicationWithContext is the same as DescribeApplication with the addition of
1560// the ability to pass a context and additional request options.
1561//
1562// See DescribeApplication for details on how to use this API operation.
1563//
1564// The context must be non-nil and will be used for request cancellation. If
1565// the context is nil a panic will occur. In the future the SDK may create
1566// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1567// for more information on using Contexts.
1568func (c *KinesisAnalyticsV2) DescribeApplicationWithContext(ctx aws.Context, input *DescribeApplicationInput, opts ...request.Option) (*DescribeApplicationOutput, error) {
1569	req, out := c.DescribeApplicationRequest(input)
1570	req.SetContext(ctx)
1571	req.ApplyOptions(opts...)
1572	return out, req.Send()
1573}
1574
1575const opDescribeApplicationSnapshot = "DescribeApplicationSnapshot"
1576
1577// DescribeApplicationSnapshotRequest generates a "aws/request.Request" representing the
1578// client's request for the DescribeApplicationSnapshot operation. The "output" return
1579// value will be populated with the request's response once the request completes
1580// successfully.
1581//
1582// Use "Send" method on the returned Request to send the API call to the service.
1583// the "output" return value is not valid until after Send returns without error.
1584//
1585// See DescribeApplicationSnapshot for more information on using the DescribeApplicationSnapshot
1586// API call, and error handling.
1587//
1588// This method is useful when you want to inject custom logic or configuration
1589// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1590//
1591//
1592//    // Example sending a request using the DescribeApplicationSnapshotRequest method.
1593//    req, resp := client.DescribeApplicationSnapshotRequest(params)
1594//
1595//    err := req.Send()
1596//    if err == nil { // resp is now filled
1597//        fmt.Println(resp)
1598//    }
1599//
1600// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplicationSnapshot
1601func (c *KinesisAnalyticsV2) DescribeApplicationSnapshotRequest(input *DescribeApplicationSnapshotInput) (req *request.Request, output *DescribeApplicationSnapshotOutput) {
1602	op := &request.Operation{
1603		Name:       opDescribeApplicationSnapshot,
1604		HTTPMethod: "POST",
1605		HTTPPath:   "/",
1606	}
1607
1608	if input == nil {
1609		input = &DescribeApplicationSnapshotInput{}
1610	}
1611
1612	output = &DescribeApplicationSnapshotOutput{}
1613	req = c.newRequest(op, input, output)
1614	return
1615}
1616
1617// DescribeApplicationSnapshot API operation for Amazon Kinesis Analytics.
1618//
1619// Returns information about a snapshot of application state data.
1620//
1621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1622// with awserr.Error's Code and Message methods to get detailed information about
1623// the error.
1624//
1625// See the AWS API reference guide for Amazon Kinesis Analytics's
1626// API operation DescribeApplicationSnapshot for usage and error information.
1627//
1628// Returned Error Codes:
1629//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1630//   Specified application can't be found.
1631//
1632//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1633//   The specified input parameter value is not valid.
1634//
1635//   * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
1636//   The request was rejected because a specified parameter is not supported or
1637//   a specified resource is not valid for this operation.
1638//
1639// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DescribeApplicationSnapshot
1640func (c *KinesisAnalyticsV2) DescribeApplicationSnapshot(input *DescribeApplicationSnapshotInput) (*DescribeApplicationSnapshotOutput, error) {
1641	req, out := c.DescribeApplicationSnapshotRequest(input)
1642	return out, req.Send()
1643}
1644
1645// DescribeApplicationSnapshotWithContext is the same as DescribeApplicationSnapshot with the addition of
1646// the ability to pass a context and additional request options.
1647//
1648// See DescribeApplicationSnapshot for details on how to use this API operation.
1649//
1650// The context must be non-nil and will be used for request cancellation. If
1651// the context is nil a panic will occur. In the future the SDK may create
1652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1653// for more information on using Contexts.
1654func (c *KinesisAnalyticsV2) DescribeApplicationSnapshotWithContext(ctx aws.Context, input *DescribeApplicationSnapshotInput, opts ...request.Option) (*DescribeApplicationSnapshotOutput, error) {
1655	req, out := c.DescribeApplicationSnapshotRequest(input)
1656	req.SetContext(ctx)
1657	req.ApplyOptions(opts...)
1658	return out, req.Send()
1659}
1660
1661const opDiscoverInputSchema = "DiscoverInputSchema"
1662
1663// DiscoverInputSchemaRequest generates a "aws/request.Request" representing the
1664// client's request for the DiscoverInputSchema operation. The "output" return
1665// value will be populated with the request's response once the request completes
1666// successfully.
1667//
1668// Use "Send" method on the returned Request to send the API call to the service.
1669// the "output" return value is not valid until after Send returns without error.
1670//
1671// See DiscoverInputSchema for more information on using the DiscoverInputSchema
1672// API call, and error handling.
1673//
1674// This method is useful when you want to inject custom logic or configuration
1675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1676//
1677//
1678//    // Example sending a request using the DiscoverInputSchemaRequest method.
1679//    req, resp := client.DiscoverInputSchemaRequest(params)
1680//
1681//    err := req.Send()
1682//    if err == nil { // resp is now filled
1683//        fmt.Println(resp)
1684//    }
1685//
1686// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema
1687func (c *KinesisAnalyticsV2) DiscoverInputSchemaRequest(input *DiscoverInputSchemaInput) (req *request.Request, output *DiscoverInputSchemaOutput) {
1688	op := &request.Operation{
1689		Name:       opDiscoverInputSchema,
1690		HTTPMethod: "POST",
1691		HTTPPath:   "/",
1692	}
1693
1694	if input == nil {
1695		input = &DiscoverInputSchemaInput{}
1696	}
1697
1698	output = &DiscoverInputSchemaOutput{}
1699	req = c.newRequest(op, input, output)
1700	return
1701}
1702
1703// DiscoverInputSchema API operation for Amazon Kinesis Analytics.
1704//
1705// Infers a schema for an SQL-based Amazon Kinesis Data Analytics application
1706// by evaluating sample records on the specified streaming source (Kinesis data
1707// stream or Kinesis Data Firehose delivery stream) or Amazon S3 object. In
1708// the response, the operation returns the inferred schema and also the sample
1709// records that the operation used to infer the schema.
1710//
1711// You can use the inferred schema when configuring a streaming source for your
1712// application. When you create an application using the Kinesis Data Analytics
1713// console, the console uses this operation to infer a schema and show it in
1714// the console user interface.
1715//
1716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1717// with awserr.Error's Code and Message methods to get detailed information about
1718// the error.
1719//
1720// See the AWS API reference guide for Amazon Kinesis Analytics's
1721// API operation DiscoverInputSchema for usage and error information.
1722//
1723// Returned Error Codes:
1724//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1725//   The specified input parameter value is not valid.
1726//
1727//   * ErrCodeUnableToDetectSchemaException "UnableToDetectSchemaException"
1728//   The data format is not valid. Amazon Kinesis Data Analytics cannot detect
1729//   the schema for the given streaming source.
1730//
1731//   * ErrCodeResourceProvisionedThroughputExceededException "ResourceProvisionedThroughputExceededException"
1732//   Discovery failed to get a record from the streaming source because of the
1733//   Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information,
1734//   see GetRecords (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html)
1735//   in the Amazon Kinesis Streams API Reference.
1736//
1737//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1738//   The service cannot complete the request.
1739//
1740//   * ErrCodeInvalidRequestException "InvalidRequestException"
1741//   The request JSON is not valid for the operation.
1742//
1743// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DiscoverInputSchema
1744func (c *KinesisAnalyticsV2) DiscoverInputSchema(input *DiscoverInputSchemaInput) (*DiscoverInputSchemaOutput, error) {
1745	req, out := c.DiscoverInputSchemaRequest(input)
1746	return out, req.Send()
1747}
1748
1749// DiscoverInputSchemaWithContext is the same as DiscoverInputSchema with the addition of
1750// the ability to pass a context and additional request options.
1751//
1752// See DiscoverInputSchema for details on how to use this API operation.
1753//
1754// The context must be non-nil and will be used for request cancellation. If
1755// the context is nil a panic will occur. In the future the SDK may create
1756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1757// for more information on using Contexts.
1758func (c *KinesisAnalyticsV2) DiscoverInputSchemaWithContext(ctx aws.Context, input *DiscoverInputSchemaInput, opts ...request.Option) (*DiscoverInputSchemaOutput, error) {
1759	req, out := c.DiscoverInputSchemaRequest(input)
1760	req.SetContext(ctx)
1761	req.ApplyOptions(opts...)
1762	return out, req.Send()
1763}
1764
1765const opListApplicationSnapshots = "ListApplicationSnapshots"
1766
1767// ListApplicationSnapshotsRequest generates a "aws/request.Request" representing the
1768// client's request for the ListApplicationSnapshots operation. The "output" return
1769// value will be populated with the request's response once the request completes
1770// successfully.
1771//
1772// Use "Send" method on the returned Request to send the API call to the service.
1773// the "output" return value is not valid until after Send returns without error.
1774//
1775// See ListApplicationSnapshots for more information on using the ListApplicationSnapshots
1776// API call, and error handling.
1777//
1778// This method is useful when you want to inject custom logic or configuration
1779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1780//
1781//
1782//    // Example sending a request using the ListApplicationSnapshotsRequest method.
1783//    req, resp := client.ListApplicationSnapshotsRequest(params)
1784//
1785//    err := req.Send()
1786//    if err == nil { // resp is now filled
1787//        fmt.Println(resp)
1788//    }
1789//
1790// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplicationSnapshots
1791func (c *KinesisAnalyticsV2) ListApplicationSnapshotsRequest(input *ListApplicationSnapshotsInput) (req *request.Request, output *ListApplicationSnapshotsOutput) {
1792	op := &request.Operation{
1793		Name:       opListApplicationSnapshots,
1794		HTTPMethod: "POST",
1795		HTTPPath:   "/",
1796	}
1797
1798	if input == nil {
1799		input = &ListApplicationSnapshotsInput{}
1800	}
1801
1802	output = &ListApplicationSnapshotsOutput{}
1803	req = c.newRequest(op, input, output)
1804	return
1805}
1806
1807// ListApplicationSnapshots API operation for Amazon Kinesis Analytics.
1808//
1809// Lists information about the current application snapshots.
1810//
1811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1812// with awserr.Error's Code and Message methods to get detailed information about
1813// the error.
1814//
1815// See the AWS API reference guide for Amazon Kinesis Analytics's
1816// API operation ListApplicationSnapshots for usage and error information.
1817//
1818// Returned Error Codes:
1819//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1820//   The specified input parameter value is not valid.
1821//
1822//   * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
1823//   The request was rejected because a specified parameter is not supported or
1824//   a specified resource is not valid for this operation.
1825//
1826// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplicationSnapshots
1827func (c *KinesisAnalyticsV2) ListApplicationSnapshots(input *ListApplicationSnapshotsInput) (*ListApplicationSnapshotsOutput, error) {
1828	req, out := c.ListApplicationSnapshotsRequest(input)
1829	return out, req.Send()
1830}
1831
1832// ListApplicationSnapshotsWithContext is the same as ListApplicationSnapshots with the addition of
1833// the ability to pass a context and additional request options.
1834//
1835// See ListApplicationSnapshots for details on how to use this API operation.
1836//
1837// The context must be non-nil and will be used for request cancellation. If
1838// the context is nil a panic will occur. In the future the SDK may create
1839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1840// for more information on using Contexts.
1841func (c *KinesisAnalyticsV2) ListApplicationSnapshotsWithContext(ctx aws.Context, input *ListApplicationSnapshotsInput, opts ...request.Option) (*ListApplicationSnapshotsOutput, error) {
1842	req, out := c.ListApplicationSnapshotsRequest(input)
1843	req.SetContext(ctx)
1844	req.ApplyOptions(opts...)
1845	return out, req.Send()
1846}
1847
1848const opListApplications = "ListApplications"
1849
1850// ListApplicationsRequest generates a "aws/request.Request" representing the
1851// client's request for the ListApplications operation. The "output" return
1852// value will be populated with the request's response once the request completes
1853// successfully.
1854//
1855// Use "Send" method on the returned Request to send the API call to the service.
1856// the "output" return value is not valid until after Send returns without error.
1857//
1858// See ListApplications for more information on using the ListApplications
1859// API call, and error handling.
1860//
1861// This method is useful when you want to inject custom logic or configuration
1862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1863//
1864//
1865//    // Example sending a request using the ListApplicationsRequest method.
1866//    req, resp := client.ListApplicationsRequest(params)
1867//
1868//    err := req.Send()
1869//    if err == nil { // resp is now filled
1870//        fmt.Println(resp)
1871//    }
1872//
1873// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplications
1874func (c *KinesisAnalyticsV2) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) {
1875	op := &request.Operation{
1876		Name:       opListApplications,
1877		HTTPMethod: "POST",
1878		HTTPPath:   "/",
1879	}
1880
1881	if input == nil {
1882		input = &ListApplicationsInput{}
1883	}
1884
1885	output = &ListApplicationsOutput{}
1886	req = c.newRequest(op, input, output)
1887	return
1888}
1889
1890// ListApplications API operation for Amazon Kinesis Analytics.
1891//
1892// Returns a list of Amazon Kinesis Data Analytics applications in your account.
1893// For each application, the response includes the application name, Amazon
1894// Resource Name (ARN), and status.
1895//
1896// If you want detailed information about a specific application, use DescribeApplication.
1897//
1898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1899// with awserr.Error's Code and Message methods to get detailed information about
1900// the error.
1901//
1902// See the AWS API reference guide for Amazon Kinesis Analytics's
1903// API operation ListApplications for usage and error information.
1904//
1905// Returned Error Codes:
1906//   * ErrCodeInvalidRequestException "InvalidRequestException"
1907//   The request JSON is not valid for the operation.
1908//
1909// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListApplications
1910func (c *KinesisAnalyticsV2) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) {
1911	req, out := c.ListApplicationsRequest(input)
1912	return out, req.Send()
1913}
1914
1915// ListApplicationsWithContext is the same as ListApplications with the addition of
1916// the ability to pass a context and additional request options.
1917//
1918// See ListApplications for details on how to use this API operation.
1919//
1920// The context must be non-nil and will be used for request cancellation. If
1921// the context is nil a panic will occur. In the future the SDK may create
1922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1923// for more information on using Contexts.
1924func (c *KinesisAnalyticsV2) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) {
1925	req, out := c.ListApplicationsRequest(input)
1926	req.SetContext(ctx)
1927	req.ApplyOptions(opts...)
1928	return out, req.Send()
1929}
1930
1931const opListTagsForResource = "ListTagsForResource"
1932
1933// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1934// client's request for the ListTagsForResource operation. The "output" return
1935// value will be populated with the request's response once the request completes
1936// successfully.
1937//
1938// Use "Send" method on the returned Request to send the API call to the service.
1939// the "output" return value is not valid until after Send returns without error.
1940//
1941// See ListTagsForResource for more information on using the ListTagsForResource
1942// API call, and error handling.
1943//
1944// This method is useful when you want to inject custom logic or configuration
1945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1946//
1947//
1948//    // Example sending a request using the ListTagsForResourceRequest method.
1949//    req, resp := client.ListTagsForResourceRequest(params)
1950//
1951//    err := req.Send()
1952//    if err == nil { // resp is now filled
1953//        fmt.Println(resp)
1954//    }
1955//
1956// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListTagsForResource
1957func (c *KinesisAnalyticsV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1958	op := &request.Operation{
1959		Name:       opListTagsForResource,
1960		HTTPMethod: "POST",
1961		HTTPPath:   "/",
1962	}
1963
1964	if input == nil {
1965		input = &ListTagsForResourceInput{}
1966	}
1967
1968	output = &ListTagsForResourceOutput{}
1969	req = c.newRequest(op, input, output)
1970	return
1971}
1972
1973// ListTagsForResource API operation for Amazon Kinesis Analytics.
1974//
1975// Retrieves the list of key-value tags assigned to the application. For more
1976// information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
1977//
1978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1979// with awserr.Error's Code and Message methods to get detailed information about
1980// the error.
1981//
1982// See the AWS API reference guide for Amazon Kinesis Analytics's
1983// API operation ListTagsForResource for usage and error information.
1984//
1985// Returned Error Codes:
1986//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1987//   Specified application can't be found.
1988//
1989//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1990//   The specified input parameter value is not valid.
1991//
1992//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1993//   Exception thrown as a result of concurrent modifications to an application.
1994//   This error can be the result of attempting to modify an application without
1995//   using the current application ID.
1996//
1997// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ListTagsForResource
1998func (c *KinesisAnalyticsV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1999	req, out := c.ListTagsForResourceRequest(input)
2000	return out, req.Send()
2001}
2002
2003// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2004// the ability to pass a context and additional request options.
2005//
2006// See ListTagsForResource for details on how to use this API operation.
2007//
2008// The context must be non-nil and will be used for request cancellation. If
2009// the context is nil a panic will occur. In the future the SDK may create
2010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2011// for more information on using Contexts.
2012func (c *KinesisAnalyticsV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2013	req, out := c.ListTagsForResourceRequest(input)
2014	req.SetContext(ctx)
2015	req.ApplyOptions(opts...)
2016	return out, req.Send()
2017}
2018
2019const opStartApplication = "StartApplication"
2020
2021// StartApplicationRequest generates a "aws/request.Request" representing the
2022// client's request for the StartApplication operation. The "output" return
2023// value will be populated with the request's response once the request completes
2024// successfully.
2025//
2026// Use "Send" method on the returned Request to send the API call to the service.
2027// the "output" return value is not valid until after Send returns without error.
2028//
2029// See StartApplication for more information on using the StartApplication
2030// API call, and error handling.
2031//
2032// This method is useful when you want to inject custom logic or configuration
2033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2034//
2035//
2036//    // Example sending a request using the StartApplicationRequest method.
2037//    req, resp := client.StartApplicationRequest(params)
2038//
2039//    err := req.Send()
2040//    if err == nil { // resp is now filled
2041//        fmt.Println(resp)
2042//    }
2043//
2044// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StartApplication
2045func (c *KinesisAnalyticsV2) StartApplicationRequest(input *StartApplicationInput) (req *request.Request, output *StartApplicationOutput) {
2046	op := &request.Operation{
2047		Name:       opStartApplication,
2048		HTTPMethod: "POST",
2049		HTTPPath:   "/",
2050	}
2051
2052	if input == nil {
2053		input = &StartApplicationInput{}
2054	}
2055
2056	output = &StartApplicationOutput{}
2057	req = c.newRequest(op, input, output)
2058	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2059	return
2060}
2061
2062// StartApplication API operation for Amazon Kinesis Analytics.
2063//
2064// Starts the specified Amazon Kinesis Data Analytics application. After creating
2065// an application, you must exclusively call this operation to start your application.
2066//
2067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2068// with awserr.Error's Code and Message methods to get detailed information about
2069// the error.
2070//
2071// See the AWS API reference guide for Amazon Kinesis Analytics's
2072// API operation StartApplication for usage and error information.
2073//
2074// Returned Error Codes:
2075//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2076//   Specified application can't be found.
2077//
2078//   * ErrCodeResourceInUseException "ResourceInUseException"
2079//   The application is not available for this operation.
2080//
2081//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2082//   The specified input parameter value is not valid.
2083//
2084//   * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException"
2085//   The user-provided application configuration is not valid.
2086//
2087//   * ErrCodeInvalidRequestException "InvalidRequestException"
2088//   The request JSON is not valid for the operation.
2089//
2090// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StartApplication
2091func (c *KinesisAnalyticsV2) StartApplication(input *StartApplicationInput) (*StartApplicationOutput, error) {
2092	req, out := c.StartApplicationRequest(input)
2093	return out, req.Send()
2094}
2095
2096// StartApplicationWithContext is the same as StartApplication with the addition of
2097// the ability to pass a context and additional request options.
2098//
2099// See StartApplication for details on how to use this API operation.
2100//
2101// The context must be non-nil and will be used for request cancellation. If
2102// the context is nil a panic will occur. In the future the SDK may create
2103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2104// for more information on using Contexts.
2105func (c *KinesisAnalyticsV2) StartApplicationWithContext(ctx aws.Context, input *StartApplicationInput, opts ...request.Option) (*StartApplicationOutput, error) {
2106	req, out := c.StartApplicationRequest(input)
2107	req.SetContext(ctx)
2108	req.ApplyOptions(opts...)
2109	return out, req.Send()
2110}
2111
2112const opStopApplication = "StopApplication"
2113
2114// StopApplicationRequest generates a "aws/request.Request" representing the
2115// client's request for the StopApplication operation. The "output" return
2116// value will be populated with the request's response once the request completes
2117// successfully.
2118//
2119// Use "Send" method on the returned Request to send the API call to the service.
2120// the "output" return value is not valid until after Send returns without error.
2121//
2122// See StopApplication for more information on using the StopApplication
2123// API call, and error handling.
2124//
2125// This method is useful when you want to inject custom logic or configuration
2126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2127//
2128//
2129//    // Example sending a request using the StopApplicationRequest method.
2130//    req, resp := client.StopApplicationRequest(params)
2131//
2132//    err := req.Send()
2133//    if err == nil { // resp is now filled
2134//        fmt.Println(resp)
2135//    }
2136//
2137// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StopApplication
2138func (c *KinesisAnalyticsV2) StopApplicationRequest(input *StopApplicationInput) (req *request.Request, output *StopApplicationOutput) {
2139	op := &request.Operation{
2140		Name:       opStopApplication,
2141		HTTPMethod: "POST",
2142		HTTPPath:   "/",
2143	}
2144
2145	if input == nil {
2146		input = &StopApplicationInput{}
2147	}
2148
2149	output = &StopApplicationOutput{}
2150	req = c.newRequest(op, input, output)
2151	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2152	return
2153}
2154
2155// StopApplication API operation for Amazon Kinesis Analytics.
2156//
2157// Stops the application from processing data. You can stop an application only
2158// if it is in the running state. You can use the DescribeApplication operation
2159// to find the application state.
2160//
2161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2162// with awserr.Error's Code and Message methods to get detailed information about
2163// the error.
2164//
2165// See the AWS API reference guide for Amazon Kinesis Analytics's
2166// API operation StopApplication for usage and error information.
2167//
2168// Returned Error Codes:
2169//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2170//   Specified application can't be found.
2171//
2172//   * ErrCodeResourceInUseException "ResourceInUseException"
2173//   The application is not available for this operation.
2174//
2175//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2176//   The specified input parameter value is not valid.
2177//
2178//   * ErrCodeInvalidRequestException "InvalidRequestException"
2179//   The request JSON is not valid for the operation.
2180//
2181//   * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException"
2182//   The user-provided application configuration is not valid.
2183//
2184// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/StopApplication
2185func (c *KinesisAnalyticsV2) StopApplication(input *StopApplicationInput) (*StopApplicationOutput, error) {
2186	req, out := c.StopApplicationRequest(input)
2187	return out, req.Send()
2188}
2189
2190// StopApplicationWithContext is the same as StopApplication with the addition of
2191// the ability to pass a context and additional request options.
2192//
2193// See StopApplication for details on how to use this API operation.
2194//
2195// The context must be non-nil and will be used for request cancellation. If
2196// the context is nil a panic will occur. In the future the SDK may create
2197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2198// for more information on using Contexts.
2199func (c *KinesisAnalyticsV2) StopApplicationWithContext(ctx aws.Context, input *StopApplicationInput, opts ...request.Option) (*StopApplicationOutput, error) {
2200	req, out := c.StopApplicationRequest(input)
2201	req.SetContext(ctx)
2202	req.ApplyOptions(opts...)
2203	return out, req.Send()
2204}
2205
2206const opTagResource = "TagResource"
2207
2208// TagResourceRequest generates a "aws/request.Request" representing the
2209// client's request for the TagResource operation. The "output" return
2210// value will be populated with the request's response once the request completes
2211// successfully.
2212//
2213// Use "Send" method on the returned Request to send the API call to the service.
2214// the "output" return value is not valid until after Send returns without error.
2215//
2216// See TagResource for more information on using the TagResource
2217// API call, and error handling.
2218//
2219// This method is useful when you want to inject custom logic or configuration
2220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2221//
2222//
2223//    // Example sending a request using the TagResourceRequest method.
2224//    req, resp := client.TagResourceRequest(params)
2225//
2226//    err := req.Send()
2227//    if err == nil { // resp is now filled
2228//        fmt.Println(resp)
2229//    }
2230//
2231// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/TagResource
2232func (c *KinesisAnalyticsV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2233	op := &request.Operation{
2234		Name:       opTagResource,
2235		HTTPMethod: "POST",
2236		HTTPPath:   "/",
2237	}
2238
2239	if input == nil {
2240		input = &TagResourceInput{}
2241	}
2242
2243	output = &TagResourceOutput{}
2244	req = c.newRequest(op, input, output)
2245	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2246	return
2247}
2248
2249// TagResource API operation for Amazon Kinesis Analytics.
2250//
2251// Adds one or more key-value tags to a Kinesis Analytics application. Note
2252// that the maximum number of application tags includes system tags. The maximum
2253// number of user-defined application tags is 50. For more information, see
2254// Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
2255//
2256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2257// with awserr.Error's Code and Message methods to get detailed information about
2258// the error.
2259//
2260// See the AWS API reference guide for Amazon Kinesis Analytics's
2261// API operation TagResource for usage and error information.
2262//
2263// Returned Error Codes:
2264//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2265//   Specified application can't be found.
2266//
2267//   * ErrCodeResourceInUseException "ResourceInUseException"
2268//   The application is not available for this operation.
2269//
2270//   * ErrCodeTooManyTagsException "TooManyTagsException"
2271//   Application created with too many tags, or too many tags added to an application.
2272//   Note that the maximum number of application tags includes system tags. The
2273//   maximum number of user-defined application tags is 50.
2274//
2275//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2276//   The specified input parameter value is not valid.
2277//
2278//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2279//   Exception thrown as a result of concurrent modifications to an application.
2280//   This error can be the result of attempting to modify an application without
2281//   using the current application ID.
2282//
2283// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/TagResource
2284func (c *KinesisAnalyticsV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2285	req, out := c.TagResourceRequest(input)
2286	return out, req.Send()
2287}
2288
2289// TagResourceWithContext is the same as TagResource with the addition of
2290// the ability to pass a context and additional request options.
2291//
2292// See TagResource for details on how to use this API operation.
2293//
2294// The context must be non-nil and will be used for request cancellation. If
2295// the context is nil a panic will occur. In the future the SDK may create
2296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2297// for more information on using Contexts.
2298func (c *KinesisAnalyticsV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2299	req, out := c.TagResourceRequest(input)
2300	req.SetContext(ctx)
2301	req.ApplyOptions(opts...)
2302	return out, req.Send()
2303}
2304
2305const opUntagResource = "UntagResource"
2306
2307// UntagResourceRequest generates a "aws/request.Request" representing the
2308// client's request for the UntagResource operation. The "output" return
2309// value will be populated with the request's response once the request completes
2310// successfully.
2311//
2312// Use "Send" method on the returned Request to send the API call to the service.
2313// the "output" return value is not valid until after Send returns without error.
2314//
2315// See UntagResource for more information on using the UntagResource
2316// API call, and error handling.
2317//
2318// This method is useful when you want to inject custom logic or configuration
2319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2320//
2321//
2322//    // Example sending a request using the UntagResourceRequest method.
2323//    req, resp := client.UntagResourceRequest(params)
2324//
2325//    err := req.Send()
2326//    if err == nil { // resp is now filled
2327//        fmt.Println(resp)
2328//    }
2329//
2330// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UntagResource
2331func (c *KinesisAnalyticsV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2332	op := &request.Operation{
2333		Name:       opUntagResource,
2334		HTTPMethod: "POST",
2335		HTTPPath:   "/",
2336	}
2337
2338	if input == nil {
2339		input = &UntagResourceInput{}
2340	}
2341
2342	output = &UntagResourceOutput{}
2343	req = c.newRequest(op, input, output)
2344	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2345	return
2346}
2347
2348// UntagResource API operation for Amazon Kinesis Analytics.
2349//
2350// Removes one or more tags from a Kinesis Analytics application. For more information,
2351// see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
2352//
2353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2354// with awserr.Error's Code and Message methods to get detailed information about
2355// the error.
2356//
2357// See the AWS API reference guide for Amazon Kinesis Analytics's
2358// API operation UntagResource for usage and error information.
2359//
2360// Returned Error Codes:
2361//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2362//   Specified application can't be found.
2363//
2364//   * ErrCodeResourceInUseException "ResourceInUseException"
2365//   The application is not available for this operation.
2366//
2367//   * ErrCodeTooManyTagsException "TooManyTagsException"
2368//   Application created with too many tags, or too many tags added to an application.
2369//   Note that the maximum number of application tags includes system tags. The
2370//   maximum number of user-defined application tags is 50.
2371//
2372//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2373//   The specified input parameter value is not valid.
2374//
2375//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2376//   Exception thrown as a result of concurrent modifications to an application.
2377//   This error can be the result of attempting to modify an application without
2378//   using the current application ID.
2379//
2380// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UntagResource
2381func (c *KinesisAnalyticsV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2382	req, out := c.UntagResourceRequest(input)
2383	return out, req.Send()
2384}
2385
2386// UntagResourceWithContext is the same as UntagResource with the addition of
2387// the ability to pass a context and additional request options.
2388//
2389// See UntagResource for details on how to use this API operation.
2390//
2391// The context must be non-nil and will be used for request cancellation. If
2392// the context is nil a panic will occur. In the future the SDK may create
2393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2394// for more information on using Contexts.
2395func (c *KinesisAnalyticsV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2396	req, out := c.UntagResourceRequest(input)
2397	req.SetContext(ctx)
2398	req.ApplyOptions(opts...)
2399	return out, req.Send()
2400}
2401
2402const opUpdateApplication = "UpdateApplication"
2403
2404// UpdateApplicationRequest generates a "aws/request.Request" representing the
2405// client's request for the UpdateApplication operation. The "output" return
2406// value will be populated with the request's response once the request completes
2407// successfully.
2408//
2409// Use "Send" method on the returned Request to send the API call to the service.
2410// the "output" return value is not valid until after Send returns without error.
2411//
2412// See UpdateApplication for more information on using the UpdateApplication
2413// API call, and error handling.
2414//
2415// This method is useful when you want to inject custom logic or configuration
2416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2417//
2418//
2419//    // Example sending a request using the UpdateApplicationRequest method.
2420//    req, resp := client.UpdateApplicationRequest(params)
2421//
2422//    err := req.Send()
2423//    if err == nil { // resp is now filled
2424//        fmt.Println(resp)
2425//    }
2426//
2427// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplication
2428func (c *KinesisAnalyticsV2) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
2429	op := &request.Operation{
2430		Name:       opUpdateApplication,
2431		HTTPMethod: "POST",
2432		HTTPPath:   "/",
2433	}
2434
2435	if input == nil {
2436		input = &UpdateApplicationInput{}
2437	}
2438
2439	output = &UpdateApplicationOutput{}
2440	req = c.newRequest(op, input, output)
2441	return
2442}
2443
2444// UpdateApplication API operation for Amazon Kinesis Analytics.
2445//
2446// Updates an existing Amazon Kinesis Data Analytics application. Using this
2447// operation, you can update application code, input configuration, and output
2448// configuration.
2449//
2450// Kinesis Data Analytics updates the ApplicationVersionId each time you update
2451// your application.
2452//
2453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2454// with awserr.Error's Code and Message methods to get detailed information about
2455// the error.
2456//
2457// See the AWS API reference guide for Amazon Kinesis Analytics's
2458// API operation UpdateApplication for usage and error information.
2459//
2460// Returned Error Codes:
2461//   * ErrCodeCodeValidationException "CodeValidationException"
2462//   The user-provided application code (query) is not valid. This can be a simple
2463//   syntax error.
2464//
2465//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2466//   Specified application can't be found.
2467//
2468//   * ErrCodeResourceInUseException "ResourceInUseException"
2469//   The application is not available for this operation.
2470//
2471//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2472//   The specified input parameter value is not valid.
2473//
2474//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2475//   Exception thrown as a result of concurrent modifications to an application.
2476//   This error can be the result of attempting to modify an application without
2477//   using the current application ID.
2478//
2479//   * ErrCodeInvalidRequestException "InvalidRequestException"
2480//   The request JSON is not valid for the operation.
2481//
2482//   * ErrCodeInvalidApplicationConfigurationException "InvalidApplicationConfigurationException"
2483//   The user-provided application configuration is not valid.
2484//
2485// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplication
2486func (c *KinesisAnalyticsV2) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
2487	req, out := c.UpdateApplicationRequest(input)
2488	return out, req.Send()
2489}
2490
2491// UpdateApplicationWithContext is the same as UpdateApplication with the addition of
2492// the ability to pass a context and additional request options.
2493//
2494// See UpdateApplication for details on how to use this API operation.
2495//
2496// The context must be non-nil and will be used for request cancellation. If
2497// the context is nil a panic will occur. In the future the SDK may create
2498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2499// for more information on using Contexts.
2500func (c *KinesisAnalyticsV2) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
2501	req, out := c.UpdateApplicationRequest(input)
2502	req.SetContext(ctx)
2503	req.ApplyOptions(opts...)
2504	return out, req.Send()
2505}
2506
2507type AddApplicationCloudWatchLoggingOptionInput struct {
2508	_ struct{} `type:"structure"`
2509
2510	// The Kinesis Data Analytics application name.
2511	//
2512	// ApplicationName is a required field
2513	ApplicationName *string `min:"1" type:"string" required:"true"`
2514
2515	// Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN).
2516	//
2517	// CloudWatchLoggingOption is a required field
2518	CloudWatchLoggingOption *CloudWatchLoggingOption `type:"structure" required:"true"`
2519
2520	// The version ID of the Kinesis Data Analytics application. You can retrieve
2521	// the application version ID using DescribeApplication.
2522	//
2523	// CurrentApplicationVersionId is a required field
2524	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
2525}
2526
2527// String returns the string representation
2528func (s AddApplicationCloudWatchLoggingOptionInput) String() string {
2529	return awsutil.Prettify(s)
2530}
2531
2532// GoString returns the string representation
2533func (s AddApplicationCloudWatchLoggingOptionInput) GoString() string {
2534	return s.String()
2535}
2536
2537// Validate inspects the fields of the type to determine if they are valid.
2538func (s *AddApplicationCloudWatchLoggingOptionInput) Validate() error {
2539	invalidParams := request.ErrInvalidParams{Context: "AddApplicationCloudWatchLoggingOptionInput"}
2540	if s.ApplicationName == nil {
2541		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
2542	}
2543	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
2544		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
2545	}
2546	if s.CloudWatchLoggingOption == nil {
2547		invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOption"))
2548	}
2549	if s.CurrentApplicationVersionId == nil {
2550		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
2551	}
2552	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
2553		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
2554	}
2555	if s.CloudWatchLoggingOption != nil {
2556		if err := s.CloudWatchLoggingOption.Validate(); err != nil {
2557			invalidParams.AddNested("CloudWatchLoggingOption", err.(request.ErrInvalidParams))
2558		}
2559	}
2560
2561	if invalidParams.Len() > 0 {
2562		return invalidParams
2563	}
2564	return nil
2565}
2566
2567// SetApplicationName sets the ApplicationName field's value.
2568func (s *AddApplicationCloudWatchLoggingOptionInput) SetApplicationName(v string) *AddApplicationCloudWatchLoggingOptionInput {
2569	s.ApplicationName = &v
2570	return s
2571}
2572
2573// SetCloudWatchLoggingOption sets the CloudWatchLoggingOption field's value.
2574func (s *AddApplicationCloudWatchLoggingOptionInput) SetCloudWatchLoggingOption(v *CloudWatchLoggingOption) *AddApplicationCloudWatchLoggingOptionInput {
2575	s.CloudWatchLoggingOption = v
2576	return s
2577}
2578
2579// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
2580func (s *AddApplicationCloudWatchLoggingOptionInput) SetCurrentApplicationVersionId(v int64) *AddApplicationCloudWatchLoggingOptionInput {
2581	s.CurrentApplicationVersionId = &v
2582	return s
2583}
2584
2585type AddApplicationCloudWatchLoggingOptionOutput struct {
2586	_ struct{} `type:"structure"`
2587
2588	// The application's ARN.
2589	ApplicationARN *string `min:"1" type:"string"`
2590
2591	// The new version ID of the Kinesis Data Analytics application. Kinesis Data
2592	// Analytics updates the ApplicationVersionId each time you change the CloudWatch
2593	// logging options.
2594	ApplicationVersionId *int64 `min:"1" type:"long"`
2595
2596	// The descriptions of the current CloudWatch logging options for the Kinesis
2597	// Data Analytics application.
2598	CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"`
2599}
2600
2601// String returns the string representation
2602func (s AddApplicationCloudWatchLoggingOptionOutput) String() string {
2603	return awsutil.Prettify(s)
2604}
2605
2606// GoString returns the string representation
2607func (s AddApplicationCloudWatchLoggingOptionOutput) GoString() string {
2608	return s.String()
2609}
2610
2611// SetApplicationARN sets the ApplicationARN field's value.
2612func (s *AddApplicationCloudWatchLoggingOptionOutput) SetApplicationARN(v string) *AddApplicationCloudWatchLoggingOptionOutput {
2613	s.ApplicationARN = &v
2614	return s
2615}
2616
2617// SetApplicationVersionId sets the ApplicationVersionId field's value.
2618func (s *AddApplicationCloudWatchLoggingOptionOutput) SetApplicationVersionId(v int64) *AddApplicationCloudWatchLoggingOptionOutput {
2619	s.ApplicationVersionId = &v
2620	return s
2621}
2622
2623// SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value.
2624func (s *AddApplicationCloudWatchLoggingOptionOutput) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *AddApplicationCloudWatchLoggingOptionOutput {
2625	s.CloudWatchLoggingOptionDescriptions = v
2626	return s
2627}
2628
2629type AddApplicationInputInput struct {
2630	_ struct{} `type:"structure"`
2631
2632	// The name of your existing application to which you want to add the streaming
2633	// source.
2634	//
2635	// ApplicationName is a required field
2636	ApplicationName *string `min:"1" type:"string" required:"true"`
2637
2638	// The current version of your application. You can use the DescribeApplication
2639	// operation to find the current application version.
2640	//
2641	// CurrentApplicationVersionId is a required field
2642	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
2643
2644	// The Input to add.
2645	//
2646	// Input is a required field
2647	Input *Input `type:"structure" required:"true"`
2648}
2649
2650// String returns the string representation
2651func (s AddApplicationInputInput) String() string {
2652	return awsutil.Prettify(s)
2653}
2654
2655// GoString returns the string representation
2656func (s AddApplicationInputInput) GoString() string {
2657	return s.String()
2658}
2659
2660// Validate inspects the fields of the type to determine if they are valid.
2661func (s *AddApplicationInputInput) Validate() error {
2662	invalidParams := request.ErrInvalidParams{Context: "AddApplicationInputInput"}
2663	if s.ApplicationName == nil {
2664		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
2665	}
2666	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
2667		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
2668	}
2669	if s.CurrentApplicationVersionId == nil {
2670		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
2671	}
2672	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
2673		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
2674	}
2675	if s.Input == nil {
2676		invalidParams.Add(request.NewErrParamRequired("Input"))
2677	}
2678	if s.Input != nil {
2679		if err := s.Input.Validate(); err != nil {
2680			invalidParams.AddNested("Input", err.(request.ErrInvalidParams))
2681		}
2682	}
2683
2684	if invalidParams.Len() > 0 {
2685		return invalidParams
2686	}
2687	return nil
2688}
2689
2690// SetApplicationName sets the ApplicationName field's value.
2691func (s *AddApplicationInputInput) SetApplicationName(v string) *AddApplicationInputInput {
2692	s.ApplicationName = &v
2693	return s
2694}
2695
2696// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
2697func (s *AddApplicationInputInput) SetCurrentApplicationVersionId(v int64) *AddApplicationInputInput {
2698	s.CurrentApplicationVersionId = &v
2699	return s
2700}
2701
2702// SetInput sets the Input field's value.
2703func (s *AddApplicationInputInput) SetInput(v *Input) *AddApplicationInputInput {
2704	s.Input = v
2705	return s
2706}
2707
2708type AddApplicationInputOutput struct {
2709	_ struct{} `type:"structure"`
2710
2711	// The Amazon Resource Name (ARN) of the application.
2712	ApplicationARN *string `min:"1" type:"string"`
2713
2714	// Provides the current application version.
2715	ApplicationVersionId *int64 `min:"1" type:"long"`
2716
2717	// Describes the application input configuration.
2718	InputDescriptions []*InputDescription `type:"list"`
2719}
2720
2721// String returns the string representation
2722func (s AddApplicationInputOutput) String() string {
2723	return awsutil.Prettify(s)
2724}
2725
2726// GoString returns the string representation
2727func (s AddApplicationInputOutput) GoString() string {
2728	return s.String()
2729}
2730
2731// SetApplicationARN sets the ApplicationARN field's value.
2732func (s *AddApplicationInputOutput) SetApplicationARN(v string) *AddApplicationInputOutput {
2733	s.ApplicationARN = &v
2734	return s
2735}
2736
2737// SetApplicationVersionId sets the ApplicationVersionId field's value.
2738func (s *AddApplicationInputOutput) SetApplicationVersionId(v int64) *AddApplicationInputOutput {
2739	s.ApplicationVersionId = &v
2740	return s
2741}
2742
2743// SetInputDescriptions sets the InputDescriptions field's value.
2744func (s *AddApplicationInputOutput) SetInputDescriptions(v []*InputDescription) *AddApplicationInputOutput {
2745	s.InputDescriptions = v
2746	return s
2747}
2748
2749type AddApplicationInputProcessingConfigurationInput struct {
2750	_ struct{} `type:"structure"`
2751
2752	// The name of the application to which you want to add the input processing
2753	// configuration.
2754	//
2755	// ApplicationName is a required field
2756	ApplicationName *string `min:"1" type:"string" required:"true"`
2757
2758	// The version of the application to which you want to add the input processing
2759	// configuration. You can use the DescribeApplication operation to get the current
2760	// application version. If the version specified is not the current version,
2761	// the ConcurrentModificationException is returned.
2762	//
2763	// CurrentApplicationVersionId is a required field
2764	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
2765
2766	// The ID of the input configuration to add the input processing configuration
2767	// to. You can get a list of the input IDs for an application using the DescribeApplication
2768	// operation.
2769	//
2770	// InputId is a required field
2771	InputId *string `min:"1" type:"string" required:"true"`
2772
2773	// The InputProcessingConfiguration to add to the application.
2774	//
2775	// InputProcessingConfiguration is a required field
2776	InputProcessingConfiguration *InputProcessingConfiguration `type:"structure" required:"true"`
2777}
2778
2779// String returns the string representation
2780func (s AddApplicationInputProcessingConfigurationInput) String() string {
2781	return awsutil.Prettify(s)
2782}
2783
2784// GoString returns the string representation
2785func (s AddApplicationInputProcessingConfigurationInput) GoString() string {
2786	return s.String()
2787}
2788
2789// Validate inspects the fields of the type to determine if they are valid.
2790func (s *AddApplicationInputProcessingConfigurationInput) Validate() error {
2791	invalidParams := request.ErrInvalidParams{Context: "AddApplicationInputProcessingConfigurationInput"}
2792	if s.ApplicationName == nil {
2793		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
2794	}
2795	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
2796		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
2797	}
2798	if s.CurrentApplicationVersionId == nil {
2799		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
2800	}
2801	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
2802		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
2803	}
2804	if s.InputId == nil {
2805		invalidParams.Add(request.NewErrParamRequired("InputId"))
2806	}
2807	if s.InputId != nil && len(*s.InputId) < 1 {
2808		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
2809	}
2810	if s.InputProcessingConfiguration == nil {
2811		invalidParams.Add(request.NewErrParamRequired("InputProcessingConfiguration"))
2812	}
2813	if s.InputProcessingConfiguration != nil {
2814		if err := s.InputProcessingConfiguration.Validate(); err != nil {
2815			invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams))
2816		}
2817	}
2818
2819	if invalidParams.Len() > 0 {
2820		return invalidParams
2821	}
2822	return nil
2823}
2824
2825// SetApplicationName sets the ApplicationName field's value.
2826func (s *AddApplicationInputProcessingConfigurationInput) SetApplicationName(v string) *AddApplicationInputProcessingConfigurationInput {
2827	s.ApplicationName = &v
2828	return s
2829}
2830
2831// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
2832func (s *AddApplicationInputProcessingConfigurationInput) SetCurrentApplicationVersionId(v int64) *AddApplicationInputProcessingConfigurationInput {
2833	s.CurrentApplicationVersionId = &v
2834	return s
2835}
2836
2837// SetInputId sets the InputId field's value.
2838func (s *AddApplicationInputProcessingConfigurationInput) SetInputId(v string) *AddApplicationInputProcessingConfigurationInput {
2839	s.InputId = &v
2840	return s
2841}
2842
2843// SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value.
2844func (s *AddApplicationInputProcessingConfigurationInput) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *AddApplicationInputProcessingConfigurationInput {
2845	s.InputProcessingConfiguration = v
2846	return s
2847}
2848
2849type AddApplicationInputProcessingConfigurationOutput struct {
2850	_ struct{} `type:"structure"`
2851
2852	// The Amazon Resource Name (ARN) of the application.
2853	ApplicationARN *string `min:"1" type:"string"`
2854
2855	// Provides the current application version.
2856	ApplicationVersionId *int64 `min:"1" type:"long"`
2857
2858	// The input ID that is associated with the application input. This is the ID
2859	// that Amazon Kinesis Data Analytics assigns to each input configuration that
2860	// you add to your application.
2861	InputId *string `min:"1" type:"string"`
2862
2863	// The description of the preprocessor that executes on records in this input
2864	// before the application's code is run.
2865	InputProcessingConfigurationDescription *InputProcessingConfigurationDescription `type:"structure"`
2866}
2867
2868// String returns the string representation
2869func (s AddApplicationInputProcessingConfigurationOutput) String() string {
2870	return awsutil.Prettify(s)
2871}
2872
2873// GoString returns the string representation
2874func (s AddApplicationInputProcessingConfigurationOutput) GoString() string {
2875	return s.String()
2876}
2877
2878// SetApplicationARN sets the ApplicationARN field's value.
2879func (s *AddApplicationInputProcessingConfigurationOutput) SetApplicationARN(v string) *AddApplicationInputProcessingConfigurationOutput {
2880	s.ApplicationARN = &v
2881	return s
2882}
2883
2884// SetApplicationVersionId sets the ApplicationVersionId field's value.
2885func (s *AddApplicationInputProcessingConfigurationOutput) SetApplicationVersionId(v int64) *AddApplicationInputProcessingConfigurationOutput {
2886	s.ApplicationVersionId = &v
2887	return s
2888}
2889
2890// SetInputId sets the InputId field's value.
2891func (s *AddApplicationInputProcessingConfigurationOutput) SetInputId(v string) *AddApplicationInputProcessingConfigurationOutput {
2892	s.InputId = &v
2893	return s
2894}
2895
2896// SetInputProcessingConfigurationDescription sets the InputProcessingConfigurationDescription field's value.
2897func (s *AddApplicationInputProcessingConfigurationOutput) SetInputProcessingConfigurationDescription(v *InputProcessingConfigurationDescription) *AddApplicationInputProcessingConfigurationOutput {
2898	s.InputProcessingConfigurationDescription = v
2899	return s
2900}
2901
2902type AddApplicationOutputInput struct {
2903	_ struct{} `type:"structure"`
2904
2905	// The name of the application to which you want to add the output configuration.
2906	//
2907	// ApplicationName is a required field
2908	ApplicationName *string `min:"1" type:"string" required:"true"`
2909
2910	// The version of the application to which you want to add the output configuration.
2911	// You can use the DescribeApplication operation to get the current application
2912	// version. If the version specified is not the current version, the ConcurrentModificationException
2913	// is returned.
2914	//
2915	// CurrentApplicationVersionId is a required field
2916	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
2917
2918	// An array of objects, each describing one output configuration. In the output
2919	// configuration, you specify the name of an in-application stream, a destination
2920	// (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream,
2921	// or an AWS Lambda function), and record the formation to use when writing
2922	// to the destination.
2923	//
2924	// Output is a required field
2925	Output *Output `type:"structure" required:"true"`
2926}
2927
2928// String returns the string representation
2929func (s AddApplicationOutputInput) String() string {
2930	return awsutil.Prettify(s)
2931}
2932
2933// GoString returns the string representation
2934func (s AddApplicationOutputInput) GoString() string {
2935	return s.String()
2936}
2937
2938// Validate inspects the fields of the type to determine if they are valid.
2939func (s *AddApplicationOutputInput) Validate() error {
2940	invalidParams := request.ErrInvalidParams{Context: "AddApplicationOutputInput"}
2941	if s.ApplicationName == nil {
2942		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
2943	}
2944	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
2945		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
2946	}
2947	if s.CurrentApplicationVersionId == nil {
2948		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
2949	}
2950	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
2951		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
2952	}
2953	if s.Output == nil {
2954		invalidParams.Add(request.NewErrParamRequired("Output"))
2955	}
2956	if s.Output != nil {
2957		if err := s.Output.Validate(); err != nil {
2958			invalidParams.AddNested("Output", err.(request.ErrInvalidParams))
2959		}
2960	}
2961
2962	if invalidParams.Len() > 0 {
2963		return invalidParams
2964	}
2965	return nil
2966}
2967
2968// SetApplicationName sets the ApplicationName field's value.
2969func (s *AddApplicationOutputInput) SetApplicationName(v string) *AddApplicationOutputInput {
2970	s.ApplicationName = &v
2971	return s
2972}
2973
2974// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
2975func (s *AddApplicationOutputInput) SetCurrentApplicationVersionId(v int64) *AddApplicationOutputInput {
2976	s.CurrentApplicationVersionId = &v
2977	return s
2978}
2979
2980// SetOutput sets the Output field's value.
2981func (s *AddApplicationOutputInput) SetOutput(v *Output) *AddApplicationOutputInput {
2982	s.Output = v
2983	return s
2984}
2985
2986type AddApplicationOutputOutput struct {
2987	_ struct{} `type:"structure"`
2988
2989	// The application Amazon Resource Name (ARN).
2990	ApplicationARN *string `min:"1" type:"string"`
2991
2992	// The updated application version ID. Kinesis Data Analytics increments this
2993	// ID when the application is updated.
2994	ApplicationVersionId *int64 `min:"1" type:"long"`
2995
2996	// Describes the application output configuration. For more information, see
2997	// Configuring Application Output (https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html).
2998	OutputDescriptions []*OutputDescription `type:"list"`
2999}
3000
3001// String returns the string representation
3002func (s AddApplicationOutputOutput) String() string {
3003	return awsutil.Prettify(s)
3004}
3005
3006// GoString returns the string representation
3007func (s AddApplicationOutputOutput) GoString() string {
3008	return s.String()
3009}
3010
3011// SetApplicationARN sets the ApplicationARN field's value.
3012func (s *AddApplicationOutputOutput) SetApplicationARN(v string) *AddApplicationOutputOutput {
3013	s.ApplicationARN = &v
3014	return s
3015}
3016
3017// SetApplicationVersionId sets the ApplicationVersionId field's value.
3018func (s *AddApplicationOutputOutput) SetApplicationVersionId(v int64) *AddApplicationOutputOutput {
3019	s.ApplicationVersionId = &v
3020	return s
3021}
3022
3023// SetOutputDescriptions sets the OutputDescriptions field's value.
3024func (s *AddApplicationOutputOutput) SetOutputDescriptions(v []*OutputDescription) *AddApplicationOutputOutput {
3025	s.OutputDescriptions = v
3026	return s
3027}
3028
3029type AddApplicationReferenceDataSourceInput struct {
3030	_ struct{} `type:"structure"`
3031
3032	// The name of an existing application.
3033	//
3034	// ApplicationName is a required field
3035	ApplicationName *string `min:"1" type:"string" required:"true"`
3036
3037	// The version of the application for which you are adding the reference data
3038	// source. You can use the DescribeApplication operation to get the current
3039	// application version. If the version specified is not the current version,
3040	// the ConcurrentModificationException is returned.
3041	//
3042	// CurrentApplicationVersionId is a required field
3043	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
3044
3045	// The reference data source can be an object in your Amazon S3 bucket. Kinesis
3046	// Data Analytics reads the object and copies the data into the in-application
3047	// table that is created. You provide an S3 bucket, object key name, and the
3048	// resulting in-application table that is created.
3049	//
3050	// ReferenceDataSource is a required field
3051	ReferenceDataSource *ReferenceDataSource `type:"structure" required:"true"`
3052}
3053
3054// String returns the string representation
3055func (s AddApplicationReferenceDataSourceInput) String() string {
3056	return awsutil.Prettify(s)
3057}
3058
3059// GoString returns the string representation
3060func (s AddApplicationReferenceDataSourceInput) GoString() string {
3061	return s.String()
3062}
3063
3064// Validate inspects the fields of the type to determine if they are valid.
3065func (s *AddApplicationReferenceDataSourceInput) Validate() error {
3066	invalidParams := request.ErrInvalidParams{Context: "AddApplicationReferenceDataSourceInput"}
3067	if s.ApplicationName == nil {
3068		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
3069	}
3070	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
3071		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
3072	}
3073	if s.CurrentApplicationVersionId == nil {
3074		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
3075	}
3076	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
3077		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
3078	}
3079	if s.ReferenceDataSource == nil {
3080		invalidParams.Add(request.NewErrParamRequired("ReferenceDataSource"))
3081	}
3082	if s.ReferenceDataSource != nil {
3083		if err := s.ReferenceDataSource.Validate(); err != nil {
3084			invalidParams.AddNested("ReferenceDataSource", err.(request.ErrInvalidParams))
3085		}
3086	}
3087
3088	if invalidParams.Len() > 0 {
3089		return invalidParams
3090	}
3091	return nil
3092}
3093
3094// SetApplicationName sets the ApplicationName field's value.
3095func (s *AddApplicationReferenceDataSourceInput) SetApplicationName(v string) *AddApplicationReferenceDataSourceInput {
3096	s.ApplicationName = &v
3097	return s
3098}
3099
3100// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
3101func (s *AddApplicationReferenceDataSourceInput) SetCurrentApplicationVersionId(v int64) *AddApplicationReferenceDataSourceInput {
3102	s.CurrentApplicationVersionId = &v
3103	return s
3104}
3105
3106// SetReferenceDataSource sets the ReferenceDataSource field's value.
3107func (s *AddApplicationReferenceDataSourceInput) SetReferenceDataSource(v *ReferenceDataSource) *AddApplicationReferenceDataSourceInput {
3108	s.ReferenceDataSource = v
3109	return s
3110}
3111
3112type AddApplicationReferenceDataSourceOutput struct {
3113	_ struct{} `type:"structure"`
3114
3115	// The application Amazon Resource Name (ARN).
3116	ApplicationARN *string `min:"1" type:"string"`
3117
3118	// The updated application version ID. Amazon Kinesis Data Analytics increments
3119	// this ID when the application is updated.
3120	ApplicationVersionId *int64 `min:"1" type:"long"`
3121
3122	// Describes reference data sources configured for the application.
3123	ReferenceDataSourceDescriptions []*ReferenceDataSourceDescription `type:"list"`
3124}
3125
3126// String returns the string representation
3127func (s AddApplicationReferenceDataSourceOutput) String() string {
3128	return awsutil.Prettify(s)
3129}
3130
3131// GoString returns the string representation
3132func (s AddApplicationReferenceDataSourceOutput) GoString() string {
3133	return s.String()
3134}
3135
3136// SetApplicationARN sets the ApplicationARN field's value.
3137func (s *AddApplicationReferenceDataSourceOutput) SetApplicationARN(v string) *AddApplicationReferenceDataSourceOutput {
3138	s.ApplicationARN = &v
3139	return s
3140}
3141
3142// SetApplicationVersionId sets the ApplicationVersionId field's value.
3143func (s *AddApplicationReferenceDataSourceOutput) SetApplicationVersionId(v int64) *AddApplicationReferenceDataSourceOutput {
3144	s.ApplicationVersionId = &v
3145	return s
3146}
3147
3148// SetReferenceDataSourceDescriptions sets the ReferenceDataSourceDescriptions field's value.
3149func (s *AddApplicationReferenceDataSourceOutput) SetReferenceDataSourceDescriptions(v []*ReferenceDataSourceDescription) *AddApplicationReferenceDataSourceOutput {
3150	s.ReferenceDataSourceDescriptions = v
3151	return s
3152}
3153
3154type AddApplicationVpcConfigurationInput struct {
3155	_ struct{} `type:"structure"`
3156
3157	// The name of an existing application.
3158	//
3159	// ApplicationName is a required field
3160	ApplicationName *string `min:"1" type:"string" required:"true"`
3161
3162	// The version of the application to which you want to add the input processing
3163	// configuration. You can use the DescribeApplication operation to get the current
3164	// application version. If the version specified is not the current version,
3165	// the ConcurrentModificationException is returned.
3166	//
3167	// CurrentApplicationVersionId is a required field
3168	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
3169
3170	// Description of the VPC to add to the application.
3171	//
3172	// VpcConfiguration is a required field
3173	VpcConfiguration *VpcConfiguration `type:"structure" required:"true"`
3174}
3175
3176// String returns the string representation
3177func (s AddApplicationVpcConfigurationInput) String() string {
3178	return awsutil.Prettify(s)
3179}
3180
3181// GoString returns the string representation
3182func (s AddApplicationVpcConfigurationInput) GoString() string {
3183	return s.String()
3184}
3185
3186// Validate inspects the fields of the type to determine if they are valid.
3187func (s *AddApplicationVpcConfigurationInput) Validate() error {
3188	invalidParams := request.ErrInvalidParams{Context: "AddApplicationVpcConfigurationInput"}
3189	if s.ApplicationName == nil {
3190		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
3191	}
3192	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
3193		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
3194	}
3195	if s.CurrentApplicationVersionId == nil {
3196		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
3197	}
3198	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
3199		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
3200	}
3201	if s.VpcConfiguration == nil {
3202		invalidParams.Add(request.NewErrParamRequired("VpcConfiguration"))
3203	}
3204	if s.VpcConfiguration != nil {
3205		if err := s.VpcConfiguration.Validate(); err != nil {
3206			invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams))
3207		}
3208	}
3209
3210	if invalidParams.Len() > 0 {
3211		return invalidParams
3212	}
3213	return nil
3214}
3215
3216// SetApplicationName sets the ApplicationName field's value.
3217func (s *AddApplicationVpcConfigurationInput) SetApplicationName(v string) *AddApplicationVpcConfigurationInput {
3218	s.ApplicationName = &v
3219	return s
3220}
3221
3222// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
3223func (s *AddApplicationVpcConfigurationInput) SetCurrentApplicationVersionId(v int64) *AddApplicationVpcConfigurationInput {
3224	s.CurrentApplicationVersionId = &v
3225	return s
3226}
3227
3228// SetVpcConfiguration sets the VpcConfiguration field's value.
3229func (s *AddApplicationVpcConfigurationInput) SetVpcConfiguration(v *VpcConfiguration) *AddApplicationVpcConfigurationInput {
3230	s.VpcConfiguration = v
3231	return s
3232}
3233
3234type AddApplicationVpcConfigurationOutput struct {
3235	_ struct{} `type:"structure"`
3236
3237	// The ARN of the application.
3238	ApplicationARN *string `min:"1" type:"string"`
3239
3240	// Provides the current application version. Kinesis Data Analytics updates
3241	// the ApplicationVersionId each time you update the application.
3242	ApplicationVersionId *int64 `min:"1" type:"long"`
3243
3244	// The parameters of the new VPC configuration.
3245	VpcConfigurationDescription *VpcConfigurationDescription `type:"structure"`
3246}
3247
3248// String returns the string representation
3249func (s AddApplicationVpcConfigurationOutput) String() string {
3250	return awsutil.Prettify(s)
3251}
3252
3253// GoString returns the string representation
3254func (s AddApplicationVpcConfigurationOutput) GoString() string {
3255	return s.String()
3256}
3257
3258// SetApplicationARN sets the ApplicationARN field's value.
3259func (s *AddApplicationVpcConfigurationOutput) SetApplicationARN(v string) *AddApplicationVpcConfigurationOutput {
3260	s.ApplicationARN = &v
3261	return s
3262}
3263
3264// SetApplicationVersionId sets the ApplicationVersionId field's value.
3265func (s *AddApplicationVpcConfigurationOutput) SetApplicationVersionId(v int64) *AddApplicationVpcConfigurationOutput {
3266	s.ApplicationVersionId = &v
3267	return s
3268}
3269
3270// SetVpcConfigurationDescription sets the VpcConfigurationDescription field's value.
3271func (s *AddApplicationVpcConfigurationOutput) SetVpcConfigurationDescription(v *VpcConfigurationDescription) *AddApplicationVpcConfigurationOutput {
3272	s.VpcConfigurationDescription = v
3273	return s
3274}
3275
3276// Describes code configuration for a Java-based Kinesis Data Analytics application.
3277type ApplicationCodeConfiguration struct {
3278	_ struct{} `type:"structure"`
3279
3280	// The location and type of the application code.
3281	CodeContent *CodeContent `type:"structure"`
3282
3283	// Specifies whether the code content is in text or zip format.
3284	//
3285	// CodeContentType is a required field
3286	CodeContentType *string `type:"string" required:"true" enum:"CodeContentType"`
3287}
3288
3289// String returns the string representation
3290func (s ApplicationCodeConfiguration) String() string {
3291	return awsutil.Prettify(s)
3292}
3293
3294// GoString returns the string representation
3295func (s ApplicationCodeConfiguration) GoString() string {
3296	return s.String()
3297}
3298
3299// Validate inspects the fields of the type to determine if they are valid.
3300func (s *ApplicationCodeConfiguration) Validate() error {
3301	invalidParams := request.ErrInvalidParams{Context: "ApplicationCodeConfiguration"}
3302	if s.CodeContentType == nil {
3303		invalidParams.Add(request.NewErrParamRequired("CodeContentType"))
3304	}
3305	if s.CodeContent != nil {
3306		if err := s.CodeContent.Validate(); err != nil {
3307			invalidParams.AddNested("CodeContent", err.(request.ErrInvalidParams))
3308		}
3309	}
3310
3311	if invalidParams.Len() > 0 {
3312		return invalidParams
3313	}
3314	return nil
3315}
3316
3317// SetCodeContent sets the CodeContent field's value.
3318func (s *ApplicationCodeConfiguration) SetCodeContent(v *CodeContent) *ApplicationCodeConfiguration {
3319	s.CodeContent = v
3320	return s
3321}
3322
3323// SetCodeContentType sets the CodeContentType field's value.
3324func (s *ApplicationCodeConfiguration) SetCodeContentType(v string) *ApplicationCodeConfiguration {
3325	s.CodeContentType = &v
3326	return s
3327}
3328
3329// Describes code configuration for a Java-based Kinesis Data Analytics application.
3330type ApplicationCodeConfigurationDescription struct {
3331	_ struct{} `type:"structure"`
3332
3333	// Describes details about the location and format of the application code.
3334	CodeContentDescription *CodeContentDescription `type:"structure"`
3335
3336	// Specifies whether the code content is in text or zip format.
3337	//
3338	// CodeContentType is a required field
3339	CodeContentType *string `type:"string" required:"true" enum:"CodeContentType"`
3340}
3341
3342// String returns the string representation
3343func (s ApplicationCodeConfigurationDescription) String() string {
3344	return awsutil.Prettify(s)
3345}
3346
3347// GoString returns the string representation
3348func (s ApplicationCodeConfigurationDescription) GoString() string {
3349	return s.String()
3350}
3351
3352// SetCodeContentDescription sets the CodeContentDescription field's value.
3353func (s *ApplicationCodeConfigurationDescription) SetCodeContentDescription(v *CodeContentDescription) *ApplicationCodeConfigurationDescription {
3354	s.CodeContentDescription = v
3355	return s
3356}
3357
3358// SetCodeContentType sets the CodeContentType field's value.
3359func (s *ApplicationCodeConfigurationDescription) SetCodeContentType(v string) *ApplicationCodeConfigurationDescription {
3360	s.CodeContentType = &v
3361	return s
3362}
3363
3364// Describes updates to a Java-based Amazon Kinesis Data Analytics application.
3365type ApplicationCodeConfigurationUpdate struct {
3366	_ struct{} `type:"structure"`
3367
3368	// Describes updates to the code content type.
3369	CodeContentTypeUpdate *string `type:"string" enum:"CodeContentType"`
3370
3371	// Describes updates to the code content of an application.
3372	CodeContentUpdate *CodeContentUpdate `type:"structure"`
3373}
3374
3375// String returns the string representation
3376func (s ApplicationCodeConfigurationUpdate) String() string {
3377	return awsutil.Prettify(s)
3378}
3379
3380// GoString returns the string representation
3381func (s ApplicationCodeConfigurationUpdate) GoString() string {
3382	return s.String()
3383}
3384
3385// Validate inspects the fields of the type to determine if they are valid.
3386func (s *ApplicationCodeConfigurationUpdate) Validate() error {
3387	invalidParams := request.ErrInvalidParams{Context: "ApplicationCodeConfigurationUpdate"}
3388	if s.CodeContentUpdate != nil {
3389		if err := s.CodeContentUpdate.Validate(); err != nil {
3390			invalidParams.AddNested("CodeContentUpdate", err.(request.ErrInvalidParams))
3391		}
3392	}
3393
3394	if invalidParams.Len() > 0 {
3395		return invalidParams
3396	}
3397	return nil
3398}
3399
3400// SetCodeContentTypeUpdate sets the CodeContentTypeUpdate field's value.
3401func (s *ApplicationCodeConfigurationUpdate) SetCodeContentTypeUpdate(v string) *ApplicationCodeConfigurationUpdate {
3402	s.CodeContentTypeUpdate = &v
3403	return s
3404}
3405
3406// SetCodeContentUpdate sets the CodeContentUpdate field's value.
3407func (s *ApplicationCodeConfigurationUpdate) SetCodeContentUpdate(v *CodeContentUpdate) *ApplicationCodeConfigurationUpdate {
3408	s.CodeContentUpdate = v
3409	return s
3410}
3411
3412// Specifies the creation parameters for an Amazon Kinesis Data Analytics application.
3413type ApplicationConfiguration struct {
3414	_ struct{} `type:"structure"`
3415
3416	// The code location and type parameters for a Java-based Kinesis Data Analytics
3417	// application.
3418	//
3419	// ApplicationCodeConfiguration is a required field
3420	ApplicationCodeConfiguration *ApplicationCodeConfiguration `type:"structure" required:"true"`
3421
3422	// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics
3423	// application.
3424	ApplicationSnapshotConfiguration *ApplicationSnapshotConfiguration `type:"structure"`
3425
3426	// Describes execution properties for a Java-based Kinesis Data Analytics application.
3427	EnvironmentProperties *EnvironmentProperties `type:"structure"`
3428
3429	// The creation and update parameters for a Java-based Kinesis Data Analytics
3430	// application.
3431	FlinkApplicationConfiguration *FlinkApplicationConfiguration `type:"structure"`
3432
3433	// The creation and update parameters for an SQL-based Kinesis Data Analytics
3434	// application.
3435	SqlApplicationConfiguration *SqlApplicationConfiguration `type:"structure"`
3436
3437	// The array of descriptions of VPC configurations available to the application.
3438	VpcConfigurations []*VpcConfiguration `type:"list"`
3439}
3440
3441// String returns the string representation
3442func (s ApplicationConfiguration) String() string {
3443	return awsutil.Prettify(s)
3444}
3445
3446// GoString returns the string representation
3447func (s ApplicationConfiguration) GoString() string {
3448	return s.String()
3449}
3450
3451// Validate inspects the fields of the type to determine if they are valid.
3452func (s *ApplicationConfiguration) Validate() error {
3453	invalidParams := request.ErrInvalidParams{Context: "ApplicationConfiguration"}
3454	if s.ApplicationCodeConfiguration == nil {
3455		invalidParams.Add(request.NewErrParamRequired("ApplicationCodeConfiguration"))
3456	}
3457	if s.ApplicationCodeConfiguration != nil {
3458		if err := s.ApplicationCodeConfiguration.Validate(); err != nil {
3459			invalidParams.AddNested("ApplicationCodeConfiguration", err.(request.ErrInvalidParams))
3460		}
3461	}
3462	if s.ApplicationSnapshotConfiguration != nil {
3463		if err := s.ApplicationSnapshotConfiguration.Validate(); err != nil {
3464			invalidParams.AddNested("ApplicationSnapshotConfiguration", err.(request.ErrInvalidParams))
3465		}
3466	}
3467	if s.EnvironmentProperties != nil {
3468		if err := s.EnvironmentProperties.Validate(); err != nil {
3469			invalidParams.AddNested("EnvironmentProperties", err.(request.ErrInvalidParams))
3470		}
3471	}
3472	if s.FlinkApplicationConfiguration != nil {
3473		if err := s.FlinkApplicationConfiguration.Validate(); err != nil {
3474			invalidParams.AddNested("FlinkApplicationConfiguration", err.(request.ErrInvalidParams))
3475		}
3476	}
3477	if s.SqlApplicationConfiguration != nil {
3478		if err := s.SqlApplicationConfiguration.Validate(); err != nil {
3479			invalidParams.AddNested("SqlApplicationConfiguration", err.(request.ErrInvalidParams))
3480		}
3481	}
3482	if s.VpcConfigurations != nil {
3483		for i, v := range s.VpcConfigurations {
3484			if v == nil {
3485				continue
3486			}
3487			if err := v.Validate(); err != nil {
3488				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigurations", i), err.(request.ErrInvalidParams))
3489			}
3490		}
3491	}
3492
3493	if invalidParams.Len() > 0 {
3494		return invalidParams
3495	}
3496	return nil
3497}
3498
3499// SetApplicationCodeConfiguration sets the ApplicationCodeConfiguration field's value.
3500func (s *ApplicationConfiguration) SetApplicationCodeConfiguration(v *ApplicationCodeConfiguration) *ApplicationConfiguration {
3501	s.ApplicationCodeConfiguration = v
3502	return s
3503}
3504
3505// SetApplicationSnapshotConfiguration sets the ApplicationSnapshotConfiguration field's value.
3506func (s *ApplicationConfiguration) SetApplicationSnapshotConfiguration(v *ApplicationSnapshotConfiguration) *ApplicationConfiguration {
3507	s.ApplicationSnapshotConfiguration = v
3508	return s
3509}
3510
3511// SetEnvironmentProperties sets the EnvironmentProperties field's value.
3512func (s *ApplicationConfiguration) SetEnvironmentProperties(v *EnvironmentProperties) *ApplicationConfiguration {
3513	s.EnvironmentProperties = v
3514	return s
3515}
3516
3517// SetFlinkApplicationConfiguration sets the FlinkApplicationConfiguration field's value.
3518func (s *ApplicationConfiguration) SetFlinkApplicationConfiguration(v *FlinkApplicationConfiguration) *ApplicationConfiguration {
3519	s.FlinkApplicationConfiguration = v
3520	return s
3521}
3522
3523// SetSqlApplicationConfiguration sets the SqlApplicationConfiguration field's value.
3524func (s *ApplicationConfiguration) SetSqlApplicationConfiguration(v *SqlApplicationConfiguration) *ApplicationConfiguration {
3525	s.SqlApplicationConfiguration = v
3526	return s
3527}
3528
3529// SetVpcConfigurations sets the VpcConfigurations field's value.
3530func (s *ApplicationConfiguration) SetVpcConfigurations(v []*VpcConfiguration) *ApplicationConfiguration {
3531	s.VpcConfigurations = v
3532	return s
3533}
3534
3535// Describes details about the application code and starting parameters for
3536// an Amazon Kinesis Data Analytics application.
3537type ApplicationConfigurationDescription struct {
3538	_ struct{} `type:"structure"`
3539
3540	// The details about the application code for a Java-based Kinesis Data Analytics
3541	// application.
3542	ApplicationCodeConfigurationDescription *ApplicationCodeConfigurationDescription `type:"structure"`
3543
3544	// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics
3545	// application.
3546	ApplicationSnapshotConfigurationDescription *ApplicationSnapshotConfigurationDescription `type:"structure"`
3547
3548	// Describes execution properties for a Java-based Kinesis Data Analytics application.
3549	EnvironmentPropertyDescriptions *EnvironmentPropertyDescriptions `type:"structure"`
3550
3551	// The details about a Java-based Kinesis Data Analytics application.
3552	FlinkApplicationConfigurationDescription *FlinkApplicationConfigurationDescription `type:"structure"`
3553
3554	// The details about the starting properties for a Kinesis Data Analytics application.
3555	RunConfigurationDescription *RunConfigurationDescription `type:"structure"`
3556
3557	// The details about inputs, outputs, and reference data sources for an SQL-based
3558	// Kinesis Data Analytics application.
3559	SqlApplicationConfigurationDescription *SqlApplicationConfigurationDescription `type:"structure"`
3560
3561	// The array of descriptions of VPC configurations available to the application.
3562	VpcConfigurationDescriptions []*VpcConfigurationDescription `type:"list"`
3563}
3564
3565// String returns the string representation
3566func (s ApplicationConfigurationDescription) String() string {
3567	return awsutil.Prettify(s)
3568}
3569
3570// GoString returns the string representation
3571func (s ApplicationConfigurationDescription) GoString() string {
3572	return s.String()
3573}
3574
3575// SetApplicationCodeConfigurationDescription sets the ApplicationCodeConfigurationDescription field's value.
3576func (s *ApplicationConfigurationDescription) SetApplicationCodeConfigurationDescription(v *ApplicationCodeConfigurationDescription) *ApplicationConfigurationDescription {
3577	s.ApplicationCodeConfigurationDescription = v
3578	return s
3579}
3580
3581// SetApplicationSnapshotConfigurationDescription sets the ApplicationSnapshotConfigurationDescription field's value.
3582func (s *ApplicationConfigurationDescription) SetApplicationSnapshotConfigurationDescription(v *ApplicationSnapshotConfigurationDescription) *ApplicationConfigurationDescription {
3583	s.ApplicationSnapshotConfigurationDescription = v
3584	return s
3585}
3586
3587// SetEnvironmentPropertyDescriptions sets the EnvironmentPropertyDescriptions field's value.
3588func (s *ApplicationConfigurationDescription) SetEnvironmentPropertyDescriptions(v *EnvironmentPropertyDescriptions) *ApplicationConfigurationDescription {
3589	s.EnvironmentPropertyDescriptions = v
3590	return s
3591}
3592
3593// SetFlinkApplicationConfigurationDescription sets the FlinkApplicationConfigurationDescription field's value.
3594func (s *ApplicationConfigurationDescription) SetFlinkApplicationConfigurationDescription(v *FlinkApplicationConfigurationDescription) *ApplicationConfigurationDescription {
3595	s.FlinkApplicationConfigurationDescription = v
3596	return s
3597}
3598
3599// SetRunConfigurationDescription sets the RunConfigurationDescription field's value.
3600func (s *ApplicationConfigurationDescription) SetRunConfigurationDescription(v *RunConfigurationDescription) *ApplicationConfigurationDescription {
3601	s.RunConfigurationDescription = v
3602	return s
3603}
3604
3605// SetSqlApplicationConfigurationDescription sets the SqlApplicationConfigurationDescription field's value.
3606func (s *ApplicationConfigurationDescription) SetSqlApplicationConfigurationDescription(v *SqlApplicationConfigurationDescription) *ApplicationConfigurationDescription {
3607	s.SqlApplicationConfigurationDescription = v
3608	return s
3609}
3610
3611// SetVpcConfigurationDescriptions sets the VpcConfigurationDescriptions field's value.
3612func (s *ApplicationConfigurationDescription) SetVpcConfigurationDescriptions(v []*VpcConfigurationDescription) *ApplicationConfigurationDescription {
3613	s.VpcConfigurationDescriptions = v
3614	return s
3615}
3616
3617// Describes updates to an application's configuration.
3618type ApplicationConfigurationUpdate struct {
3619	_ struct{} `type:"structure"`
3620
3621	// Describes updates to a Java-based Kinesis Data Analytics application's code
3622	// configuration.
3623	ApplicationCodeConfigurationUpdate *ApplicationCodeConfigurationUpdate `type:"structure"`
3624
3625	// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics
3626	// application.
3627	ApplicationSnapshotConfigurationUpdate *ApplicationSnapshotConfigurationUpdate `type:"structure"`
3628
3629	// Describes updates to the environment properties for a Java-based Kinesis
3630	// Data Analytics application.
3631	EnvironmentPropertyUpdates *EnvironmentPropertyUpdates `type:"structure"`
3632
3633	// Describes updates to a Java-based Kinesis Data Analytics application's configuration.
3634	FlinkApplicationConfigurationUpdate *FlinkApplicationConfigurationUpdate `type:"structure"`
3635
3636	// Describes updates to an SQL-based Kinesis Data Analytics application's configuration.
3637	SqlApplicationConfigurationUpdate *SqlApplicationConfigurationUpdate `type:"structure"`
3638
3639	// Updates to the array of descriptions of VPC configurations available to the
3640	// application.
3641	VpcConfigurationUpdates []*VpcConfigurationUpdate `type:"list"`
3642}
3643
3644// String returns the string representation
3645func (s ApplicationConfigurationUpdate) String() string {
3646	return awsutil.Prettify(s)
3647}
3648
3649// GoString returns the string representation
3650func (s ApplicationConfigurationUpdate) GoString() string {
3651	return s.String()
3652}
3653
3654// Validate inspects the fields of the type to determine if they are valid.
3655func (s *ApplicationConfigurationUpdate) Validate() error {
3656	invalidParams := request.ErrInvalidParams{Context: "ApplicationConfigurationUpdate"}
3657	if s.ApplicationCodeConfigurationUpdate != nil {
3658		if err := s.ApplicationCodeConfigurationUpdate.Validate(); err != nil {
3659			invalidParams.AddNested("ApplicationCodeConfigurationUpdate", err.(request.ErrInvalidParams))
3660		}
3661	}
3662	if s.ApplicationSnapshotConfigurationUpdate != nil {
3663		if err := s.ApplicationSnapshotConfigurationUpdate.Validate(); err != nil {
3664			invalidParams.AddNested("ApplicationSnapshotConfigurationUpdate", err.(request.ErrInvalidParams))
3665		}
3666	}
3667	if s.EnvironmentPropertyUpdates != nil {
3668		if err := s.EnvironmentPropertyUpdates.Validate(); err != nil {
3669			invalidParams.AddNested("EnvironmentPropertyUpdates", err.(request.ErrInvalidParams))
3670		}
3671	}
3672	if s.FlinkApplicationConfigurationUpdate != nil {
3673		if err := s.FlinkApplicationConfigurationUpdate.Validate(); err != nil {
3674			invalidParams.AddNested("FlinkApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
3675		}
3676	}
3677	if s.SqlApplicationConfigurationUpdate != nil {
3678		if err := s.SqlApplicationConfigurationUpdate.Validate(); err != nil {
3679			invalidParams.AddNested("SqlApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
3680		}
3681	}
3682	if s.VpcConfigurationUpdates != nil {
3683		for i, v := range s.VpcConfigurationUpdates {
3684			if v == nil {
3685				continue
3686			}
3687			if err := v.Validate(); err != nil {
3688				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigurationUpdates", i), err.(request.ErrInvalidParams))
3689			}
3690		}
3691	}
3692
3693	if invalidParams.Len() > 0 {
3694		return invalidParams
3695	}
3696	return nil
3697}
3698
3699// SetApplicationCodeConfigurationUpdate sets the ApplicationCodeConfigurationUpdate field's value.
3700func (s *ApplicationConfigurationUpdate) SetApplicationCodeConfigurationUpdate(v *ApplicationCodeConfigurationUpdate) *ApplicationConfigurationUpdate {
3701	s.ApplicationCodeConfigurationUpdate = v
3702	return s
3703}
3704
3705// SetApplicationSnapshotConfigurationUpdate sets the ApplicationSnapshotConfigurationUpdate field's value.
3706func (s *ApplicationConfigurationUpdate) SetApplicationSnapshotConfigurationUpdate(v *ApplicationSnapshotConfigurationUpdate) *ApplicationConfigurationUpdate {
3707	s.ApplicationSnapshotConfigurationUpdate = v
3708	return s
3709}
3710
3711// SetEnvironmentPropertyUpdates sets the EnvironmentPropertyUpdates field's value.
3712func (s *ApplicationConfigurationUpdate) SetEnvironmentPropertyUpdates(v *EnvironmentPropertyUpdates) *ApplicationConfigurationUpdate {
3713	s.EnvironmentPropertyUpdates = v
3714	return s
3715}
3716
3717// SetFlinkApplicationConfigurationUpdate sets the FlinkApplicationConfigurationUpdate field's value.
3718func (s *ApplicationConfigurationUpdate) SetFlinkApplicationConfigurationUpdate(v *FlinkApplicationConfigurationUpdate) *ApplicationConfigurationUpdate {
3719	s.FlinkApplicationConfigurationUpdate = v
3720	return s
3721}
3722
3723// SetSqlApplicationConfigurationUpdate sets the SqlApplicationConfigurationUpdate field's value.
3724func (s *ApplicationConfigurationUpdate) SetSqlApplicationConfigurationUpdate(v *SqlApplicationConfigurationUpdate) *ApplicationConfigurationUpdate {
3725	s.SqlApplicationConfigurationUpdate = v
3726	return s
3727}
3728
3729// SetVpcConfigurationUpdates sets the VpcConfigurationUpdates field's value.
3730func (s *ApplicationConfigurationUpdate) SetVpcConfigurationUpdates(v []*VpcConfigurationUpdate) *ApplicationConfigurationUpdate {
3731	s.VpcConfigurationUpdates = v
3732	return s
3733}
3734
3735// Describes the application, including the application Amazon Resource Name
3736// (ARN), status, latest version, and input and output configurations.
3737type ApplicationDetail struct {
3738	_ struct{} `type:"structure"`
3739
3740	// The ARN of the application.
3741	//
3742	// ApplicationARN is a required field
3743	ApplicationARN *string `min:"1" type:"string" required:"true"`
3744
3745	// Provides details about the application's SQL or Java code and starting parameters.
3746	ApplicationConfigurationDescription *ApplicationConfigurationDescription `type:"structure"`
3747
3748	// The description of the application.
3749	ApplicationDescription *string `type:"string"`
3750
3751	// The name of the application.
3752	//
3753	// ApplicationName is a required field
3754	ApplicationName *string `min:"1" type:"string" required:"true"`
3755
3756	// The status of the application.
3757	//
3758	// ApplicationStatus is a required field
3759	ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"`
3760
3761	// Provides the current application version. Kinesis Data Analytics updates
3762	// the ApplicationVersionId each time you update the application.
3763	//
3764	// ApplicationVersionId is a required field
3765	ApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
3766
3767	// Describes the application Amazon CloudWatch logging options.
3768	CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"`
3769
3770	// The current timestamp when the application was created.
3771	CreateTimestamp *time.Time `type:"timestamp"`
3772
3773	// The current timestamp when the application was last updated.
3774	LastUpdateTimestamp *time.Time `type:"timestamp"`
3775
3776	// The runtime environment for the application (SQL-1.0 or FLINK-1_6).
3777	//
3778	// RuntimeEnvironment is a required field
3779	RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"`
3780
3781	// Specifies the IAM role that the application uses to access external resources.
3782	ServiceExecutionRole *string `min:"1" type:"string"`
3783}
3784
3785// String returns the string representation
3786func (s ApplicationDetail) String() string {
3787	return awsutil.Prettify(s)
3788}
3789
3790// GoString returns the string representation
3791func (s ApplicationDetail) GoString() string {
3792	return s.String()
3793}
3794
3795// SetApplicationARN sets the ApplicationARN field's value.
3796func (s *ApplicationDetail) SetApplicationARN(v string) *ApplicationDetail {
3797	s.ApplicationARN = &v
3798	return s
3799}
3800
3801// SetApplicationConfigurationDescription sets the ApplicationConfigurationDescription field's value.
3802func (s *ApplicationDetail) SetApplicationConfigurationDescription(v *ApplicationConfigurationDescription) *ApplicationDetail {
3803	s.ApplicationConfigurationDescription = v
3804	return s
3805}
3806
3807// SetApplicationDescription sets the ApplicationDescription field's value.
3808func (s *ApplicationDetail) SetApplicationDescription(v string) *ApplicationDetail {
3809	s.ApplicationDescription = &v
3810	return s
3811}
3812
3813// SetApplicationName sets the ApplicationName field's value.
3814func (s *ApplicationDetail) SetApplicationName(v string) *ApplicationDetail {
3815	s.ApplicationName = &v
3816	return s
3817}
3818
3819// SetApplicationStatus sets the ApplicationStatus field's value.
3820func (s *ApplicationDetail) SetApplicationStatus(v string) *ApplicationDetail {
3821	s.ApplicationStatus = &v
3822	return s
3823}
3824
3825// SetApplicationVersionId sets the ApplicationVersionId field's value.
3826func (s *ApplicationDetail) SetApplicationVersionId(v int64) *ApplicationDetail {
3827	s.ApplicationVersionId = &v
3828	return s
3829}
3830
3831// SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value.
3832func (s *ApplicationDetail) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *ApplicationDetail {
3833	s.CloudWatchLoggingOptionDescriptions = v
3834	return s
3835}
3836
3837// SetCreateTimestamp sets the CreateTimestamp field's value.
3838func (s *ApplicationDetail) SetCreateTimestamp(v time.Time) *ApplicationDetail {
3839	s.CreateTimestamp = &v
3840	return s
3841}
3842
3843// SetLastUpdateTimestamp sets the LastUpdateTimestamp field's value.
3844func (s *ApplicationDetail) SetLastUpdateTimestamp(v time.Time) *ApplicationDetail {
3845	s.LastUpdateTimestamp = &v
3846	return s
3847}
3848
3849// SetRuntimeEnvironment sets the RuntimeEnvironment field's value.
3850func (s *ApplicationDetail) SetRuntimeEnvironment(v string) *ApplicationDetail {
3851	s.RuntimeEnvironment = &v
3852	return s
3853}
3854
3855// SetServiceExecutionRole sets the ServiceExecutionRole field's value.
3856func (s *ApplicationDetail) SetServiceExecutionRole(v string) *ApplicationDetail {
3857	s.ServiceExecutionRole = &v
3858	return s
3859}
3860
3861// Specifies the method and snapshot to use when restarting an application using
3862// previously saved application state.
3863type ApplicationRestoreConfiguration struct {
3864	_ struct{} `type:"structure"`
3865
3866	// Specifies how the application should be restored.
3867	//
3868	// ApplicationRestoreType is a required field
3869	ApplicationRestoreType *string `type:"string" required:"true" enum:"ApplicationRestoreType"`
3870
3871	// The identifier of an existing snapshot of application state to use to restart
3872	// an application. The application uses this value if RESTORE_FROM_CUSTOM_SNAPSHOT
3873	// is specified for the ApplicationRestoreType.
3874	SnapshotName *string `min:"1" type:"string"`
3875}
3876
3877// String returns the string representation
3878func (s ApplicationRestoreConfiguration) String() string {
3879	return awsutil.Prettify(s)
3880}
3881
3882// GoString returns the string representation
3883func (s ApplicationRestoreConfiguration) GoString() string {
3884	return s.String()
3885}
3886
3887// Validate inspects the fields of the type to determine if they are valid.
3888func (s *ApplicationRestoreConfiguration) Validate() error {
3889	invalidParams := request.ErrInvalidParams{Context: "ApplicationRestoreConfiguration"}
3890	if s.ApplicationRestoreType == nil {
3891		invalidParams.Add(request.NewErrParamRequired("ApplicationRestoreType"))
3892	}
3893	if s.SnapshotName != nil && len(*s.SnapshotName) < 1 {
3894		invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1))
3895	}
3896
3897	if invalidParams.Len() > 0 {
3898		return invalidParams
3899	}
3900	return nil
3901}
3902
3903// SetApplicationRestoreType sets the ApplicationRestoreType field's value.
3904func (s *ApplicationRestoreConfiguration) SetApplicationRestoreType(v string) *ApplicationRestoreConfiguration {
3905	s.ApplicationRestoreType = &v
3906	return s
3907}
3908
3909// SetSnapshotName sets the SnapshotName field's value.
3910func (s *ApplicationRestoreConfiguration) SetSnapshotName(v string) *ApplicationRestoreConfiguration {
3911	s.SnapshotName = &v
3912	return s
3913}
3914
3915// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics
3916// application.
3917type ApplicationSnapshotConfiguration struct {
3918	_ struct{} `type:"structure"`
3919
3920	// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics
3921	// application.
3922	//
3923	// SnapshotsEnabled is a required field
3924	SnapshotsEnabled *bool `type:"boolean" required:"true"`
3925}
3926
3927// String returns the string representation
3928func (s ApplicationSnapshotConfiguration) String() string {
3929	return awsutil.Prettify(s)
3930}
3931
3932// GoString returns the string representation
3933func (s ApplicationSnapshotConfiguration) GoString() string {
3934	return s.String()
3935}
3936
3937// Validate inspects the fields of the type to determine if they are valid.
3938func (s *ApplicationSnapshotConfiguration) Validate() error {
3939	invalidParams := request.ErrInvalidParams{Context: "ApplicationSnapshotConfiguration"}
3940	if s.SnapshotsEnabled == nil {
3941		invalidParams.Add(request.NewErrParamRequired("SnapshotsEnabled"))
3942	}
3943
3944	if invalidParams.Len() > 0 {
3945		return invalidParams
3946	}
3947	return nil
3948}
3949
3950// SetSnapshotsEnabled sets the SnapshotsEnabled field's value.
3951func (s *ApplicationSnapshotConfiguration) SetSnapshotsEnabled(v bool) *ApplicationSnapshotConfiguration {
3952	s.SnapshotsEnabled = &v
3953	return s
3954}
3955
3956// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics
3957// application.
3958type ApplicationSnapshotConfigurationDescription struct {
3959	_ struct{} `type:"structure"`
3960
3961	// Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics
3962	// application.
3963	//
3964	// SnapshotsEnabled is a required field
3965	SnapshotsEnabled *bool `type:"boolean" required:"true"`
3966}
3967
3968// String returns the string representation
3969func (s ApplicationSnapshotConfigurationDescription) String() string {
3970	return awsutil.Prettify(s)
3971}
3972
3973// GoString returns the string representation
3974func (s ApplicationSnapshotConfigurationDescription) GoString() string {
3975	return s.String()
3976}
3977
3978// SetSnapshotsEnabled sets the SnapshotsEnabled field's value.
3979func (s *ApplicationSnapshotConfigurationDescription) SetSnapshotsEnabled(v bool) *ApplicationSnapshotConfigurationDescription {
3980	s.SnapshotsEnabled = &v
3981	return s
3982}
3983
3984// Describes updates to whether snapshots are enabled for a Java-based Kinesis
3985// Data Analytics application.
3986type ApplicationSnapshotConfigurationUpdate struct {
3987	_ struct{} `type:"structure"`
3988
3989	// Describes updates to whether snapshots are enabled for a Java-based Kinesis
3990	// Data Analytics application.
3991	//
3992	// SnapshotsEnabledUpdate is a required field
3993	SnapshotsEnabledUpdate *bool `type:"boolean" required:"true"`
3994}
3995
3996// String returns the string representation
3997func (s ApplicationSnapshotConfigurationUpdate) String() string {
3998	return awsutil.Prettify(s)
3999}
4000
4001// GoString returns the string representation
4002func (s ApplicationSnapshotConfigurationUpdate) GoString() string {
4003	return s.String()
4004}
4005
4006// Validate inspects the fields of the type to determine if they are valid.
4007func (s *ApplicationSnapshotConfigurationUpdate) Validate() error {
4008	invalidParams := request.ErrInvalidParams{Context: "ApplicationSnapshotConfigurationUpdate"}
4009	if s.SnapshotsEnabledUpdate == nil {
4010		invalidParams.Add(request.NewErrParamRequired("SnapshotsEnabledUpdate"))
4011	}
4012
4013	if invalidParams.Len() > 0 {
4014		return invalidParams
4015	}
4016	return nil
4017}
4018
4019// SetSnapshotsEnabledUpdate sets the SnapshotsEnabledUpdate field's value.
4020func (s *ApplicationSnapshotConfigurationUpdate) SetSnapshotsEnabledUpdate(v bool) *ApplicationSnapshotConfigurationUpdate {
4021	s.SnapshotsEnabledUpdate = &v
4022	return s
4023}
4024
4025// Provides application summary information, including the application Amazon
4026// Resource Name (ARN), name, and status.
4027type ApplicationSummary struct {
4028	_ struct{} `type:"structure"`
4029
4030	// The ARN of the application.
4031	//
4032	// ApplicationARN is a required field
4033	ApplicationARN *string `min:"1" type:"string" required:"true"`
4034
4035	// The name of the application.
4036	//
4037	// ApplicationName is a required field
4038	ApplicationName *string `min:"1" type:"string" required:"true"`
4039
4040	// The status of the application.
4041	//
4042	// ApplicationStatus is a required field
4043	ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"`
4044
4045	// Provides the current application version.
4046	//
4047	// ApplicationVersionId is a required field
4048	ApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
4049
4050	// The runtime environment for the application (SQL-1.0 or FLINK-1_6).
4051	//
4052	// RuntimeEnvironment is a required field
4053	RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"`
4054}
4055
4056// String returns the string representation
4057func (s ApplicationSummary) String() string {
4058	return awsutil.Prettify(s)
4059}
4060
4061// GoString returns the string representation
4062func (s ApplicationSummary) GoString() string {
4063	return s.String()
4064}
4065
4066// SetApplicationARN sets the ApplicationARN field's value.
4067func (s *ApplicationSummary) SetApplicationARN(v string) *ApplicationSummary {
4068	s.ApplicationARN = &v
4069	return s
4070}
4071
4072// SetApplicationName sets the ApplicationName field's value.
4073func (s *ApplicationSummary) SetApplicationName(v string) *ApplicationSummary {
4074	s.ApplicationName = &v
4075	return s
4076}
4077
4078// SetApplicationStatus sets the ApplicationStatus field's value.
4079func (s *ApplicationSummary) SetApplicationStatus(v string) *ApplicationSummary {
4080	s.ApplicationStatus = &v
4081	return s
4082}
4083
4084// SetApplicationVersionId sets the ApplicationVersionId field's value.
4085func (s *ApplicationSummary) SetApplicationVersionId(v int64) *ApplicationSummary {
4086	s.ApplicationVersionId = &v
4087	return s
4088}
4089
4090// SetRuntimeEnvironment sets the RuntimeEnvironment field's value.
4091func (s *ApplicationSummary) SetRuntimeEnvironment(v string) *ApplicationSummary {
4092	s.RuntimeEnvironment = &v
4093	return s
4094}
4095
4096// For an SQL-based application, provides additional mapping information when
4097// the record format uses delimiters, such as CSV. For example, the following
4098// sample records use CSV format, where the records use the '\n' as the row
4099// delimiter and a comma (",") as the column delimiter:
4100//
4101// "name1", "address1"
4102//
4103// "name2", "address2"
4104type CSVMappingParameters struct {
4105	_ struct{} `type:"structure"`
4106
4107	// The column delimiter. For example, in a CSV format, a comma (",") is the
4108	// typical column delimiter.
4109	//
4110	// RecordColumnDelimiter is a required field
4111	RecordColumnDelimiter *string `min:"1" type:"string" required:"true"`
4112
4113	// The row delimiter. For example, in a CSV format, '\n' is the typical row
4114	// delimiter.
4115	//
4116	// RecordRowDelimiter is a required field
4117	RecordRowDelimiter *string `min:"1" type:"string" required:"true"`
4118}
4119
4120// String returns the string representation
4121func (s CSVMappingParameters) String() string {
4122	return awsutil.Prettify(s)
4123}
4124
4125// GoString returns the string representation
4126func (s CSVMappingParameters) GoString() string {
4127	return s.String()
4128}
4129
4130// Validate inspects the fields of the type to determine if they are valid.
4131func (s *CSVMappingParameters) Validate() error {
4132	invalidParams := request.ErrInvalidParams{Context: "CSVMappingParameters"}
4133	if s.RecordColumnDelimiter == nil {
4134		invalidParams.Add(request.NewErrParamRequired("RecordColumnDelimiter"))
4135	}
4136	if s.RecordColumnDelimiter != nil && len(*s.RecordColumnDelimiter) < 1 {
4137		invalidParams.Add(request.NewErrParamMinLen("RecordColumnDelimiter", 1))
4138	}
4139	if s.RecordRowDelimiter == nil {
4140		invalidParams.Add(request.NewErrParamRequired("RecordRowDelimiter"))
4141	}
4142	if s.RecordRowDelimiter != nil && len(*s.RecordRowDelimiter) < 1 {
4143		invalidParams.Add(request.NewErrParamMinLen("RecordRowDelimiter", 1))
4144	}
4145
4146	if invalidParams.Len() > 0 {
4147		return invalidParams
4148	}
4149	return nil
4150}
4151
4152// SetRecordColumnDelimiter sets the RecordColumnDelimiter field's value.
4153func (s *CSVMappingParameters) SetRecordColumnDelimiter(v string) *CSVMappingParameters {
4154	s.RecordColumnDelimiter = &v
4155	return s
4156}
4157
4158// SetRecordRowDelimiter sets the RecordRowDelimiter field's value.
4159func (s *CSVMappingParameters) SetRecordRowDelimiter(v string) *CSVMappingParameters {
4160	s.RecordRowDelimiter = &v
4161	return s
4162}
4163
4164// Describes an application's checkpointing configuration. Checkpointing is
4165// the process of persisting application state for fault tolerance. For more
4166// information, see Checkpoints for Fault Tolerance (https://ci.apache.org/projects/flink/flink-docs-release-1.6/concepts/programming-model.html#checkpoints-for-fault-tolerance)
4167// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/).
4168type CheckpointConfiguration struct {
4169	_ struct{} `type:"structure"`
4170
4171	// Describes the interval in milliseconds between checkpoint operations.
4172	//
4173	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4174	// will use a CheckpointInterval vaue of 60000, even if this value is set to
4175	// another value using this API or in application code.
4176	CheckpointInterval *int64 `min:"1" type:"long"`
4177
4178	// Describes whether checkpointing is enabled for a Java-based Kinesis Data
4179	// Analytics application.
4180	//
4181	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4182	// will use a CheckpointingEnabled value of true, even if this value is set
4183	// to another value using this API or in application code.
4184	CheckpointingEnabled *bool `type:"boolean"`
4185
4186	// Describes whether the application uses Amazon Kinesis Data Analytics' default
4187	// checkpointing behavior. You must set this property to CUSTOM in order to
4188	// set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints
4189	// parameters.
4190	//
4191	// If this value is set to DEFAULT, the application will use the following values,
4192	// even if they are set to other values using APIs or application code:
4193	//
4194	//    * CheckpointingEnabled: true
4195	//
4196	//    * CheckpointInterval: 60000
4197	//
4198	//    * MinPauseBetweenCheckpoints: 5000
4199	//
4200	// ConfigurationType is a required field
4201	ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"`
4202
4203	// Describes the minimum time in milliseconds after a checkpoint operation completes
4204	// that a new checkpoint operation can start. If a checkpoint operation takes
4205	// longer than the CheckpointInterval, the application otherwise performs continual
4206	// checkpoint operations. For more information, see Tuning Checkpointing (https://ci.apache.org/projects/flink/flink-docs-stable/ops/state/large_state_tuning.html#tuning-checkpointing)
4207	// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/).
4208	//
4209	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4210	// will use a MinPauseBetweenCheckpoints value of 5000, even if this value is
4211	// set using this API or in application code.
4212	MinPauseBetweenCheckpoints *int64 `type:"long"`
4213}
4214
4215// String returns the string representation
4216func (s CheckpointConfiguration) String() string {
4217	return awsutil.Prettify(s)
4218}
4219
4220// GoString returns the string representation
4221func (s CheckpointConfiguration) GoString() string {
4222	return s.String()
4223}
4224
4225// Validate inspects the fields of the type to determine if they are valid.
4226func (s *CheckpointConfiguration) Validate() error {
4227	invalidParams := request.ErrInvalidParams{Context: "CheckpointConfiguration"}
4228	if s.CheckpointInterval != nil && *s.CheckpointInterval < 1 {
4229		invalidParams.Add(request.NewErrParamMinValue("CheckpointInterval", 1))
4230	}
4231	if s.ConfigurationType == nil {
4232		invalidParams.Add(request.NewErrParamRequired("ConfigurationType"))
4233	}
4234
4235	if invalidParams.Len() > 0 {
4236		return invalidParams
4237	}
4238	return nil
4239}
4240
4241// SetCheckpointInterval sets the CheckpointInterval field's value.
4242func (s *CheckpointConfiguration) SetCheckpointInterval(v int64) *CheckpointConfiguration {
4243	s.CheckpointInterval = &v
4244	return s
4245}
4246
4247// SetCheckpointingEnabled sets the CheckpointingEnabled field's value.
4248func (s *CheckpointConfiguration) SetCheckpointingEnabled(v bool) *CheckpointConfiguration {
4249	s.CheckpointingEnabled = &v
4250	return s
4251}
4252
4253// SetConfigurationType sets the ConfigurationType field's value.
4254func (s *CheckpointConfiguration) SetConfigurationType(v string) *CheckpointConfiguration {
4255	s.ConfigurationType = &v
4256	return s
4257}
4258
4259// SetMinPauseBetweenCheckpoints sets the MinPauseBetweenCheckpoints field's value.
4260func (s *CheckpointConfiguration) SetMinPauseBetweenCheckpoints(v int64) *CheckpointConfiguration {
4261	s.MinPauseBetweenCheckpoints = &v
4262	return s
4263}
4264
4265// Describes checkpointing parameters for a Java-based Amazon Kinesis Data Analytics
4266// application.
4267type CheckpointConfigurationDescription struct {
4268	_ struct{} `type:"structure"`
4269
4270	// Describes the interval in milliseconds between checkpoint operations.
4271	//
4272	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4273	// will use a CheckpointInterval vaue of 60000, even if this value is set to
4274	// another value using this API or in application code.
4275	CheckpointInterval *int64 `min:"1" type:"long"`
4276
4277	// Describes whether checkpointing is enabled for a Java-based Kinesis Data
4278	// Analytics application.
4279	//
4280	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4281	// will use a CheckpointingEnabled value of true, even if this value is set
4282	// to another value using this API or in application code.
4283	CheckpointingEnabled *bool `type:"boolean"`
4284
4285	// Describes whether the application uses the default checkpointing behavior
4286	// in Kinesis Data Analytics.
4287	//
4288	// If this value is set to DEFAULT, the application will use the following values,
4289	// even if they are set to other values using APIs or application code:
4290	//
4291	//    * CheckpointingEnabled: true
4292	//
4293	//    * CheckpointInterval: 60000
4294	//
4295	//    * MinPauseBetweenCheckpoints: 5000
4296	ConfigurationType *string `type:"string" enum:"ConfigurationType"`
4297
4298	// Describes the minimum time in milliseconds after a checkpoint operation completes
4299	// that a new checkpoint operation can start.
4300	//
4301	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4302	// will use a MinPauseBetweenCheckpoints value of 5000, even if this value is
4303	// set using this API or in application code.
4304	MinPauseBetweenCheckpoints *int64 `type:"long"`
4305}
4306
4307// String returns the string representation
4308func (s CheckpointConfigurationDescription) String() string {
4309	return awsutil.Prettify(s)
4310}
4311
4312// GoString returns the string representation
4313func (s CheckpointConfigurationDescription) GoString() string {
4314	return s.String()
4315}
4316
4317// SetCheckpointInterval sets the CheckpointInterval field's value.
4318func (s *CheckpointConfigurationDescription) SetCheckpointInterval(v int64) *CheckpointConfigurationDescription {
4319	s.CheckpointInterval = &v
4320	return s
4321}
4322
4323// SetCheckpointingEnabled sets the CheckpointingEnabled field's value.
4324func (s *CheckpointConfigurationDescription) SetCheckpointingEnabled(v bool) *CheckpointConfigurationDescription {
4325	s.CheckpointingEnabled = &v
4326	return s
4327}
4328
4329// SetConfigurationType sets the ConfigurationType field's value.
4330func (s *CheckpointConfigurationDescription) SetConfigurationType(v string) *CheckpointConfigurationDescription {
4331	s.ConfigurationType = &v
4332	return s
4333}
4334
4335// SetMinPauseBetweenCheckpoints sets the MinPauseBetweenCheckpoints field's value.
4336func (s *CheckpointConfigurationDescription) SetMinPauseBetweenCheckpoints(v int64) *CheckpointConfigurationDescription {
4337	s.MinPauseBetweenCheckpoints = &v
4338	return s
4339}
4340
4341// Describes updates to the checkpointing parameters for a Java-based Amazon
4342// Kinesis Data Analytics application.
4343type CheckpointConfigurationUpdate struct {
4344	_ struct{} `type:"structure"`
4345
4346	// Describes updates to the interval in milliseconds between checkpoint operations.
4347	//
4348	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4349	// will use a CheckpointInterval vaue of 60000, even if this value is set to
4350	// another value using this API or in application code.
4351	CheckpointIntervalUpdate *int64 `min:"1" type:"long"`
4352
4353	// Describes updates to whether checkpointing is enabled for an application.
4354	//
4355	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4356	// will use a CheckpointingEnabled value of true, even if this value is set
4357	// to another value using this API or in application code.
4358	CheckpointingEnabledUpdate *bool `type:"boolean"`
4359
4360	// Describes updates to whether the application uses the default checkpointing
4361	// behavior of Kinesis Data Analytics. You must set this property to CUSTOM
4362	// in order to set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints
4363	// parameters.
4364	//
4365	// If this value is set to DEFAULT, the application will use the following values,
4366	// even if they are set to other values using APIs or application code:
4367	//
4368	//    * CheckpointingEnabled: true
4369	//
4370	//    * CheckpointInterval: 60000
4371	//
4372	//    * MinPauseBetweenCheckpoints: 5000
4373	ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"`
4374
4375	// Describes updates to the minimum time in milliseconds after a checkpoint
4376	// operation completes that a new checkpoint operation can start.
4377	//
4378	// If CheckpointConfiguration.ConfigurationType is DEFAULT, the application
4379	// will use a MinPauseBetweenCheckpoints value of 5000, even if this value is
4380	// set using this API or in application code.
4381	MinPauseBetweenCheckpointsUpdate *int64 `type:"long"`
4382}
4383
4384// String returns the string representation
4385func (s CheckpointConfigurationUpdate) String() string {
4386	return awsutil.Prettify(s)
4387}
4388
4389// GoString returns the string representation
4390func (s CheckpointConfigurationUpdate) GoString() string {
4391	return s.String()
4392}
4393
4394// Validate inspects the fields of the type to determine if they are valid.
4395func (s *CheckpointConfigurationUpdate) Validate() error {
4396	invalidParams := request.ErrInvalidParams{Context: "CheckpointConfigurationUpdate"}
4397	if s.CheckpointIntervalUpdate != nil && *s.CheckpointIntervalUpdate < 1 {
4398		invalidParams.Add(request.NewErrParamMinValue("CheckpointIntervalUpdate", 1))
4399	}
4400
4401	if invalidParams.Len() > 0 {
4402		return invalidParams
4403	}
4404	return nil
4405}
4406
4407// SetCheckpointIntervalUpdate sets the CheckpointIntervalUpdate field's value.
4408func (s *CheckpointConfigurationUpdate) SetCheckpointIntervalUpdate(v int64) *CheckpointConfigurationUpdate {
4409	s.CheckpointIntervalUpdate = &v
4410	return s
4411}
4412
4413// SetCheckpointingEnabledUpdate sets the CheckpointingEnabledUpdate field's value.
4414func (s *CheckpointConfigurationUpdate) SetCheckpointingEnabledUpdate(v bool) *CheckpointConfigurationUpdate {
4415	s.CheckpointingEnabledUpdate = &v
4416	return s
4417}
4418
4419// SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value.
4420func (s *CheckpointConfigurationUpdate) SetConfigurationTypeUpdate(v string) *CheckpointConfigurationUpdate {
4421	s.ConfigurationTypeUpdate = &v
4422	return s
4423}
4424
4425// SetMinPauseBetweenCheckpointsUpdate sets the MinPauseBetweenCheckpointsUpdate field's value.
4426func (s *CheckpointConfigurationUpdate) SetMinPauseBetweenCheckpointsUpdate(v int64) *CheckpointConfigurationUpdate {
4427	s.MinPauseBetweenCheckpointsUpdate = &v
4428	return s
4429}
4430
4431// Provides a description of Amazon CloudWatch logging options, including the
4432// log stream Amazon Resource Name (ARN).
4433type CloudWatchLoggingOption struct {
4434	_ struct{} `type:"structure"`
4435
4436	// The ARN of the CloudWatch log to receive application messages.
4437	//
4438	// LogStreamARN is a required field
4439	LogStreamARN *string `min:"1" type:"string" required:"true"`
4440}
4441
4442// String returns the string representation
4443func (s CloudWatchLoggingOption) String() string {
4444	return awsutil.Prettify(s)
4445}
4446
4447// GoString returns the string representation
4448func (s CloudWatchLoggingOption) GoString() string {
4449	return s.String()
4450}
4451
4452// Validate inspects the fields of the type to determine if they are valid.
4453func (s *CloudWatchLoggingOption) Validate() error {
4454	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLoggingOption"}
4455	if s.LogStreamARN == nil {
4456		invalidParams.Add(request.NewErrParamRequired("LogStreamARN"))
4457	}
4458	if s.LogStreamARN != nil && len(*s.LogStreamARN) < 1 {
4459		invalidParams.Add(request.NewErrParamMinLen("LogStreamARN", 1))
4460	}
4461
4462	if invalidParams.Len() > 0 {
4463		return invalidParams
4464	}
4465	return nil
4466}
4467
4468// SetLogStreamARN sets the LogStreamARN field's value.
4469func (s *CloudWatchLoggingOption) SetLogStreamARN(v string) *CloudWatchLoggingOption {
4470	s.LogStreamARN = &v
4471	return s
4472}
4473
4474// Describes the Amazon CloudWatch logging option.
4475type CloudWatchLoggingOptionDescription struct {
4476	_ struct{} `type:"structure"`
4477
4478	// The ID of the CloudWatch logging option description.
4479	CloudWatchLoggingOptionId *string `min:"1" type:"string"`
4480
4481	// The Amazon Resource Name (ARN) of the CloudWatch log to receive application
4482	// messages.
4483	//
4484	// LogStreamARN is a required field
4485	LogStreamARN *string `min:"1" type:"string" required:"true"`
4486
4487	// The IAM ARN of the role to use to send application messages.
4488	//
4489	// Provided for backward compatibility. Applications created with the current
4490	// API version have an application-level service execution role rather than
4491	// a resource-level role.
4492	RoleARN *string `min:"1" type:"string"`
4493}
4494
4495// String returns the string representation
4496func (s CloudWatchLoggingOptionDescription) String() string {
4497	return awsutil.Prettify(s)
4498}
4499
4500// GoString returns the string representation
4501func (s CloudWatchLoggingOptionDescription) GoString() string {
4502	return s.String()
4503}
4504
4505// SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value.
4506func (s *CloudWatchLoggingOptionDescription) SetCloudWatchLoggingOptionId(v string) *CloudWatchLoggingOptionDescription {
4507	s.CloudWatchLoggingOptionId = &v
4508	return s
4509}
4510
4511// SetLogStreamARN sets the LogStreamARN field's value.
4512func (s *CloudWatchLoggingOptionDescription) SetLogStreamARN(v string) *CloudWatchLoggingOptionDescription {
4513	s.LogStreamARN = &v
4514	return s
4515}
4516
4517// SetRoleARN sets the RoleARN field's value.
4518func (s *CloudWatchLoggingOptionDescription) SetRoleARN(v string) *CloudWatchLoggingOptionDescription {
4519	s.RoleARN = &v
4520	return s
4521}
4522
4523// Describes the Amazon CloudWatch logging option updates.
4524type CloudWatchLoggingOptionUpdate struct {
4525	_ struct{} `type:"structure"`
4526
4527	// The ID of the CloudWatch logging option to update
4528	//
4529	// CloudWatchLoggingOptionId is a required field
4530	CloudWatchLoggingOptionId *string `min:"1" type:"string" required:"true"`
4531
4532	// The Amazon Resource Name (ARN) of the CloudWatch log to receive application
4533	// messages.
4534	LogStreamARNUpdate *string `min:"1" type:"string"`
4535}
4536
4537// String returns the string representation
4538func (s CloudWatchLoggingOptionUpdate) String() string {
4539	return awsutil.Prettify(s)
4540}
4541
4542// GoString returns the string representation
4543func (s CloudWatchLoggingOptionUpdate) GoString() string {
4544	return s.String()
4545}
4546
4547// Validate inspects the fields of the type to determine if they are valid.
4548func (s *CloudWatchLoggingOptionUpdate) Validate() error {
4549	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLoggingOptionUpdate"}
4550	if s.CloudWatchLoggingOptionId == nil {
4551		invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOptionId"))
4552	}
4553	if s.CloudWatchLoggingOptionId != nil && len(*s.CloudWatchLoggingOptionId) < 1 {
4554		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLoggingOptionId", 1))
4555	}
4556	if s.LogStreamARNUpdate != nil && len(*s.LogStreamARNUpdate) < 1 {
4557		invalidParams.Add(request.NewErrParamMinLen("LogStreamARNUpdate", 1))
4558	}
4559
4560	if invalidParams.Len() > 0 {
4561		return invalidParams
4562	}
4563	return nil
4564}
4565
4566// SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value.
4567func (s *CloudWatchLoggingOptionUpdate) SetCloudWatchLoggingOptionId(v string) *CloudWatchLoggingOptionUpdate {
4568	s.CloudWatchLoggingOptionId = &v
4569	return s
4570}
4571
4572// SetLogStreamARNUpdate sets the LogStreamARNUpdate field's value.
4573func (s *CloudWatchLoggingOptionUpdate) SetLogStreamARNUpdate(v string) *CloudWatchLoggingOptionUpdate {
4574	s.LogStreamARNUpdate = &v
4575	return s
4576}
4577
4578// Specifies either the application code, or the location of the application
4579// code, for a Java-based Amazon Kinesis Data Analytics application.
4580type CodeContent struct {
4581	_ struct{} `type:"structure"`
4582
4583	// Information about the Amazon S3 bucket containing the application code.
4584	S3ContentLocation *S3ContentLocation `type:"structure"`
4585
4586	// The text-format code for a Java-based Kinesis Data Analytics application.
4587	TextContent *string `type:"string"`
4588
4589	// The zip-format code for a Java-based Kinesis Data Analytics application.
4590	//
4591	// ZipFileContent is automatically base64 encoded/decoded by the SDK.
4592	ZipFileContent []byte `type:"blob"`
4593}
4594
4595// String returns the string representation
4596func (s CodeContent) String() string {
4597	return awsutil.Prettify(s)
4598}
4599
4600// GoString returns the string representation
4601func (s CodeContent) GoString() string {
4602	return s.String()
4603}
4604
4605// Validate inspects the fields of the type to determine if they are valid.
4606func (s *CodeContent) Validate() error {
4607	invalidParams := request.ErrInvalidParams{Context: "CodeContent"}
4608	if s.S3ContentLocation != nil {
4609		if err := s.S3ContentLocation.Validate(); err != nil {
4610			invalidParams.AddNested("S3ContentLocation", err.(request.ErrInvalidParams))
4611		}
4612	}
4613
4614	if invalidParams.Len() > 0 {
4615		return invalidParams
4616	}
4617	return nil
4618}
4619
4620// SetS3ContentLocation sets the S3ContentLocation field's value.
4621func (s *CodeContent) SetS3ContentLocation(v *S3ContentLocation) *CodeContent {
4622	s.S3ContentLocation = v
4623	return s
4624}
4625
4626// SetTextContent sets the TextContent field's value.
4627func (s *CodeContent) SetTextContent(v string) *CodeContent {
4628	s.TextContent = &v
4629	return s
4630}
4631
4632// SetZipFileContent sets the ZipFileContent field's value.
4633func (s *CodeContent) SetZipFileContent(v []byte) *CodeContent {
4634	s.ZipFileContent = v
4635	return s
4636}
4637
4638// Describes details about the application code for a Java-based Kinesis Data
4639// Analytics application.
4640type CodeContentDescription struct {
4641	_ struct{} `type:"structure"`
4642
4643	// The checksum that can be used to validate zip-format code.
4644	CodeMD5 *string `min:"128" type:"string"`
4645
4646	// The size in bytes of the application code. Can be used to validate zip-format
4647	// code.
4648	CodeSize *int64 `type:"long"`
4649
4650	// The S3 bucket Amazon Resource Name (ARN), file key, and object version of
4651	// the application code stored in Amazon S3.
4652	S3ApplicationCodeLocationDescription *S3ApplicationCodeLocationDescription `type:"structure"`
4653
4654	// The text-format code
4655	TextContent *string `type:"string"`
4656}
4657
4658// String returns the string representation
4659func (s CodeContentDescription) String() string {
4660	return awsutil.Prettify(s)
4661}
4662
4663// GoString returns the string representation
4664func (s CodeContentDescription) GoString() string {
4665	return s.String()
4666}
4667
4668// SetCodeMD5 sets the CodeMD5 field's value.
4669func (s *CodeContentDescription) SetCodeMD5(v string) *CodeContentDescription {
4670	s.CodeMD5 = &v
4671	return s
4672}
4673
4674// SetCodeSize sets the CodeSize field's value.
4675func (s *CodeContentDescription) SetCodeSize(v int64) *CodeContentDescription {
4676	s.CodeSize = &v
4677	return s
4678}
4679
4680// SetS3ApplicationCodeLocationDescription sets the S3ApplicationCodeLocationDescription field's value.
4681func (s *CodeContentDescription) SetS3ApplicationCodeLocationDescription(v *S3ApplicationCodeLocationDescription) *CodeContentDescription {
4682	s.S3ApplicationCodeLocationDescription = v
4683	return s
4684}
4685
4686// SetTextContent sets the TextContent field's value.
4687func (s *CodeContentDescription) SetTextContent(v string) *CodeContentDescription {
4688	s.TextContent = &v
4689	return s
4690}
4691
4692// Describes an update to the code of a Java-based Kinesis Data Analytics application.
4693type CodeContentUpdate struct {
4694	_ struct{} `type:"structure"`
4695
4696	// Describes an update to the location of code for an application.
4697	S3ContentLocationUpdate *S3ContentLocationUpdate `type:"structure"`
4698
4699	// Describes an update to the text code for an application.
4700	TextContentUpdate *string `type:"string"`
4701
4702	// Describes an update to the zipped code for an application.
4703	//
4704	// ZipFileContentUpdate is automatically base64 encoded/decoded by the SDK.
4705	ZipFileContentUpdate []byte `type:"blob"`
4706}
4707
4708// String returns the string representation
4709func (s CodeContentUpdate) String() string {
4710	return awsutil.Prettify(s)
4711}
4712
4713// GoString returns the string representation
4714func (s CodeContentUpdate) GoString() string {
4715	return s.String()
4716}
4717
4718// Validate inspects the fields of the type to determine if they are valid.
4719func (s *CodeContentUpdate) Validate() error {
4720	invalidParams := request.ErrInvalidParams{Context: "CodeContentUpdate"}
4721	if s.S3ContentLocationUpdate != nil {
4722		if err := s.S3ContentLocationUpdate.Validate(); err != nil {
4723			invalidParams.AddNested("S3ContentLocationUpdate", err.(request.ErrInvalidParams))
4724		}
4725	}
4726
4727	if invalidParams.Len() > 0 {
4728		return invalidParams
4729	}
4730	return nil
4731}
4732
4733// SetS3ContentLocationUpdate sets the S3ContentLocationUpdate field's value.
4734func (s *CodeContentUpdate) SetS3ContentLocationUpdate(v *S3ContentLocationUpdate) *CodeContentUpdate {
4735	s.S3ContentLocationUpdate = v
4736	return s
4737}
4738
4739// SetTextContentUpdate sets the TextContentUpdate field's value.
4740func (s *CodeContentUpdate) SetTextContentUpdate(v string) *CodeContentUpdate {
4741	s.TextContentUpdate = &v
4742	return s
4743}
4744
4745// SetZipFileContentUpdate sets the ZipFileContentUpdate field's value.
4746func (s *CodeContentUpdate) SetZipFileContentUpdate(v []byte) *CodeContentUpdate {
4747	s.ZipFileContentUpdate = v
4748	return s
4749}
4750
4751type CreateApplicationInput struct {
4752	_ struct{} `type:"structure"`
4753
4754	// Use this parameter to configure the application.
4755	ApplicationConfiguration *ApplicationConfiguration `type:"structure"`
4756
4757	// A summary description of the application.
4758	ApplicationDescription *string `type:"string"`
4759
4760	// The name of your application (for example, sample-app).
4761	//
4762	// ApplicationName is a required field
4763	ApplicationName *string `min:"1" type:"string" required:"true"`
4764
4765	// Use this parameter to configure an Amazon CloudWatch log stream to monitor
4766	// application configuration errors.
4767	CloudWatchLoggingOptions []*CloudWatchLoggingOption `type:"list"`
4768
4769	// The runtime environment for the application (SQL-1.0 or FLINK-1_6).
4770	//
4771	// RuntimeEnvironment is a required field
4772	RuntimeEnvironment *string `type:"string" required:"true" enum:"RuntimeEnvironment"`
4773
4774	// The IAM role used by the application to access Kinesis data streams, Kinesis
4775	// Data Firehose delivery streams, Amazon S3 objects, and other external resources.
4776	//
4777	// ServiceExecutionRole is a required field
4778	ServiceExecutionRole *string `min:"1" type:"string" required:"true"`
4779
4780	// A list of one or more tags to assign to the application. A tag is a key-value
4781	// pair that identifies an application. Note that the maximum number of application
4782	// tags includes system tags. The maximum number of user-defined application
4783	// tags is 50. For more information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
4784	Tags []*Tag `min:"1" type:"list"`
4785}
4786
4787// String returns the string representation
4788func (s CreateApplicationInput) String() string {
4789	return awsutil.Prettify(s)
4790}
4791
4792// GoString returns the string representation
4793func (s CreateApplicationInput) GoString() string {
4794	return s.String()
4795}
4796
4797// Validate inspects the fields of the type to determine if they are valid.
4798func (s *CreateApplicationInput) Validate() error {
4799	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
4800	if s.ApplicationName == nil {
4801		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
4802	}
4803	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
4804		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
4805	}
4806	if s.RuntimeEnvironment == nil {
4807		invalidParams.Add(request.NewErrParamRequired("RuntimeEnvironment"))
4808	}
4809	if s.ServiceExecutionRole == nil {
4810		invalidParams.Add(request.NewErrParamRequired("ServiceExecutionRole"))
4811	}
4812	if s.ServiceExecutionRole != nil && len(*s.ServiceExecutionRole) < 1 {
4813		invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRole", 1))
4814	}
4815	if s.Tags != nil && len(s.Tags) < 1 {
4816		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4817	}
4818	if s.ApplicationConfiguration != nil {
4819		if err := s.ApplicationConfiguration.Validate(); err != nil {
4820			invalidParams.AddNested("ApplicationConfiguration", err.(request.ErrInvalidParams))
4821		}
4822	}
4823	if s.CloudWatchLoggingOptions != nil {
4824		for i, v := range s.CloudWatchLoggingOptions {
4825			if v == nil {
4826				continue
4827			}
4828			if err := v.Validate(); err != nil {
4829				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CloudWatchLoggingOptions", i), err.(request.ErrInvalidParams))
4830			}
4831		}
4832	}
4833	if s.Tags != nil {
4834		for i, v := range s.Tags {
4835			if v == nil {
4836				continue
4837			}
4838			if err := v.Validate(); err != nil {
4839				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4840			}
4841		}
4842	}
4843
4844	if invalidParams.Len() > 0 {
4845		return invalidParams
4846	}
4847	return nil
4848}
4849
4850// SetApplicationConfiguration sets the ApplicationConfiguration field's value.
4851func (s *CreateApplicationInput) SetApplicationConfiguration(v *ApplicationConfiguration) *CreateApplicationInput {
4852	s.ApplicationConfiguration = v
4853	return s
4854}
4855
4856// SetApplicationDescription sets the ApplicationDescription field's value.
4857func (s *CreateApplicationInput) SetApplicationDescription(v string) *CreateApplicationInput {
4858	s.ApplicationDescription = &v
4859	return s
4860}
4861
4862// SetApplicationName sets the ApplicationName field's value.
4863func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput {
4864	s.ApplicationName = &v
4865	return s
4866}
4867
4868// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value.
4869func (s *CreateApplicationInput) SetCloudWatchLoggingOptions(v []*CloudWatchLoggingOption) *CreateApplicationInput {
4870	s.CloudWatchLoggingOptions = v
4871	return s
4872}
4873
4874// SetRuntimeEnvironment sets the RuntimeEnvironment field's value.
4875func (s *CreateApplicationInput) SetRuntimeEnvironment(v string) *CreateApplicationInput {
4876	s.RuntimeEnvironment = &v
4877	return s
4878}
4879
4880// SetServiceExecutionRole sets the ServiceExecutionRole field's value.
4881func (s *CreateApplicationInput) SetServiceExecutionRole(v string) *CreateApplicationInput {
4882	s.ServiceExecutionRole = &v
4883	return s
4884}
4885
4886// SetTags sets the Tags field's value.
4887func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput {
4888	s.Tags = v
4889	return s
4890}
4891
4892type CreateApplicationOutput struct {
4893	_ struct{} `type:"structure"`
4894
4895	// In response to your CreateApplication request, Kinesis Data Analytics returns
4896	// a response with details of the application it created.
4897	//
4898	// ApplicationDetail is a required field
4899	ApplicationDetail *ApplicationDetail `type:"structure" required:"true"`
4900}
4901
4902// String returns the string representation
4903func (s CreateApplicationOutput) String() string {
4904	return awsutil.Prettify(s)
4905}
4906
4907// GoString returns the string representation
4908func (s CreateApplicationOutput) GoString() string {
4909	return s.String()
4910}
4911
4912// SetApplicationDetail sets the ApplicationDetail field's value.
4913func (s *CreateApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *CreateApplicationOutput {
4914	s.ApplicationDetail = v
4915	return s
4916}
4917
4918type CreateApplicationSnapshotInput struct {
4919	_ struct{} `type:"structure"`
4920
4921	// The name of an existing application
4922	//
4923	// ApplicationName is a required field
4924	ApplicationName *string `min:"1" type:"string" required:"true"`
4925
4926	// An identifier for the application snapshot.
4927	//
4928	// SnapshotName is a required field
4929	SnapshotName *string `min:"1" type:"string" required:"true"`
4930}
4931
4932// String returns the string representation
4933func (s CreateApplicationSnapshotInput) String() string {
4934	return awsutil.Prettify(s)
4935}
4936
4937// GoString returns the string representation
4938func (s CreateApplicationSnapshotInput) GoString() string {
4939	return s.String()
4940}
4941
4942// Validate inspects the fields of the type to determine if they are valid.
4943func (s *CreateApplicationSnapshotInput) Validate() error {
4944	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationSnapshotInput"}
4945	if s.ApplicationName == nil {
4946		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
4947	}
4948	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
4949		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
4950	}
4951	if s.SnapshotName == nil {
4952		invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
4953	}
4954	if s.SnapshotName != nil && len(*s.SnapshotName) < 1 {
4955		invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1))
4956	}
4957
4958	if invalidParams.Len() > 0 {
4959		return invalidParams
4960	}
4961	return nil
4962}
4963
4964// SetApplicationName sets the ApplicationName field's value.
4965func (s *CreateApplicationSnapshotInput) SetApplicationName(v string) *CreateApplicationSnapshotInput {
4966	s.ApplicationName = &v
4967	return s
4968}
4969
4970// SetSnapshotName sets the SnapshotName field's value.
4971func (s *CreateApplicationSnapshotInput) SetSnapshotName(v string) *CreateApplicationSnapshotInput {
4972	s.SnapshotName = &v
4973	return s
4974}
4975
4976type CreateApplicationSnapshotOutput struct {
4977	_ struct{} `type:"structure"`
4978}
4979
4980// String returns the string representation
4981func (s CreateApplicationSnapshotOutput) String() string {
4982	return awsutil.Prettify(s)
4983}
4984
4985// GoString returns the string representation
4986func (s CreateApplicationSnapshotOutput) GoString() string {
4987	return s.String()
4988}
4989
4990type DeleteApplicationCloudWatchLoggingOptionInput struct {
4991	_ struct{} `type:"structure"`
4992
4993	// The application name.
4994	//
4995	// ApplicationName is a required field
4996	ApplicationName *string `min:"1" type:"string" required:"true"`
4997
4998	// The CloudWatchLoggingOptionId of the Amazon CloudWatch logging option to
4999	// delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication
5000	// operation.
5001	//
5002	// CloudWatchLoggingOptionId is a required field
5003	CloudWatchLoggingOptionId *string `min:"1" type:"string" required:"true"`
5004
5005	// The version ID of the application. You can retrieve the application version
5006	// ID using DescribeApplication.
5007	//
5008	// CurrentApplicationVersionId is a required field
5009	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
5010}
5011
5012// String returns the string representation
5013func (s DeleteApplicationCloudWatchLoggingOptionInput) String() string {
5014	return awsutil.Prettify(s)
5015}
5016
5017// GoString returns the string representation
5018func (s DeleteApplicationCloudWatchLoggingOptionInput) GoString() string {
5019	return s.String()
5020}
5021
5022// Validate inspects the fields of the type to determine if they are valid.
5023func (s *DeleteApplicationCloudWatchLoggingOptionInput) Validate() error {
5024	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationCloudWatchLoggingOptionInput"}
5025	if s.ApplicationName == nil {
5026		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5027	}
5028	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5029		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5030	}
5031	if s.CloudWatchLoggingOptionId == nil {
5032		invalidParams.Add(request.NewErrParamRequired("CloudWatchLoggingOptionId"))
5033	}
5034	if s.CloudWatchLoggingOptionId != nil && len(*s.CloudWatchLoggingOptionId) < 1 {
5035		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLoggingOptionId", 1))
5036	}
5037	if s.CurrentApplicationVersionId == nil {
5038		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
5039	}
5040	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
5041		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
5042	}
5043
5044	if invalidParams.Len() > 0 {
5045		return invalidParams
5046	}
5047	return nil
5048}
5049
5050// SetApplicationName sets the ApplicationName field's value.
5051func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetApplicationName(v string) *DeleteApplicationCloudWatchLoggingOptionInput {
5052	s.ApplicationName = &v
5053	return s
5054}
5055
5056// SetCloudWatchLoggingOptionId sets the CloudWatchLoggingOptionId field's value.
5057func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetCloudWatchLoggingOptionId(v string) *DeleteApplicationCloudWatchLoggingOptionInput {
5058	s.CloudWatchLoggingOptionId = &v
5059	return s
5060}
5061
5062// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
5063func (s *DeleteApplicationCloudWatchLoggingOptionInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationCloudWatchLoggingOptionInput {
5064	s.CurrentApplicationVersionId = &v
5065	return s
5066}
5067
5068type DeleteApplicationCloudWatchLoggingOptionOutput struct {
5069	_ struct{} `type:"structure"`
5070
5071	// The application's Amazon Resource Name (ARN).
5072	ApplicationARN *string `min:"1" type:"string"`
5073
5074	// The version ID of the application. Kinesis Data Analytics updates the ApplicationVersionId
5075	// each time you change the CloudWatch logging options.
5076	ApplicationVersionId *int64 `min:"1" type:"long"`
5077
5078	// The descriptions of the remaining CloudWatch logging options for the application.
5079	CloudWatchLoggingOptionDescriptions []*CloudWatchLoggingOptionDescription `type:"list"`
5080}
5081
5082// String returns the string representation
5083func (s DeleteApplicationCloudWatchLoggingOptionOutput) String() string {
5084	return awsutil.Prettify(s)
5085}
5086
5087// GoString returns the string representation
5088func (s DeleteApplicationCloudWatchLoggingOptionOutput) GoString() string {
5089	return s.String()
5090}
5091
5092// SetApplicationARN sets the ApplicationARN field's value.
5093func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetApplicationARN(v string) *DeleteApplicationCloudWatchLoggingOptionOutput {
5094	s.ApplicationARN = &v
5095	return s
5096}
5097
5098// SetApplicationVersionId sets the ApplicationVersionId field's value.
5099func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetApplicationVersionId(v int64) *DeleteApplicationCloudWatchLoggingOptionOutput {
5100	s.ApplicationVersionId = &v
5101	return s
5102}
5103
5104// SetCloudWatchLoggingOptionDescriptions sets the CloudWatchLoggingOptionDescriptions field's value.
5105func (s *DeleteApplicationCloudWatchLoggingOptionOutput) SetCloudWatchLoggingOptionDescriptions(v []*CloudWatchLoggingOptionDescription) *DeleteApplicationCloudWatchLoggingOptionOutput {
5106	s.CloudWatchLoggingOptionDescriptions = v
5107	return s
5108}
5109
5110type DeleteApplicationInput struct {
5111	_ struct{} `type:"structure"`
5112
5113	// The name of the application to delete.
5114	//
5115	// ApplicationName is a required field
5116	ApplicationName *string `min:"1" type:"string" required:"true"`
5117
5118	// Use the DescribeApplication operation to get this value.
5119	//
5120	// CreateTimestamp is a required field
5121	CreateTimestamp *time.Time `type:"timestamp" required:"true"`
5122}
5123
5124// String returns the string representation
5125func (s DeleteApplicationInput) String() string {
5126	return awsutil.Prettify(s)
5127}
5128
5129// GoString returns the string representation
5130func (s DeleteApplicationInput) GoString() string {
5131	return s.String()
5132}
5133
5134// Validate inspects the fields of the type to determine if they are valid.
5135func (s *DeleteApplicationInput) Validate() error {
5136	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
5137	if s.ApplicationName == nil {
5138		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5139	}
5140	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5141		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5142	}
5143	if s.CreateTimestamp == nil {
5144		invalidParams.Add(request.NewErrParamRequired("CreateTimestamp"))
5145	}
5146
5147	if invalidParams.Len() > 0 {
5148		return invalidParams
5149	}
5150	return nil
5151}
5152
5153// SetApplicationName sets the ApplicationName field's value.
5154func (s *DeleteApplicationInput) SetApplicationName(v string) *DeleteApplicationInput {
5155	s.ApplicationName = &v
5156	return s
5157}
5158
5159// SetCreateTimestamp sets the CreateTimestamp field's value.
5160func (s *DeleteApplicationInput) SetCreateTimestamp(v time.Time) *DeleteApplicationInput {
5161	s.CreateTimestamp = &v
5162	return s
5163}
5164
5165type DeleteApplicationInputProcessingConfigurationInput struct {
5166	_ struct{} `type:"structure"`
5167
5168	// The name of the application.
5169	//
5170	// ApplicationName is a required field
5171	ApplicationName *string `min:"1" type:"string" required:"true"`
5172
5173	// The application version. You can use the DescribeApplication operation to
5174	// get the current application version. If the version specified is not the
5175	// current version, the ConcurrentModificationException is returned.
5176	//
5177	// CurrentApplicationVersionId is a required field
5178	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
5179
5180	// The ID of the input configuration from which to delete the input processing
5181	// configuration. You can get a list of the input IDs for an application by
5182	// using the DescribeApplication operation.
5183	//
5184	// InputId is a required field
5185	InputId *string `min:"1" type:"string" required:"true"`
5186}
5187
5188// String returns the string representation
5189func (s DeleteApplicationInputProcessingConfigurationInput) String() string {
5190	return awsutil.Prettify(s)
5191}
5192
5193// GoString returns the string representation
5194func (s DeleteApplicationInputProcessingConfigurationInput) GoString() string {
5195	return s.String()
5196}
5197
5198// Validate inspects the fields of the type to determine if they are valid.
5199func (s *DeleteApplicationInputProcessingConfigurationInput) Validate() error {
5200	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInputProcessingConfigurationInput"}
5201	if s.ApplicationName == nil {
5202		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5203	}
5204	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5205		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5206	}
5207	if s.CurrentApplicationVersionId == nil {
5208		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
5209	}
5210	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
5211		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
5212	}
5213	if s.InputId == nil {
5214		invalidParams.Add(request.NewErrParamRequired("InputId"))
5215	}
5216	if s.InputId != nil && len(*s.InputId) < 1 {
5217		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
5218	}
5219
5220	if invalidParams.Len() > 0 {
5221		return invalidParams
5222	}
5223	return nil
5224}
5225
5226// SetApplicationName sets the ApplicationName field's value.
5227func (s *DeleteApplicationInputProcessingConfigurationInput) SetApplicationName(v string) *DeleteApplicationInputProcessingConfigurationInput {
5228	s.ApplicationName = &v
5229	return s
5230}
5231
5232// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
5233func (s *DeleteApplicationInputProcessingConfigurationInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationInputProcessingConfigurationInput {
5234	s.CurrentApplicationVersionId = &v
5235	return s
5236}
5237
5238// SetInputId sets the InputId field's value.
5239func (s *DeleteApplicationInputProcessingConfigurationInput) SetInputId(v string) *DeleteApplicationInputProcessingConfigurationInput {
5240	s.InputId = &v
5241	return s
5242}
5243
5244type DeleteApplicationInputProcessingConfigurationOutput struct {
5245	_ struct{} `type:"structure"`
5246
5247	// The Amazon Resource Name (ARN) of the application.
5248	ApplicationARN *string `min:"1" type:"string"`
5249
5250	// The current application version ID.
5251	ApplicationVersionId *int64 `min:"1" type:"long"`
5252}
5253
5254// String returns the string representation
5255func (s DeleteApplicationInputProcessingConfigurationOutput) String() string {
5256	return awsutil.Prettify(s)
5257}
5258
5259// GoString returns the string representation
5260func (s DeleteApplicationInputProcessingConfigurationOutput) GoString() string {
5261	return s.String()
5262}
5263
5264// SetApplicationARN sets the ApplicationARN field's value.
5265func (s *DeleteApplicationInputProcessingConfigurationOutput) SetApplicationARN(v string) *DeleteApplicationInputProcessingConfigurationOutput {
5266	s.ApplicationARN = &v
5267	return s
5268}
5269
5270// SetApplicationVersionId sets the ApplicationVersionId field's value.
5271func (s *DeleteApplicationInputProcessingConfigurationOutput) SetApplicationVersionId(v int64) *DeleteApplicationInputProcessingConfigurationOutput {
5272	s.ApplicationVersionId = &v
5273	return s
5274}
5275
5276type DeleteApplicationOutput struct {
5277	_ struct{} `type:"structure"`
5278}
5279
5280// String returns the string representation
5281func (s DeleteApplicationOutput) String() string {
5282	return awsutil.Prettify(s)
5283}
5284
5285// GoString returns the string representation
5286func (s DeleteApplicationOutput) GoString() string {
5287	return s.String()
5288}
5289
5290type DeleteApplicationOutputInput struct {
5291	_ struct{} `type:"structure"`
5292
5293	// The application name.
5294	//
5295	// ApplicationName is a required field
5296	ApplicationName *string `min:"1" type:"string" required:"true"`
5297
5298	// The application version. You can use the DescribeApplication operation to
5299	// get the current application version. If the version specified is not the
5300	// current version, the ConcurrentModificationException is returned.
5301	//
5302	// CurrentApplicationVersionId is a required field
5303	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
5304
5305	// The ID of the configuration to delete. Each output configuration that is
5306	// added to the application (either when the application is created or later)
5307	// using the AddApplicationOutput operation has a unique ID. You need to provide
5308	// the ID to uniquely identify the output configuration that you want to delete
5309	// from the application configuration. You can use the DescribeApplication operation
5310	// to get the specific OutputId.
5311	//
5312	// OutputId is a required field
5313	OutputId *string `min:"1" type:"string" required:"true"`
5314}
5315
5316// String returns the string representation
5317func (s DeleteApplicationOutputInput) String() string {
5318	return awsutil.Prettify(s)
5319}
5320
5321// GoString returns the string representation
5322func (s DeleteApplicationOutputInput) GoString() string {
5323	return s.String()
5324}
5325
5326// Validate inspects the fields of the type to determine if they are valid.
5327func (s *DeleteApplicationOutputInput) Validate() error {
5328	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationOutputInput"}
5329	if s.ApplicationName == nil {
5330		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5331	}
5332	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5333		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5334	}
5335	if s.CurrentApplicationVersionId == nil {
5336		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
5337	}
5338	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
5339		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
5340	}
5341	if s.OutputId == nil {
5342		invalidParams.Add(request.NewErrParamRequired("OutputId"))
5343	}
5344	if s.OutputId != nil && len(*s.OutputId) < 1 {
5345		invalidParams.Add(request.NewErrParamMinLen("OutputId", 1))
5346	}
5347
5348	if invalidParams.Len() > 0 {
5349		return invalidParams
5350	}
5351	return nil
5352}
5353
5354// SetApplicationName sets the ApplicationName field's value.
5355func (s *DeleteApplicationOutputInput) SetApplicationName(v string) *DeleteApplicationOutputInput {
5356	s.ApplicationName = &v
5357	return s
5358}
5359
5360// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
5361func (s *DeleteApplicationOutputInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationOutputInput {
5362	s.CurrentApplicationVersionId = &v
5363	return s
5364}
5365
5366// SetOutputId sets the OutputId field's value.
5367func (s *DeleteApplicationOutputInput) SetOutputId(v string) *DeleteApplicationOutputInput {
5368	s.OutputId = &v
5369	return s
5370}
5371
5372type DeleteApplicationOutputOutput struct {
5373	_ struct{} `type:"structure"`
5374
5375	// The application Amazon Resource Name (ARN).
5376	ApplicationARN *string `min:"1" type:"string"`
5377
5378	// The current application version ID.
5379	ApplicationVersionId *int64 `min:"1" type:"long"`
5380}
5381
5382// String returns the string representation
5383func (s DeleteApplicationOutputOutput) String() string {
5384	return awsutil.Prettify(s)
5385}
5386
5387// GoString returns the string representation
5388func (s DeleteApplicationOutputOutput) GoString() string {
5389	return s.String()
5390}
5391
5392// SetApplicationARN sets the ApplicationARN field's value.
5393func (s *DeleteApplicationOutputOutput) SetApplicationARN(v string) *DeleteApplicationOutputOutput {
5394	s.ApplicationARN = &v
5395	return s
5396}
5397
5398// SetApplicationVersionId sets the ApplicationVersionId field's value.
5399func (s *DeleteApplicationOutputOutput) SetApplicationVersionId(v int64) *DeleteApplicationOutputOutput {
5400	s.ApplicationVersionId = &v
5401	return s
5402}
5403
5404type DeleteApplicationReferenceDataSourceInput struct {
5405	_ struct{} `type:"structure"`
5406
5407	// The name of an existing application.
5408	//
5409	// ApplicationName is a required field
5410	ApplicationName *string `min:"1" type:"string" required:"true"`
5411
5412	// The current application version. You can use the DescribeApplication operation
5413	// to get the current application version. If the version specified is not the
5414	// current version, the ConcurrentModificationException is returned.
5415	//
5416	// CurrentApplicationVersionId is a required field
5417	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
5418
5419	// The ID of the reference data source. When you add a reference data source
5420	// to your application using the AddApplicationReferenceDataSource, Kinesis
5421	// Data Analytics assigns an ID. You can use the DescribeApplication operation
5422	// to get the reference ID.
5423	//
5424	// ReferenceId is a required field
5425	ReferenceId *string `min:"1" type:"string" required:"true"`
5426}
5427
5428// String returns the string representation
5429func (s DeleteApplicationReferenceDataSourceInput) String() string {
5430	return awsutil.Prettify(s)
5431}
5432
5433// GoString returns the string representation
5434func (s DeleteApplicationReferenceDataSourceInput) GoString() string {
5435	return s.String()
5436}
5437
5438// Validate inspects the fields of the type to determine if they are valid.
5439func (s *DeleteApplicationReferenceDataSourceInput) Validate() error {
5440	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationReferenceDataSourceInput"}
5441	if s.ApplicationName == nil {
5442		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5443	}
5444	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5445		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5446	}
5447	if s.CurrentApplicationVersionId == nil {
5448		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
5449	}
5450	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
5451		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
5452	}
5453	if s.ReferenceId == nil {
5454		invalidParams.Add(request.NewErrParamRequired("ReferenceId"))
5455	}
5456	if s.ReferenceId != nil && len(*s.ReferenceId) < 1 {
5457		invalidParams.Add(request.NewErrParamMinLen("ReferenceId", 1))
5458	}
5459
5460	if invalidParams.Len() > 0 {
5461		return invalidParams
5462	}
5463	return nil
5464}
5465
5466// SetApplicationName sets the ApplicationName field's value.
5467func (s *DeleteApplicationReferenceDataSourceInput) SetApplicationName(v string) *DeleteApplicationReferenceDataSourceInput {
5468	s.ApplicationName = &v
5469	return s
5470}
5471
5472// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
5473func (s *DeleteApplicationReferenceDataSourceInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationReferenceDataSourceInput {
5474	s.CurrentApplicationVersionId = &v
5475	return s
5476}
5477
5478// SetReferenceId sets the ReferenceId field's value.
5479func (s *DeleteApplicationReferenceDataSourceInput) SetReferenceId(v string) *DeleteApplicationReferenceDataSourceInput {
5480	s.ReferenceId = &v
5481	return s
5482}
5483
5484type DeleteApplicationReferenceDataSourceOutput struct {
5485	_ struct{} `type:"structure"`
5486
5487	// The application Amazon Resource Name (ARN).
5488	ApplicationARN *string `min:"1" type:"string"`
5489
5490	// The updated version ID of the application.
5491	ApplicationVersionId *int64 `min:"1" type:"long"`
5492}
5493
5494// String returns the string representation
5495func (s DeleteApplicationReferenceDataSourceOutput) String() string {
5496	return awsutil.Prettify(s)
5497}
5498
5499// GoString returns the string representation
5500func (s DeleteApplicationReferenceDataSourceOutput) GoString() string {
5501	return s.String()
5502}
5503
5504// SetApplicationARN sets the ApplicationARN field's value.
5505func (s *DeleteApplicationReferenceDataSourceOutput) SetApplicationARN(v string) *DeleteApplicationReferenceDataSourceOutput {
5506	s.ApplicationARN = &v
5507	return s
5508}
5509
5510// SetApplicationVersionId sets the ApplicationVersionId field's value.
5511func (s *DeleteApplicationReferenceDataSourceOutput) SetApplicationVersionId(v int64) *DeleteApplicationReferenceDataSourceOutput {
5512	s.ApplicationVersionId = &v
5513	return s
5514}
5515
5516type DeleteApplicationSnapshotInput struct {
5517	_ struct{} `type:"structure"`
5518
5519	// The name of an existing application.
5520	//
5521	// ApplicationName is a required field
5522	ApplicationName *string `min:"1" type:"string" required:"true"`
5523
5524	// The creation timestamp of the application snapshot to delete. You can retrieve
5525	// this value using or .
5526	//
5527	// SnapshotCreationTimestamp is a required field
5528	SnapshotCreationTimestamp *time.Time `type:"timestamp" required:"true"`
5529
5530	// The identifier for the snapshot delete.
5531	//
5532	// SnapshotName is a required field
5533	SnapshotName *string `min:"1" type:"string" required:"true"`
5534}
5535
5536// String returns the string representation
5537func (s DeleteApplicationSnapshotInput) String() string {
5538	return awsutil.Prettify(s)
5539}
5540
5541// GoString returns the string representation
5542func (s DeleteApplicationSnapshotInput) GoString() string {
5543	return s.String()
5544}
5545
5546// Validate inspects the fields of the type to determine if they are valid.
5547func (s *DeleteApplicationSnapshotInput) Validate() error {
5548	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationSnapshotInput"}
5549	if s.ApplicationName == nil {
5550		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5551	}
5552	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5553		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5554	}
5555	if s.SnapshotCreationTimestamp == nil {
5556		invalidParams.Add(request.NewErrParamRequired("SnapshotCreationTimestamp"))
5557	}
5558	if s.SnapshotName == nil {
5559		invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
5560	}
5561	if s.SnapshotName != nil && len(*s.SnapshotName) < 1 {
5562		invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1))
5563	}
5564
5565	if invalidParams.Len() > 0 {
5566		return invalidParams
5567	}
5568	return nil
5569}
5570
5571// SetApplicationName sets the ApplicationName field's value.
5572func (s *DeleteApplicationSnapshotInput) SetApplicationName(v string) *DeleteApplicationSnapshotInput {
5573	s.ApplicationName = &v
5574	return s
5575}
5576
5577// SetSnapshotCreationTimestamp sets the SnapshotCreationTimestamp field's value.
5578func (s *DeleteApplicationSnapshotInput) SetSnapshotCreationTimestamp(v time.Time) *DeleteApplicationSnapshotInput {
5579	s.SnapshotCreationTimestamp = &v
5580	return s
5581}
5582
5583// SetSnapshotName sets the SnapshotName field's value.
5584func (s *DeleteApplicationSnapshotInput) SetSnapshotName(v string) *DeleteApplicationSnapshotInput {
5585	s.SnapshotName = &v
5586	return s
5587}
5588
5589type DeleteApplicationSnapshotOutput struct {
5590	_ struct{} `type:"structure"`
5591}
5592
5593// String returns the string representation
5594func (s DeleteApplicationSnapshotOutput) String() string {
5595	return awsutil.Prettify(s)
5596}
5597
5598// GoString returns the string representation
5599func (s DeleteApplicationSnapshotOutput) GoString() string {
5600	return s.String()
5601}
5602
5603type DeleteApplicationVpcConfigurationInput struct {
5604	_ struct{} `type:"structure"`
5605
5606	// The name of an existing application.
5607	//
5608	// ApplicationName is a required field
5609	ApplicationName *string `min:"1" type:"string" required:"true"`
5610
5611	// The current application version ID. You can retrieve the application version
5612	// ID using DescribeApplication.
5613	//
5614	// CurrentApplicationVersionId is a required field
5615	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
5616
5617	// The ID of the VPC configuration to delete.
5618	//
5619	// VpcConfigurationId is a required field
5620	VpcConfigurationId *string `min:"1" type:"string" required:"true"`
5621}
5622
5623// String returns the string representation
5624func (s DeleteApplicationVpcConfigurationInput) String() string {
5625	return awsutil.Prettify(s)
5626}
5627
5628// GoString returns the string representation
5629func (s DeleteApplicationVpcConfigurationInput) GoString() string {
5630	return s.String()
5631}
5632
5633// Validate inspects the fields of the type to determine if they are valid.
5634func (s *DeleteApplicationVpcConfigurationInput) Validate() error {
5635	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationVpcConfigurationInput"}
5636	if s.ApplicationName == nil {
5637		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5638	}
5639	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5640		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5641	}
5642	if s.CurrentApplicationVersionId == nil {
5643		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
5644	}
5645	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
5646		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
5647	}
5648	if s.VpcConfigurationId == nil {
5649		invalidParams.Add(request.NewErrParamRequired("VpcConfigurationId"))
5650	}
5651	if s.VpcConfigurationId != nil && len(*s.VpcConfigurationId) < 1 {
5652		invalidParams.Add(request.NewErrParamMinLen("VpcConfigurationId", 1))
5653	}
5654
5655	if invalidParams.Len() > 0 {
5656		return invalidParams
5657	}
5658	return nil
5659}
5660
5661// SetApplicationName sets the ApplicationName field's value.
5662func (s *DeleteApplicationVpcConfigurationInput) SetApplicationName(v string) *DeleteApplicationVpcConfigurationInput {
5663	s.ApplicationName = &v
5664	return s
5665}
5666
5667// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
5668func (s *DeleteApplicationVpcConfigurationInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationVpcConfigurationInput {
5669	s.CurrentApplicationVersionId = &v
5670	return s
5671}
5672
5673// SetVpcConfigurationId sets the VpcConfigurationId field's value.
5674func (s *DeleteApplicationVpcConfigurationInput) SetVpcConfigurationId(v string) *DeleteApplicationVpcConfigurationInput {
5675	s.VpcConfigurationId = &v
5676	return s
5677}
5678
5679type DeleteApplicationVpcConfigurationOutput struct {
5680	_ struct{} `type:"structure"`
5681
5682	// The ARN of the Kinesis Data Analytics application.
5683	ApplicationARN *string `min:"1" type:"string"`
5684
5685	// The updated version ID of the application.
5686	ApplicationVersionId *int64 `min:"1" type:"long"`
5687}
5688
5689// String returns the string representation
5690func (s DeleteApplicationVpcConfigurationOutput) String() string {
5691	return awsutil.Prettify(s)
5692}
5693
5694// GoString returns the string representation
5695func (s DeleteApplicationVpcConfigurationOutput) GoString() string {
5696	return s.String()
5697}
5698
5699// SetApplicationARN sets the ApplicationARN field's value.
5700func (s *DeleteApplicationVpcConfigurationOutput) SetApplicationARN(v string) *DeleteApplicationVpcConfigurationOutput {
5701	s.ApplicationARN = &v
5702	return s
5703}
5704
5705// SetApplicationVersionId sets the ApplicationVersionId field's value.
5706func (s *DeleteApplicationVpcConfigurationOutput) SetApplicationVersionId(v int64) *DeleteApplicationVpcConfigurationOutput {
5707	s.ApplicationVersionId = &v
5708	return s
5709}
5710
5711type DescribeApplicationInput struct {
5712	_ struct{} `type:"structure"`
5713
5714	// The name of the application.
5715	//
5716	// ApplicationName is a required field
5717	ApplicationName *string `min:"1" type:"string" required:"true"`
5718
5719	// Displays verbose information about a Kinesis Data Analytics application,
5720	// including the application's job plan.
5721	IncludeAdditionalDetails *bool `type:"boolean"`
5722}
5723
5724// String returns the string representation
5725func (s DescribeApplicationInput) String() string {
5726	return awsutil.Prettify(s)
5727}
5728
5729// GoString returns the string representation
5730func (s DescribeApplicationInput) GoString() string {
5731	return s.String()
5732}
5733
5734// Validate inspects the fields of the type to determine if they are valid.
5735func (s *DescribeApplicationInput) Validate() error {
5736	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationInput"}
5737	if s.ApplicationName == nil {
5738		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5739	}
5740	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5741		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5742	}
5743
5744	if invalidParams.Len() > 0 {
5745		return invalidParams
5746	}
5747	return nil
5748}
5749
5750// SetApplicationName sets the ApplicationName field's value.
5751func (s *DescribeApplicationInput) SetApplicationName(v string) *DescribeApplicationInput {
5752	s.ApplicationName = &v
5753	return s
5754}
5755
5756// SetIncludeAdditionalDetails sets the IncludeAdditionalDetails field's value.
5757func (s *DescribeApplicationInput) SetIncludeAdditionalDetails(v bool) *DescribeApplicationInput {
5758	s.IncludeAdditionalDetails = &v
5759	return s
5760}
5761
5762type DescribeApplicationOutput struct {
5763	_ struct{} `type:"structure"`
5764
5765	// Provides a description of the application, such as the application's Amazon
5766	// Resource Name (ARN), status, and latest version.
5767	//
5768	// ApplicationDetail is a required field
5769	ApplicationDetail *ApplicationDetail `type:"structure" required:"true"`
5770}
5771
5772// String returns the string representation
5773func (s DescribeApplicationOutput) String() string {
5774	return awsutil.Prettify(s)
5775}
5776
5777// GoString returns the string representation
5778func (s DescribeApplicationOutput) GoString() string {
5779	return s.String()
5780}
5781
5782// SetApplicationDetail sets the ApplicationDetail field's value.
5783func (s *DescribeApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *DescribeApplicationOutput {
5784	s.ApplicationDetail = v
5785	return s
5786}
5787
5788type DescribeApplicationSnapshotInput struct {
5789	_ struct{} `type:"structure"`
5790
5791	// The name of an existing application.
5792	//
5793	// ApplicationName is a required field
5794	ApplicationName *string `min:"1" type:"string" required:"true"`
5795
5796	// The identifier of an application snapshot. You can retrieve this value using .
5797	//
5798	// SnapshotName is a required field
5799	SnapshotName *string `min:"1" type:"string" required:"true"`
5800}
5801
5802// String returns the string representation
5803func (s DescribeApplicationSnapshotInput) String() string {
5804	return awsutil.Prettify(s)
5805}
5806
5807// GoString returns the string representation
5808func (s DescribeApplicationSnapshotInput) GoString() string {
5809	return s.String()
5810}
5811
5812// Validate inspects the fields of the type to determine if they are valid.
5813func (s *DescribeApplicationSnapshotInput) Validate() error {
5814	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationSnapshotInput"}
5815	if s.ApplicationName == nil {
5816		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5817	}
5818	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5819		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5820	}
5821	if s.SnapshotName == nil {
5822		invalidParams.Add(request.NewErrParamRequired("SnapshotName"))
5823	}
5824	if s.SnapshotName != nil && len(*s.SnapshotName) < 1 {
5825		invalidParams.Add(request.NewErrParamMinLen("SnapshotName", 1))
5826	}
5827
5828	if invalidParams.Len() > 0 {
5829		return invalidParams
5830	}
5831	return nil
5832}
5833
5834// SetApplicationName sets the ApplicationName field's value.
5835func (s *DescribeApplicationSnapshotInput) SetApplicationName(v string) *DescribeApplicationSnapshotInput {
5836	s.ApplicationName = &v
5837	return s
5838}
5839
5840// SetSnapshotName sets the SnapshotName field's value.
5841func (s *DescribeApplicationSnapshotInput) SetSnapshotName(v string) *DescribeApplicationSnapshotInput {
5842	s.SnapshotName = &v
5843	return s
5844}
5845
5846type DescribeApplicationSnapshotOutput struct {
5847	_ struct{} `type:"structure"`
5848
5849	// An object containing information about the application snapshot.
5850	//
5851	// SnapshotDetails is a required field
5852	SnapshotDetails *SnapshotDetails `type:"structure" required:"true"`
5853}
5854
5855// String returns the string representation
5856func (s DescribeApplicationSnapshotOutput) String() string {
5857	return awsutil.Prettify(s)
5858}
5859
5860// GoString returns the string representation
5861func (s DescribeApplicationSnapshotOutput) GoString() string {
5862	return s.String()
5863}
5864
5865// SetSnapshotDetails sets the SnapshotDetails field's value.
5866func (s *DescribeApplicationSnapshotOutput) SetSnapshotDetails(v *SnapshotDetails) *DescribeApplicationSnapshotOutput {
5867	s.SnapshotDetails = v
5868	return s
5869}
5870
5871// Describes the data format when records are written to the destination in
5872// an SQL-based Amazon Kinesis Data Analytics application.
5873type DestinationSchema struct {
5874	_ struct{} `type:"structure"`
5875
5876	// Specifies the format of the records on the output stream.
5877	//
5878	// RecordFormatType is a required field
5879	RecordFormatType *string `type:"string" required:"true" enum:"RecordFormatType"`
5880}
5881
5882// String returns the string representation
5883func (s DestinationSchema) String() string {
5884	return awsutil.Prettify(s)
5885}
5886
5887// GoString returns the string representation
5888func (s DestinationSchema) GoString() string {
5889	return s.String()
5890}
5891
5892// Validate inspects the fields of the type to determine if they are valid.
5893func (s *DestinationSchema) Validate() error {
5894	invalidParams := request.ErrInvalidParams{Context: "DestinationSchema"}
5895	if s.RecordFormatType == nil {
5896		invalidParams.Add(request.NewErrParamRequired("RecordFormatType"))
5897	}
5898
5899	if invalidParams.Len() > 0 {
5900		return invalidParams
5901	}
5902	return nil
5903}
5904
5905// SetRecordFormatType sets the RecordFormatType field's value.
5906func (s *DestinationSchema) SetRecordFormatType(v string) *DestinationSchema {
5907	s.RecordFormatType = &v
5908	return s
5909}
5910
5911type DiscoverInputSchemaInput struct {
5912	_ struct{} `type:"structure"`
5913
5914	// The InputProcessingConfiguration to use to preprocess the records before
5915	// discovering the schema of the records.
5916	InputProcessingConfiguration *InputProcessingConfiguration `type:"structure"`
5917
5918	// The point at which you want Kinesis Data Analytics to start reading records
5919	// from the specified streaming source discovery purposes.
5920	InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure"`
5921
5922	// The Amazon Resource Name (ARN) of the streaming source.
5923	ResourceARN *string `min:"1" type:"string"`
5924
5925	// Specify this parameter to discover a schema from data in an Amazon S3 object.
5926	S3Configuration *S3Configuration `type:"structure"`
5927
5928	// The ARN of the role that is used to access the streaming source.
5929	//
5930	// ServiceExecutionRole is a required field
5931	ServiceExecutionRole *string `min:"1" type:"string" required:"true"`
5932}
5933
5934// String returns the string representation
5935func (s DiscoverInputSchemaInput) String() string {
5936	return awsutil.Prettify(s)
5937}
5938
5939// GoString returns the string representation
5940func (s DiscoverInputSchemaInput) GoString() string {
5941	return s.String()
5942}
5943
5944// Validate inspects the fields of the type to determine if they are valid.
5945func (s *DiscoverInputSchemaInput) Validate() error {
5946	invalidParams := request.ErrInvalidParams{Context: "DiscoverInputSchemaInput"}
5947	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
5948		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
5949	}
5950	if s.ServiceExecutionRole == nil {
5951		invalidParams.Add(request.NewErrParamRequired("ServiceExecutionRole"))
5952	}
5953	if s.ServiceExecutionRole != nil && len(*s.ServiceExecutionRole) < 1 {
5954		invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRole", 1))
5955	}
5956	if s.InputProcessingConfiguration != nil {
5957		if err := s.InputProcessingConfiguration.Validate(); err != nil {
5958			invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams))
5959		}
5960	}
5961	if s.S3Configuration != nil {
5962		if err := s.S3Configuration.Validate(); err != nil {
5963			invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams))
5964		}
5965	}
5966
5967	if invalidParams.Len() > 0 {
5968		return invalidParams
5969	}
5970	return nil
5971}
5972
5973// SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value.
5974func (s *DiscoverInputSchemaInput) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *DiscoverInputSchemaInput {
5975	s.InputProcessingConfiguration = v
5976	return s
5977}
5978
5979// SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value.
5980func (s *DiscoverInputSchemaInput) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *DiscoverInputSchemaInput {
5981	s.InputStartingPositionConfiguration = v
5982	return s
5983}
5984
5985// SetResourceARN sets the ResourceARN field's value.
5986func (s *DiscoverInputSchemaInput) SetResourceARN(v string) *DiscoverInputSchemaInput {
5987	s.ResourceARN = &v
5988	return s
5989}
5990
5991// SetS3Configuration sets the S3Configuration field's value.
5992func (s *DiscoverInputSchemaInput) SetS3Configuration(v *S3Configuration) *DiscoverInputSchemaInput {
5993	s.S3Configuration = v
5994	return s
5995}
5996
5997// SetServiceExecutionRole sets the ServiceExecutionRole field's value.
5998func (s *DiscoverInputSchemaInput) SetServiceExecutionRole(v string) *DiscoverInputSchemaInput {
5999	s.ServiceExecutionRole = &v
6000	return s
6001}
6002
6003type DiscoverInputSchemaOutput struct {
6004	_ struct{} `type:"structure"`
6005
6006	// The schema inferred from the streaming source. It identifies the format of
6007	// the data in the streaming source and how each data element maps to corresponding
6008	// columns in the in-application stream that you can create.
6009	InputSchema *SourceSchema `type:"structure"`
6010
6011	// An array of elements, where each element corresponds to a row in a stream
6012	// record (a stream record can have more than one row).
6013	ParsedInputRecords [][]*string `type:"list"`
6014
6015	// The stream data that was modified by the processor specified in the InputProcessingConfiguration
6016	// parameter.
6017	ProcessedInputRecords []*string `type:"list"`
6018
6019	// The raw stream data that was sampled to infer the schema.
6020	RawInputRecords []*string `type:"list"`
6021}
6022
6023// String returns the string representation
6024func (s DiscoverInputSchemaOutput) String() string {
6025	return awsutil.Prettify(s)
6026}
6027
6028// GoString returns the string representation
6029func (s DiscoverInputSchemaOutput) GoString() string {
6030	return s.String()
6031}
6032
6033// SetInputSchema sets the InputSchema field's value.
6034func (s *DiscoverInputSchemaOutput) SetInputSchema(v *SourceSchema) *DiscoverInputSchemaOutput {
6035	s.InputSchema = v
6036	return s
6037}
6038
6039// SetParsedInputRecords sets the ParsedInputRecords field's value.
6040func (s *DiscoverInputSchemaOutput) SetParsedInputRecords(v [][]*string) *DiscoverInputSchemaOutput {
6041	s.ParsedInputRecords = v
6042	return s
6043}
6044
6045// SetProcessedInputRecords sets the ProcessedInputRecords field's value.
6046func (s *DiscoverInputSchemaOutput) SetProcessedInputRecords(v []*string) *DiscoverInputSchemaOutput {
6047	s.ProcessedInputRecords = v
6048	return s
6049}
6050
6051// SetRawInputRecords sets the RawInputRecords field's value.
6052func (s *DiscoverInputSchemaOutput) SetRawInputRecords(v []*string) *DiscoverInputSchemaOutput {
6053	s.RawInputRecords = v
6054	return s
6055}
6056
6057// Describes execution properties for a Java-based Kinesis Data Analytics application.
6058type EnvironmentProperties struct {
6059	_ struct{} `type:"structure"`
6060
6061	// Describes the execution property groups.
6062	//
6063	// PropertyGroups is a required field
6064	PropertyGroups []*PropertyGroup `type:"list" required:"true"`
6065}
6066
6067// String returns the string representation
6068func (s EnvironmentProperties) String() string {
6069	return awsutil.Prettify(s)
6070}
6071
6072// GoString returns the string representation
6073func (s EnvironmentProperties) GoString() string {
6074	return s.String()
6075}
6076
6077// Validate inspects the fields of the type to determine if they are valid.
6078func (s *EnvironmentProperties) Validate() error {
6079	invalidParams := request.ErrInvalidParams{Context: "EnvironmentProperties"}
6080	if s.PropertyGroups == nil {
6081		invalidParams.Add(request.NewErrParamRequired("PropertyGroups"))
6082	}
6083	if s.PropertyGroups != nil {
6084		for i, v := range s.PropertyGroups {
6085			if v == nil {
6086				continue
6087			}
6088			if err := v.Validate(); err != nil {
6089				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyGroups", i), err.(request.ErrInvalidParams))
6090			}
6091		}
6092	}
6093
6094	if invalidParams.Len() > 0 {
6095		return invalidParams
6096	}
6097	return nil
6098}
6099
6100// SetPropertyGroups sets the PropertyGroups field's value.
6101func (s *EnvironmentProperties) SetPropertyGroups(v []*PropertyGroup) *EnvironmentProperties {
6102	s.PropertyGroups = v
6103	return s
6104}
6105
6106// Describes the execution properties for a Java-based Amazon Kinesis Data Analytics
6107// application.
6108type EnvironmentPropertyDescriptions struct {
6109	_ struct{} `type:"structure"`
6110
6111	// Describes the execution property groups.
6112	PropertyGroupDescriptions []*PropertyGroup `type:"list"`
6113}
6114
6115// String returns the string representation
6116func (s EnvironmentPropertyDescriptions) String() string {
6117	return awsutil.Prettify(s)
6118}
6119
6120// GoString returns the string representation
6121func (s EnvironmentPropertyDescriptions) GoString() string {
6122	return s.String()
6123}
6124
6125// SetPropertyGroupDescriptions sets the PropertyGroupDescriptions field's value.
6126func (s *EnvironmentPropertyDescriptions) SetPropertyGroupDescriptions(v []*PropertyGroup) *EnvironmentPropertyDescriptions {
6127	s.PropertyGroupDescriptions = v
6128	return s
6129}
6130
6131// Describes updates to the execution property groups for a Java-based Amazon
6132// Kinesis Data Analytics application.
6133type EnvironmentPropertyUpdates struct {
6134	_ struct{} `type:"structure"`
6135
6136	// Describes updates to the execution property groups.
6137	//
6138	// PropertyGroups is a required field
6139	PropertyGroups []*PropertyGroup `type:"list" required:"true"`
6140}
6141
6142// String returns the string representation
6143func (s EnvironmentPropertyUpdates) String() string {
6144	return awsutil.Prettify(s)
6145}
6146
6147// GoString returns the string representation
6148func (s EnvironmentPropertyUpdates) GoString() string {
6149	return s.String()
6150}
6151
6152// Validate inspects the fields of the type to determine if they are valid.
6153func (s *EnvironmentPropertyUpdates) Validate() error {
6154	invalidParams := request.ErrInvalidParams{Context: "EnvironmentPropertyUpdates"}
6155	if s.PropertyGroups == nil {
6156		invalidParams.Add(request.NewErrParamRequired("PropertyGroups"))
6157	}
6158	if s.PropertyGroups != nil {
6159		for i, v := range s.PropertyGroups {
6160			if v == nil {
6161				continue
6162			}
6163			if err := v.Validate(); err != nil {
6164				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyGroups", i), err.(request.ErrInvalidParams))
6165			}
6166		}
6167	}
6168
6169	if invalidParams.Len() > 0 {
6170		return invalidParams
6171	}
6172	return nil
6173}
6174
6175// SetPropertyGroups sets the PropertyGroups field's value.
6176func (s *EnvironmentPropertyUpdates) SetPropertyGroups(v []*PropertyGroup) *EnvironmentPropertyUpdates {
6177	s.PropertyGroups = v
6178	return s
6179}
6180
6181// Describes configuration parameters for a Java-based Amazon Kinesis Data Analytics
6182// application.
6183type FlinkApplicationConfiguration struct {
6184	_ struct{} `type:"structure"`
6185
6186	// Describes an application's checkpointing configuration. Checkpointing is
6187	// the process of persisting application state for fault tolerance. For more
6188	// information, see Checkpoints for Fault Tolerance (https://ci.apache.org/projects/flink/flink-docs-release-1.6/concepts/programming-model.html#checkpoints-for-fault-tolerance)
6189	// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/).
6190	CheckpointConfiguration *CheckpointConfiguration `type:"structure"`
6191
6192	// Describes configuration parameters for Amazon CloudWatch logging for an application.
6193	MonitoringConfiguration *MonitoringConfiguration `type:"structure"`
6194
6195	// Describes parameters for how an application executes multiple tasks simultaneously.
6196	ParallelismConfiguration *ParallelismConfiguration `type:"structure"`
6197}
6198
6199// String returns the string representation
6200func (s FlinkApplicationConfiguration) String() string {
6201	return awsutil.Prettify(s)
6202}
6203
6204// GoString returns the string representation
6205func (s FlinkApplicationConfiguration) GoString() string {
6206	return s.String()
6207}
6208
6209// Validate inspects the fields of the type to determine if they are valid.
6210func (s *FlinkApplicationConfiguration) Validate() error {
6211	invalidParams := request.ErrInvalidParams{Context: "FlinkApplicationConfiguration"}
6212	if s.CheckpointConfiguration != nil {
6213		if err := s.CheckpointConfiguration.Validate(); err != nil {
6214			invalidParams.AddNested("CheckpointConfiguration", err.(request.ErrInvalidParams))
6215		}
6216	}
6217	if s.MonitoringConfiguration != nil {
6218		if err := s.MonitoringConfiguration.Validate(); err != nil {
6219			invalidParams.AddNested("MonitoringConfiguration", err.(request.ErrInvalidParams))
6220		}
6221	}
6222	if s.ParallelismConfiguration != nil {
6223		if err := s.ParallelismConfiguration.Validate(); err != nil {
6224			invalidParams.AddNested("ParallelismConfiguration", err.(request.ErrInvalidParams))
6225		}
6226	}
6227
6228	if invalidParams.Len() > 0 {
6229		return invalidParams
6230	}
6231	return nil
6232}
6233
6234// SetCheckpointConfiguration sets the CheckpointConfiguration field's value.
6235func (s *FlinkApplicationConfiguration) SetCheckpointConfiguration(v *CheckpointConfiguration) *FlinkApplicationConfiguration {
6236	s.CheckpointConfiguration = v
6237	return s
6238}
6239
6240// SetMonitoringConfiguration sets the MonitoringConfiguration field's value.
6241func (s *FlinkApplicationConfiguration) SetMonitoringConfiguration(v *MonitoringConfiguration) *FlinkApplicationConfiguration {
6242	s.MonitoringConfiguration = v
6243	return s
6244}
6245
6246// SetParallelismConfiguration sets the ParallelismConfiguration field's value.
6247func (s *FlinkApplicationConfiguration) SetParallelismConfiguration(v *ParallelismConfiguration) *FlinkApplicationConfiguration {
6248	s.ParallelismConfiguration = v
6249	return s
6250}
6251
6252// Describes configuration parameters for a Java-based Amazon Kinesis Data Analytics
6253// application.
6254type FlinkApplicationConfigurationDescription struct {
6255	_ struct{} `type:"structure"`
6256
6257	// Describes an application's checkpointing configuration. Checkpointing is
6258	// the process of persisting application state for fault tolerance.
6259	CheckpointConfigurationDescription *CheckpointConfigurationDescription `type:"structure"`
6260
6261	// The job plan for an application. For more information about the job plan,
6262	// see Jobs and Scheduling (https://ci.apache.org/projects/flink/flink-docs-stable/internals/job_scheduling.html)
6263	// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/).
6264	// To retrieve the job plan for the application, use the DescribeApplicationRequest$IncludeAdditionalDetails
6265	// parameter of the DescribeApplication operation.
6266	JobPlanDescription *string `type:"string"`
6267
6268	// Describes configuration parameters for Amazon CloudWatch logging for an application.
6269	MonitoringConfigurationDescription *MonitoringConfigurationDescription `type:"structure"`
6270
6271	// Describes parameters for how an application executes multiple tasks simultaneously.
6272	ParallelismConfigurationDescription *ParallelismConfigurationDescription `type:"structure"`
6273}
6274
6275// String returns the string representation
6276func (s FlinkApplicationConfigurationDescription) String() string {
6277	return awsutil.Prettify(s)
6278}
6279
6280// GoString returns the string representation
6281func (s FlinkApplicationConfigurationDescription) GoString() string {
6282	return s.String()
6283}
6284
6285// SetCheckpointConfigurationDescription sets the CheckpointConfigurationDescription field's value.
6286func (s *FlinkApplicationConfigurationDescription) SetCheckpointConfigurationDescription(v *CheckpointConfigurationDescription) *FlinkApplicationConfigurationDescription {
6287	s.CheckpointConfigurationDescription = v
6288	return s
6289}
6290
6291// SetJobPlanDescription sets the JobPlanDescription field's value.
6292func (s *FlinkApplicationConfigurationDescription) SetJobPlanDescription(v string) *FlinkApplicationConfigurationDescription {
6293	s.JobPlanDescription = &v
6294	return s
6295}
6296
6297// SetMonitoringConfigurationDescription sets the MonitoringConfigurationDescription field's value.
6298func (s *FlinkApplicationConfigurationDescription) SetMonitoringConfigurationDescription(v *MonitoringConfigurationDescription) *FlinkApplicationConfigurationDescription {
6299	s.MonitoringConfigurationDescription = v
6300	return s
6301}
6302
6303// SetParallelismConfigurationDescription sets the ParallelismConfigurationDescription field's value.
6304func (s *FlinkApplicationConfigurationDescription) SetParallelismConfigurationDescription(v *ParallelismConfigurationDescription) *FlinkApplicationConfigurationDescription {
6305	s.ParallelismConfigurationDescription = v
6306	return s
6307}
6308
6309// Describes updates to the configuration parameters for a Java-based Amazon
6310// Kinesis Data Analytics application.
6311type FlinkApplicationConfigurationUpdate struct {
6312	_ struct{} `type:"structure"`
6313
6314	// Describes updates to an application's checkpointing configuration. Checkpointing
6315	// is the process of persisting application state for fault tolerance.
6316	CheckpointConfigurationUpdate *CheckpointConfigurationUpdate `type:"structure"`
6317
6318	// Describes updates to the configuration parameters for Amazon CloudWatch logging
6319	// for an application.
6320	MonitoringConfigurationUpdate *MonitoringConfigurationUpdate `type:"structure"`
6321
6322	// Describes updates to the parameters for how an application executes multiple
6323	// tasks simultaneously.
6324	ParallelismConfigurationUpdate *ParallelismConfigurationUpdate `type:"structure"`
6325}
6326
6327// String returns the string representation
6328func (s FlinkApplicationConfigurationUpdate) String() string {
6329	return awsutil.Prettify(s)
6330}
6331
6332// GoString returns the string representation
6333func (s FlinkApplicationConfigurationUpdate) GoString() string {
6334	return s.String()
6335}
6336
6337// Validate inspects the fields of the type to determine if they are valid.
6338func (s *FlinkApplicationConfigurationUpdate) Validate() error {
6339	invalidParams := request.ErrInvalidParams{Context: "FlinkApplicationConfigurationUpdate"}
6340	if s.CheckpointConfigurationUpdate != nil {
6341		if err := s.CheckpointConfigurationUpdate.Validate(); err != nil {
6342			invalidParams.AddNested("CheckpointConfigurationUpdate", err.(request.ErrInvalidParams))
6343		}
6344	}
6345	if s.ParallelismConfigurationUpdate != nil {
6346		if err := s.ParallelismConfigurationUpdate.Validate(); err != nil {
6347			invalidParams.AddNested("ParallelismConfigurationUpdate", err.(request.ErrInvalidParams))
6348		}
6349	}
6350
6351	if invalidParams.Len() > 0 {
6352		return invalidParams
6353	}
6354	return nil
6355}
6356
6357// SetCheckpointConfigurationUpdate sets the CheckpointConfigurationUpdate field's value.
6358func (s *FlinkApplicationConfigurationUpdate) SetCheckpointConfigurationUpdate(v *CheckpointConfigurationUpdate) *FlinkApplicationConfigurationUpdate {
6359	s.CheckpointConfigurationUpdate = v
6360	return s
6361}
6362
6363// SetMonitoringConfigurationUpdate sets the MonitoringConfigurationUpdate field's value.
6364func (s *FlinkApplicationConfigurationUpdate) SetMonitoringConfigurationUpdate(v *MonitoringConfigurationUpdate) *FlinkApplicationConfigurationUpdate {
6365	s.MonitoringConfigurationUpdate = v
6366	return s
6367}
6368
6369// SetParallelismConfigurationUpdate sets the ParallelismConfigurationUpdate field's value.
6370func (s *FlinkApplicationConfigurationUpdate) SetParallelismConfigurationUpdate(v *ParallelismConfigurationUpdate) *FlinkApplicationConfigurationUpdate {
6371	s.ParallelismConfigurationUpdate = v
6372	return s
6373}
6374
6375// Describes the starting parameters for an Apache Flink-based Kinesis Data
6376// Analytics application.
6377type FlinkRunConfiguration struct {
6378	_ struct{} `type:"structure"`
6379
6380	// When restoring from a savepoint, specifies whether the runtime is allowed
6381	// to skip a state that cannot be mapped to the new program. This will happen
6382	// if the program is updated between savepoints to remove stateful parameters,
6383	// and state data in the savepoint no longer corresponds to valid application
6384	// 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)
6385	// in the Apache Flink documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/).
6386	AllowNonRestoredState *bool `type:"boolean"`
6387}
6388
6389// String returns the string representation
6390func (s FlinkRunConfiguration) String() string {
6391	return awsutil.Prettify(s)
6392}
6393
6394// GoString returns the string representation
6395func (s FlinkRunConfiguration) GoString() string {
6396	return s.String()
6397}
6398
6399// SetAllowNonRestoredState sets the AllowNonRestoredState field's value.
6400func (s *FlinkRunConfiguration) SetAllowNonRestoredState(v bool) *FlinkRunConfiguration {
6401	s.AllowNonRestoredState = &v
6402	return s
6403}
6404
6405// When you configure the application input for an SQL-based Amazon Kinesis
6406// Data Analytics application, you specify the streaming source, the in-application
6407// stream name that is created, and the mapping between the two.
6408type Input struct {
6409	_ struct{} `type:"structure"`
6410
6411	// Describes the number of in-application streams to create.
6412	InputParallelism *InputParallelism `type:"structure"`
6413
6414	// The InputProcessingConfiguration for the input. An input processor transforms
6415	// records as they are received from the stream, before the application's SQL
6416	// code executes. Currently, the only input processing configuration available
6417	// is InputLambdaProcessor.
6418	InputProcessingConfiguration *InputProcessingConfiguration `type:"structure"`
6419
6420	// Describes the format of the data in the streaming source, and how each data
6421	// element maps to corresponding columns in the in-application stream that is
6422	// being created.
6423	//
6424	// Also used to describe the format of the reference data source.
6425	//
6426	// InputSchema is a required field
6427	InputSchema *SourceSchema `type:"structure" required:"true"`
6428
6429	// If the streaming source is an Amazon Kinesis Data Firehose delivery stream,
6430	// identifies the delivery stream's ARN.
6431	KinesisFirehoseInput *KinesisFirehoseInput `type:"structure"`
6432
6433	// If the streaming source is an Amazon Kinesis data stream, identifies the
6434	// stream's Amazon Resource Name (ARN).
6435	KinesisStreamsInput *KinesisStreamsInput `type:"structure"`
6436
6437	// The name prefix to use when creating an in-application stream. Suppose that
6438	// you specify a prefix "MyInApplicationStream." Kinesis Data Analytics then
6439	// creates one or more (as per the InputParallelism count you specified) in-application
6440	// streams with the names "MyInApplicationStream_001," "MyInApplicationStream_002,"
6441	// and so on.
6442	//
6443	// NamePrefix is a required field
6444	NamePrefix *string `min:"1" type:"string" required:"true"`
6445}
6446
6447// String returns the string representation
6448func (s Input) String() string {
6449	return awsutil.Prettify(s)
6450}
6451
6452// GoString returns the string representation
6453func (s Input) GoString() string {
6454	return s.String()
6455}
6456
6457// Validate inspects the fields of the type to determine if they are valid.
6458func (s *Input) Validate() error {
6459	invalidParams := request.ErrInvalidParams{Context: "Input"}
6460	if s.InputSchema == nil {
6461		invalidParams.Add(request.NewErrParamRequired("InputSchema"))
6462	}
6463	if s.NamePrefix == nil {
6464		invalidParams.Add(request.NewErrParamRequired("NamePrefix"))
6465	}
6466	if s.NamePrefix != nil && len(*s.NamePrefix) < 1 {
6467		invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1))
6468	}
6469	if s.InputParallelism != nil {
6470		if err := s.InputParallelism.Validate(); err != nil {
6471			invalidParams.AddNested("InputParallelism", err.(request.ErrInvalidParams))
6472		}
6473	}
6474	if s.InputProcessingConfiguration != nil {
6475		if err := s.InputProcessingConfiguration.Validate(); err != nil {
6476			invalidParams.AddNested("InputProcessingConfiguration", err.(request.ErrInvalidParams))
6477		}
6478	}
6479	if s.InputSchema != nil {
6480		if err := s.InputSchema.Validate(); err != nil {
6481			invalidParams.AddNested("InputSchema", err.(request.ErrInvalidParams))
6482		}
6483	}
6484	if s.KinesisFirehoseInput != nil {
6485		if err := s.KinesisFirehoseInput.Validate(); err != nil {
6486			invalidParams.AddNested("KinesisFirehoseInput", err.(request.ErrInvalidParams))
6487		}
6488	}
6489	if s.KinesisStreamsInput != nil {
6490		if err := s.KinesisStreamsInput.Validate(); err != nil {
6491			invalidParams.AddNested("KinesisStreamsInput", err.(request.ErrInvalidParams))
6492		}
6493	}
6494
6495	if invalidParams.Len() > 0 {
6496		return invalidParams
6497	}
6498	return nil
6499}
6500
6501// SetInputParallelism sets the InputParallelism field's value.
6502func (s *Input) SetInputParallelism(v *InputParallelism) *Input {
6503	s.InputParallelism = v
6504	return s
6505}
6506
6507// SetInputProcessingConfiguration sets the InputProcessingConfiguration field's value.
6508func (s *Input) SetInputProcessingConfiguration(v *InputProcessingConfiguration) *Input {
6509	s.InputProcessingConfiguration = v
6510	return s
6511}
6512
6513// SetInputSchema sets the InputSchema field's value.
6514func (s *Input) SetInputSchema(v *SourceSchema) *Input {
6515	s.InputSchema = v
6516	return s
6517}
6518
6519// SetKinesisFirehoseInput sets the KinesisFirehoseInput field's value.
6520func (s *Input) SetKinesisFirehoseInput(v *KinesisFirehoseInput) *Input {
6521	s.KinesisFirehoseInput = v
6522	return s
6523}
6524
6525// SetKinesisStreamsInput sets the KinesisStreamsInput field's value.
6526func (s *Input) SetKinesisStreamsInput(v *KinesisStreamsInput) *Input {
6527	s.KinesisStreamsInput = v
6528	return s
6529}
6530
6531// SetNamePrefix sets the NamePrefix field's value.
6532func (s *Input) SetNamePrefix(v string) *Input {
6533	s.NamePrefix = &v
6534	return s
6535}
6536
6537// Describes the application input configuration for an SQL-based Amazon Kinesis
6538// Data Analytics application.
6539type InputDescription struct {
6540	_ struct{} `type:"structure"`
6541
6542	// Returns the in-application stream names that are mapped to the stream source.
6543	InAppStreamNames []*string `type:"list"`
6544
6545	// The input ID that is associated with the application input. This is the ID
6546	// that Kinesis Data Analytics assigns to each input configuration that you
6547	// add to your application.
6548	InputId *string `min:"1" type:"string"`
6549
6550	// Describes the configured parallelism (number of in-application streams mapped
6551	// to the streaming source).
6552	InputParallelism *InputParallelism `type:"structure"`
6553
6554	// The description of the preprocessor that executes on records in this input
6555	// before the application's code is run.
6556	InputProcessingConfigurationDescription *InputProcessingConfigurationDescription `type:"structure"`
6557
6558	// Describes the format of the data in the streaming source, and how each data
6559	// element maps to corresponding columns in the in-application stream that is
6560	// being created.
6561	InputSchema *SourceSchema `type:"structure"`
6562
6563	// The point at which the application is configured to read from the input stream.
6564	InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure"`
6565
6566	// If a Kinesis Data Firehose delivery stream is configured as a streaming source,
6567	// provides the delivery stream's ARN.
6568	KinesisFirehoseInputDescription *KinesisFirehoseInputDescription `type:"structure"`
6569
6570	// If a Kinesis data stream is configured as a streaming source, provides the
6571	// Kinesis data stream's Amazon Resource Name (ARN).
6572	KinesisStreamsInputDescription *KinesisStreamsInputDescription `type:"structure"`
6573
6574	// The in-application name prefix.
6575	NamePrefix *string `min:"1" type:"string"`
6576}
6577
6578// String returns the string representation
6579func (s InputDescription) String() string {
6580	return awsutil.Prettify(s)
6581}
6582
6583// GoString returns the string representation
6584func (s InputDescription) GoString() string {
6585	return s.String()
6586}
6587
6588// SetInAppStreamNames sets the InAppStreamNames field's value.
6589func (s *InputDescription) SetInAppStreamNames(v []*string) *InputDescription {
6590	s.InAppStreamNames = v
6591	return s
6592}
6593
6594// SetInputId sets the InputId field's value.
6595func (s *InputDescription) SetInputId(v string) *InputDescription {
6596	s.InputId = &v
6597	return s
6598}
6599
6600// SetInputParallelism sets the InputParallelism field's value.
6601func (s *InputDescription) SetInputParallelism(v *InputParallelism) *InputDescription {
6602	s.InputParallelism = v
6603	return s
6604}
6605
6606// SetInputProcessingConfigurationDescription sets the InputProcessingConfigurationDescription field's value.
6607func (s *InputDescription) SetInputProcessingConfigurationDescription(v *InputProcessingConfigurationDescription) *InputDescription {
6608	s.InputProcessingConfigurationDescription = v
6609	return s
6610}
6611
6612// SetInputSchema sets the InputSchema field's value.
6613func (s *InputDescription) SetInputSchema(v *SourceSchema) *InputDescription {
6614	s.InputSchema = v
6615	return s
6616}
6617
6618// SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value.
6619func (s *InputDescription) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *InputDescription {
6620	s.InputStartingPositionConfiguration = v
6621	return s
6622}
6623
6624// SetKinesisFirehoseInputDescription sets the KinesisFirehoseInputDescription field's value.
6625func (s *InputDescription) SetKinesisFirehoseInputDescription(v *KinesisFirehoseInputDescription) *InputDescription {
6626	s.KinesisFirehoseInputDescription = v
6627	return s
6628}
6629
6630// SetKinesisStreamsInputDescription sets the KinesisStreamsInputDescription field's value.
6631func (s *InputDescription) SetKinesisStreamsInputDescription(v *KinesisStreamsInputDescription) *InputDescription {
6632	s.KinesisStreamsInputDescription = v
6633	return s
6634}
6635
6636// SetNamePrefix sets the NamePrefix field's value.
6637func (s *InputDescription) SetNamePrefix(v string) *InputDescription {
6638	s.NamePrefix = &v
6639	return s
6640}
6641
6642// An object that contains the Amazon Resource Name (ARN) of the AWS Lambda
6643// function that is used to preprocess records in the stream in an SQL-based
6644// Amazon Kinesis Data Analytics application.
6645type InputLambdaProcessor struct {
6646	_ struct{} `type:"structure"`
6647
6648	// The ARN of the AWS Lambda function that operates on records in the stream.
6649	//
6650	// To specify an earlier version of the Lambda function than the latest, include
6651	// the Lambda function version in the Lambda function ARN. For more information
6652	// about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
6653	//
6654	// ResourceARN is a required field
6655	ResourceARN *string `min:"1" type:"string" required:"true"`
6656}
6657
6658// String returns the string representation
6659func (s InputLambdaProcessor) String() string {
6660	return awsutil.Prettify(s)
6661}
6662
6663// GoString returns the string representation
6664func (s InputLambdaProcessor) GoString() string {
6665	return s.String()
6666}
6667
6668// Validate inspects the fields of the type to determine if they are valid.
6669func (s *InputLambdaProcessor) Validate() error {
6670	invalidParams := request.ErrInvalidParams{Context: "InputLambdaProcessor"}
6671	if s.ResourceARN == nil {
6672		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
6673	}
6674	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
6675		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
6676	}
6677
6678	if invalidParams.Len() > 0 {
6679		return invalidParams
6680	}
6681	return nil
6682}
6683
6684// SetResourceARN sets the ResourceARN field's value.
6685func (s *InputLambdaProcessor) SetResourceARN(v string) *InputLambdaProcessor {
6686	s.ResourceARN = &v
6687	return s
6688}
6689
6690// For an SQL-based Amazon Kinesis Data Analytics application, an object that
6691// contains the Amazon Resource Name (ARN) of the AWS Lambda function that is
6692// used to preprocess records in the stream.
6693type InputLambdaProcessorDescription struct {
6694	_ struct{} `type:"structure"`
6695
6696	// The ARN of the AWS Lambda function that is used to preprocess the records
6697	// in the stream.
6698	//
6699	// To specify an earlier version of the Lambda function than the latest, include
6700	// the Lambda function version in the Lambda function ARN. For more information
6701	// about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
6702	//
6703	// ResourceARN is a required field
6704	ResourceARN *string `min:"1" type:"string" required:"true"`
6705
6706	// The ARN of the IAM role that is used to access the AWS Lambda function.
6707	//
6708	// Provided for backward compatibility. Applications that are created with the
6709	// current API version have an application-level service execution role rather
6710	// than a resource-level role.
6711	RoleARN *string `min:"1" type:"string"`
6712}
6713
6714// String returns the string representation
6715func (s InputLambdaProcessorDescription) String() string {
6716	return awsutil.Prettify(s)
6717}
6718
6719// GoString returns the string representation
6720func (s InputLambdaProcessorDescription) GoString() string {
6721	return s.String()
6722}
6723
6724// SetResourceARN sets the ResourceARN field's value.
6725func (s *InputLambdaProcessorDescription) SetResourceARN(v string) *InputLambdaProcessorDescription {
6726	s.ResourceARN = &v
6727	return s
6728}
6729
6730// SetRoleARN sets the RoleARN field's value.
6731func (s *InputLambdaProcessorDescription) SetRoleARN(v string) *InputLambdaProcessorDescription {
6732	s.RoleARN = &v
6733	return s
6734}
6735
6736// For an SQL-based Amazon Kinesis Data Analytics application, represents an
6737// update to the InputLambdaProcessor that is used to preprocess the records
6738// in the stream.
6739type InputLambdaProcessorUpdate struct {
6740	_ struct{} `type:"structure"`
6741
6742	// The Amazon Resource Name (ARN) of the new AWS Lambda function that is used
6743	// to preprocess the records in the stream.
6744	//
6745	// To specify an earlier version of the Lambda function than the latest, include
6746	// the Lambda function version in the Lambda function ARN. For more information
6747	// about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
6748	//
6749	// ResourceARNUpdate is a required field
6750	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
6751}
6752
6753// String returns the string representation
6754func (s InputLambdaProcessorUpdate) String() string {
6755	return awsutil.Prettify(s)
6756}
6757
6758// GoString returns the string representation
6759func (s InputLambdaProcessorUpdate) GoString() string {
6760	return s.String()
6761}
6762
6763// Validate inspects the fields of the type to determine if they are valid.
6764func (s *InputLambdaProcessorUpdate) Validate() error {
6765	invalidParams := request.ErrInvalidParams{Context: "InputLambdaProcessorUpdate"}
6766	if s.ResourceARNUpdate == nil {
6767		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
6768	}
6769	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
6770		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
6771	}
6772
6773	if invalidParams.Len() > 0 {
6774		return invalidParams
6775	}
6776	return nil
6777}
6778
6779// SetResourceARNUpdate sets the ResourceARNUpdate field's value.
6780func (s *InputLambdaProcessorUpdate) SetResourceARNUpdate(v string) *InputLambdaProcessorUpdate {
6781	s.ResourceARNUpdate = &v
6782	return s
6783}
6784
6785// For an SQL-based Amazon Kinesis Data Analytics application, describes the
6786// number of in-application streams to create for a given streaming source.
6787type InputParallelism struct {
6788	_ struct{} `type:"structure"`
6789
6790	// The number of in-application streams to create.
6791	Count *int64 `min:"1" type:"integer"`
6792}
6793
6794// String returns the string representation
6795func (s InputParallelism) String() string {
6796	return awsutil.Prettify(s)
6797}
6798
6799// GoString returns the string representation
6800func (s InputParallelism) GoString() string {
6801	return s.String()
6802}
6803
6804// Validate inspects the fields of the type to determine if they are valid.
6805func (s *InputParallelism) Validate() error {
6806	invalidParams := request.ErrInvalidParams{Context: "InputParallelism"}
6807	if s.Count != nil && *s.Count < 1 {
6808		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
6809	}
6810
6811	if invalidParams.Len() > 0 {
6812		return invalidParams
6813	}
6814	return nil
6815}
6816
6817// SetCount sets the Count field's value.
6818func (s *InputParallelism) SetCount(v int64) *InputParallelism {
6819	s.Count = &v
6820	return s
6821}
6822
6823// For an SQL-based Amazon Kinesis Data Analytics application, provides updates
6824// to the parallelism count.
6825type InputParallelismUpdate struct {
6826	_ struct{} `type:"structure"`
6827
6828	// The number of in-application streams to create for the specified streaming
6829	// source.
6830	//
6831	// CountUpdate is a required field
6832	CountUpdate *int64 `min:"1" type:"integer" required:"true"`
6833}
6834
6835// String returns the string representation
6836func (s InputParallelismUpdate) String() string {
6837	return awsutil.Prettify(s)
6838}
6839
6840// GoString returns the string representation
6841func (s InputParallelismUpdate) GoString() string {
6842	return s.String()
6843}
6844
6845// Validate inspects the fields of the type to determine if they are valid.
6846func (s *InputParallelismUpdate) Validate() error {
6847	invalidParams := request.ErrInvalidParams{Context: "InputParallelismUpdate"}
6848	if s.CountUpdate == nil {
6849		invalidParams.Add(request.NewErrParamRequired("CountUpdate"))
6850	}
6851	if s.CountUpdate != nil && *s.CountUpdate < 1 {
6852		invalidParams.Add(request.NewErrParamMinValue("CountUpdate", 1))
6853	}
6854
6855	if invalidParams.Len() > 0 {
6856		return invalidParams
6857	}
6858	return nil
6859}
6860
6861// SetCountUpdate sets the CountUpdate field's value.
6862func (s *InputParallelismUpdate) SetCountUpdate(v int64) *InputParallelismUpdate {
6863	s.CountUpdate = &v
6864	return s
6865}
6866
6867// For an SQL-based Amazon Kinesis Data Analytics application, describes a processor
6868// that is used to preprocess the records in the stream before being processed
6869// by your application code. Currently, the only input processor available is
6870// AWS Lambda (https://aws.amazon.com/documentation/lambda/).
6871type InputProcessingConfiguration struct {
6872	_ struct{} `type:"structure"`
6873
6874	// The InputLambdaProcessor that is used to preprocess the records in the stream
6875	// before being processed by your application code.
6876	//
6877	// InputLambdaProcessor is a required field
6878	InputLambdaProcessor *InputLambdaProcessor `type:"structure" required:"true"`
6879}
6880
6881// String returns the string representation
6882func (s InputProcessingConfiguration) String() string {
6883	return awsutil.Prettify(s)
6884}
6885
6886// GoString returns the string representation
6887func (s InputProcessingConfiguration) GoString() string {
6888	return s.String()
6889}
6890
6891// Validate inspects the fields of the type to determine if they are valid.
6892func (s *InputProcessingConfiguration) Validate() error {
6893	invalidParams := request.ErrInvalidParams{Context: "InputProcessingConfiguration"}
6894	if s.InputLambdaProcessor == nil {
6895		invalidParams.Add(request.NewErrParamRequired("InputLambdaProcessor"))
6896	}
6897	if s.InputLambdaProcessor != nil {
6898		if err := s.InputLambdaProcessor.Validate(); err != nil {
6899			invalidParams.AddNested("InputLambdaProcessor", err.(request.ErrInvalidParams))
6900		}
6901	}
6902
6903	if invalidParams.Len() > 0 {
6904		return invalidParams
6905	}
6906	return nil
6907}
6908
6909// SetInputLambdaProcessor sets the InputLambdaProcessor field's value.
6910func (s *InputProcessingConfiguration) SetInputLambdaProcessor(v *InputLambdaProcessor) *InputProcessingConfiguration {
6911	s.InputLambdaProcessor = v
6912	return s
6913}
6914
6915// For an SQL-based Amazon Kinesis Data Analytics application, provides the
6916// configuration information about an input processor. Currently, the only input
6917// processor available is AWS Lambda (https://aws.amazon.com/documentation/lambda/).
6918type InputProcessingConfigurationDescription struct {
6919	_ struct{} `type:"structure"`
6920
6921	// Provides configuration information about the associated InputLambdaProcessorDescription
6922	InputLambdaProcessorDescription *InputLambdaProcessorDescription `type:"structure"`
6923}
6924
6925// String returns the string representation
6926func (s InputProcessingConfigurationDescription) String() string {
6927	return awsutil.Prettify(s)
6928}
6929
6930// GoString returns the string representation
6931func (s InputProcessingConfigurationDescription) GoString() string {
6932	return s.String()
6933}
6934
6935// SetInputLambdaProcessorDescription sets the InputLambdaProcessorDescription field's value.
6936func (s *InputProcessingConfigurationDescription) SetInputLambdaProcessorDescription(v *InputLambdaProcessorDescription) *InputProcessingConfigurationDescription {
6937	s.InputLambdaProcessorDescription = v
6938	return s
6939}
6940
6941// For an SQL-based Amazon Kinesis Data Analytics application, describes updates
6942// to an InputProcessingConfiguration.
6943type InputProcessingConfigurationUpdate struct {
6944	_ struct{} `type:"structure"`
6945
6946	// Provides update information for an InputLambdaProcessor.
6947	//
6948	// InputLambdaProcessorUpdate is a required field
6949	InputLambdaProcessorUpdate *InputLambdaProcessorUpdate `type:"structure" required:"true"`
6950}
6951
6952// String returns the string representation
6953func (s InputProcessingConfigurationUpdate) String() string {
6954	return awsutil.Prettify(s)
6955}
6956
6957// GoString returns the string representation
6958func (s InputProcessingConfigurationUpdate) GoString() string {
6959	return s.String()
6960}
6961
6962// Validate inspects the fields of the type to determine if they are valid.
6963func (s *InputProcessingConfigurationUpdate) Validate() error {
6964	invalidParams := request.ErrInvalidParams{Context: "InputProcessingConfigurationUpdate"}
6965	if s.InputLambdaProcessorUpdate == nil {
6966		invalidParams.Add(request.NewErrParamRequired("InputLambdaProcessorUpdate"))
6967	}
6968	if s.InputLambdaProcessorUpdate != nil {
6969		if err := s.InputLambdaProcessorUpdate.Validate(); err != nil {
6970			invalidParams.AddNested("InputLambdaProcessorUpdate", err.(request.ErrInvalidParams))
6971		}
6972	}
6973
6974	if invalidParams.Len() > 0 {
6975		return invalidParams
6976	}
6977	return nil
6978}
6979
6980// SetInputLambdaProcessorUpdate sets the InputLambdaProcessorUpdate field's value.
6981func (s *InputProcessingConfigurationUpdate) SetInputLambdaProcessorUpdate(v *InputLambdaProcessorUpdate) *InputProcessingConfigurationUpdate {
6982	s.InputLambdaProcessorUpdate = v
6983	return s
6984}
6985
6986// Describes updates for an SQL-based Amazon Kinesis Data Analytics application's
6987// input schema.
6988type InputSchemaUpdate struct {
6989	_ struct{} `type:"structure"`
6990
6991	// A list of RecordColumn objects. Each object describes the mapping of the
6992	// streaming source element to the corresponding column in the in-application
6993	// stream.
6994	RecordColumnUpdates []*RecordColumn `min:"1" type:"list"`
6995
6996	// Specifies the encoding of the records in the streaming source; for example,
6997	// UTF-8.
6998	RecordEncodingUpdate *string `type:"string"`
6999
7000	// Specifies the format of the records on the streaming source.
7001	RecordFormatUpdate *RecordFormat `type:"structure"`
7002}
7003
7004// String returns the string representation
7005func (s InputSchemaUpdate) String() string {
7006	return awsutil.Prettify(s)
7007}
7008
7009// GoString returns the string representation
7010func (s InputSchemaUpdate) GoString() string {
7011	return s.String()
7012}
7013
7014// Validate inspects the fields of the type to determine if they are valid.
7015func (s *InputSchemaUpdate) Validate() error {
7016	invalidParams := request.ErrInvalidParams{Context: "InputSchemaUpdate"}
7017	if s.RecordColumnUpdates != nil && len(s.RecordColumnUpdates) < 1 {
7018		invalidParams.Add(request.NewErrParamMinLen("RecordColumnUpdates", 1))
7019	}
7020	if s.RecordColumnUpdates != nil {
7021		for i, v := range s.RecordColumnUpdates {
7022			if v == nil {
7023				continue
7024			}
7025			if err := v.Validate(); err != nil {
7026				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecordColumnUpdates", i), err.(request.ErrInvalidParams))
7027			}
7028		}
7029	}
7030	if s.RecordFormatUpdate != nil {
7031		if err := s.RecordFormatUpdate.Validate(); err != nil {
7032			invalidParams.AddNested("RecordFormatUpdate", err.(request.ErrInvalidParams))
7033		}
7034	}
7035
7036	if invalidParams.Len() > 0 {
7037		return invalidParams
7038	}
7039	return nil
7040}
7041
7042// SetRecordColumnUpdates sets the RecordColumnUpdates field's value.
7043func (s *InputSchemaUpdate) SetRecordColumnUpdates(v []*RecordColumn) *InputSchemaUpdate {
7044	s.RecordColumnUpdates = v
7045	return s
7046}
7047
7048// SetRecordEncodingUpdate sets the RecordEncodingUpdate field's value.
7049func (s *InputSchemaUpdate) SetRecordEncodingUpdate(v string) *InputSchemaUpdate {
7050	s.RecordEncodingUpdate = &v
7051	return s
7052}
7053
7054// SetRecordFormatUpdate sets the RecordFormatUpdate field's value.
7055func (s *InputSchemaUpdate) SetRecordFormatUpdate(v *RecordFormat) *InputSchemaUpdate {
7056	s.RecordFormatUpdate = v
7057	return s
7058}
7059
7060// Describes the point at which the application reads from the streaming source.
7061type InputStartingPositionConfiguration struct {
7062	_ struct{} `type:"structure"`
7063
7064	// The starting position on the stream.
7065	//
7066	//    * NOW - Start reading just after the most recent record in the stream,
7067	//    and start at the request timestamp that the customer issued.
7068	//
7069	//    * TRIM_HORIZON - Start reading at the last untrimmed record in the stream,
7070	//    which is the oldest record available in the stream. This option is not
7071	//    available for an Amazon Kinesis Data Firehose delivery stream.
7072	//
7073	//    * LAST_STOPPED_POINT - Resume reading from where the application last
7074	//    stopped reading.
7075	InputStartingPosition *string `type:"string" enum:"InputStartingPosition"`
7076}
7077
7078// String returns the string representation
7079func (s InputStartingPositionConfiguration) String() string {
7080	return awsutil.Prettify(s)
7081}
7082
7083// GoString returns the string representation
7084func (s InputStartingPositionConfiguration) GoString() string {
7085	return s.String()
7086}
7087
7088// SetInputStartingPosition sets the InputStartingPosition field's value.
7089func (s *InputStartingPositionConfiguration) SetInputStartingPosition(v string) *InputStartingPositionConfiguration {
7090	s.InputStartingPosition = &v
7091	return s
7092}
7093
7094// For an SQL-based Amazon Kinesis Data Analytics application, describes updates
7095// to a specific input configuration (identified by the InputId of an application).
7096type InputUpdate struct {
7097	_ struct{} `type:"structure"`
7098
7099	// The input ID of the application input to be updated.
7100	//
7101	// InputId is a required field
7102	InputId *string `min:"1" type:"string" required:"true"`
7103
7104	// Describes the parallelism updates (the number of in-application streams Kinesis
7105	// Data Analytics creates for the specific streaming source).
7106	InputParallelismUpdate *InputParallelismUpdate `type:"structure"`
7107
7108	// Describes updates to an InputProcessingConfiguration.
7109	InputProcessingConfigurationUpdate *InputProcessingConfigurationUpdate `type:"structure"`
7110
7111	// Describes the data format on the streaming source, and how record elements
7112	// on the streaming source map to columns of the in-application stream that
7113	// is created.
7114	InputSchemaUpdate *InputSchemaUpdate `type:"structure"`
7115
7116	// If a Kinesis Data Firehose delivery stream is the streaming source to be
7117	// updated, provides an updated stream ARN.
7118	KinesisFirehoseInputUpdate *KinesisFirehoseInputUpdate `type:"structure"`
7119
7120	// If a Kinesis data stream is the streaming source to be updated, provides
7121	// an updated stream Amazon Resource Name (ARN).
7122	KinesisStreamsInputUpdate *KinesisStreamsInputUpdate `type:"structure"`
7123
7124	// The name prefix for in-application streams that Kinesis Data Analytics creates
7125	// for the specific streaming source.
7126	NamePrefixUpdate *string `min:"1" type:"string"`
7127}
7128
7129// String returns the string representation
7130func (s InputUpdate) String() string {
7131	return awsutil.Prettify(s)
7132}
7133
7134// GoString returns the string representation
7135func (s InputUpdate) GoString() string {
7136	return s.String()
7137}
7138
7139// Validate inspects the fields of the type to determine if they are valid.
7140func (s *InputUpdate) Validate() error {
7141	invalidParams := request.ErrInvalidParams{Context: "InputUpdate"}
7142	if s.InputId == nil {
7143		invalidParams.Add(request.NewErrParamRequired("InputId"))
7144	}
7145	if s.InputId != nil && len(*s.InputId) < 1 {
7146		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
7147	}
7148	if s.NamePrefixUpdate != nil && len(*s.NamePrefixUpdate) < 1 {
7149		invalidParams.Add(request.NewErrParamMinLen("NamePrefixUpdate", 1))
7150	}
7151	if s.InputParallelismUpdate != nil {
7152		if err := s.InputParallelismUpdate.Validate(); err != nil {
7153			invalidParams.AddNested("InputParallelismUpdate", err.(request.ErrInvalidParams))
7154		}
7155	}
7156	if s.InputProcessingConfigurationUpdate != nil {
7157		if err := s.InputProcessingConfigurationUpdate.Validate(); err != nil {
7158			invalidParams.AddNested("InputProcessingConfigurationUpdate", err.(request.ErrInvalidParams))
7159		}
7160	}
7161	if s.InputSchemaUpdate != nil {
7162		if err := s.InputSchemaUpdate.Validate(); err != nil {
7163			invalidParams.AddNested("InputSchemaUpdate", err.(request.ErrInvalidParams))
7164		}
7165	}
7166	if s.KinesisFirehoseInputUpdate != nil {
7167		if err := s.KinesisFirehoseInputUpdate.Validate(); err != nil {
7168			invalidParams.AddNested("KinesisFirehoseInputUpdate", err.(request.ErrInvalidParams))
7169		}
7170	}
7171	if s.KinesisStreamsInputUpdate != nil {
7172		if err := s.KinesisStreamsInputUpdate.Validate(); err != nil {
7173			invalidParams.AddNested("KinesisStreamsInputUpdate", err.(request.ErrInvalidParams))
7174		}
7175	}
7176
7177	if invalidParams.Len() > 0 {
7178		return invalidParams
7179	}
7180	return nil
7181}
7182
7183// SetInputId sets the InputId field's value.
7184func (s *InputUpdate) SetInputId(v string) *InputUpdate {
7185	s.InputId = &v
7186	return s
7187}
7188
7189// SetInputParallelismUpdate sets the InputParallelismUpdate field's value.
7190func (s *InputUpdate) SetInputParallelismUpdate(v *InputParallelismUpdate) *InputUpdate {
7191	s.InputParallelismUpdate = v
7192	return s
7193}
7194
7195// SetInputProcessingConfigurationUpdate sets the InputProcessingConfigurationUpdate field's value.
7196func (s *InputUpdate) SetInputProcessingConfigurationUpdate(v *InputProcessingConfigurationUpdate) *InputUpdate {
7197	s.InputProcessingConfigurationUpdate = v
7198	return s
7199}
7200
7201// SetInputSchemaUpdate sets the InputSchemaUpdate field's value.
7202func (s *InputUpdate) SetInputSchemaUpdate(v *InputSchemaUpdate) *InputUpdate {
7203	s.InputSchemaUpdate = v
7204	return s
7205}
7206
7207// SetKinesisFirehoseInputUpdate sets the KinesisFirehoseInputUpdate field's value.
7208func (s *InputUpdate) SetKinesisFirehoseInputUpdate(v *KinesisFirehoseInputUpdate) *InputUpdate {
7209	s.KinesisFirehoseInputUpdate = v
7210	return s
7211}
7212
7213// SetKinesisStreamsInputUpdate sets the KinesisStreamsInputUpdate field's value.
7214func (s *InputUpdate) SetKinesisStreamsInputUpdate(v *KinesisStreamsInputUpdate) *InputUpdate {
7215	s.KinesisStreamsInputUpdate = v
7216	return s
7217}
7218
7219// SetNamePrefixUpdate sets the NamePrefixUpdate field's value.
7220func (s *InputUpdate) SetNamePrefixUpdate(v string) *InputUpdate {
7221	s.NamePrefixUpdate = &v
7222	return s
7223}
7224
7225// For an SQL-based Amazon Kinesis Data Analytics application, provides additional
7226// mapping information when JSON is the record format on the streaming source.
7227type JSONMappingParameters struct {
7228	_ struct{} `type:"structure"`
7229
7230	// The path to the top-level parent that contains the records.
7231	//
7232	// RecordRowPath is a required field
7233	RecordRowPath *string `min:"1" type:"string" required:"true"`
7234}
7235
7236// String returns the string representation
7237func (s JSONMappingParameters) String() string {
7238	return awsutil.Prettify(s)
7239}
7240
7241// GoString returns the string representation
7242func (s JSONMappingParameters) GoString() string {
7243	return s.String()
7244}
7245
7246// Validate inspects the fields of the type to determine if they are valid.
7247func (s *JSONMappingParameters) Validate() error {
7248	invalidParams := request.ErrInvalidParams{Context: "JSONMappingParameters"}
7249	if s.RecordRowPath == nil {
7250		invalidParams.Add(request.NewErrParamRequired("RecordRowPath"))
7251	}
7252	if s.RecordRowPath != nil && len(*s.RecordRowPath) < 1 {
7253		invalidParams.Add(request.NewErrParamMinLen("RecordRowPath", 1))
7254	}
7255
7256	if invalidParams.Len() > 0 {
7257		return invalidParams
7258	}
7259	return nil
7260}
7261
7262// SetRecordRowPath sets the RecordRowPath field's value.
7263func (s *JSONMappingParameters) SetRecordRowPath(v string) *JSONMappingParameters {
7264	s.RecordRowPath = &v
7265	return s
7266}
7267
7268// For an SQL-based Amazon Kinesis Data Analytics application, identifies a
7269// Kinesis Data Firehose delivery stream as the streaming source. You provide
7270// the delivery stream's Amazon Resource Name (ARN).
7271type KinesisFirehoseInput struct {
7272	_ struct{} `type:"structure"`
7273
7274	// The Amazon Resource Name (ARN) of the delivery stream.
7275	//
7276	// ResourceARN is a required field
7277	ResourceARN *string `min:"1" type:"string" required:"true"`
7278}
7279
7280// String returns the string representation
7281func (s KinesisFirehoseInput) String() string {
7282	return awsutil.Prettify(s)
7283}
7284
7285// GoString returns the string representation
7286func (s KinesisFirehoseInput) GoString() string {
7287	return s.String()
7288}
7289
7290// Validate inspects the fields of the type to determine if they are valid.
7291func (s *KinesisFirehoseInput) Validate() error {
7292	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseInput"}
7293	if s.ResourceARN == nil {
7294		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
7295	}
7296	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
7297		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
7298	}
7299
7300	if invalidParams.Len() > 0 {
7301		return invalidParams
7302	}
7303	return nil
7304}
7305
7306// SetResourceARN sets the ResourceARN field's value.
7307func (s *KinesisFirehoseInput) SetResourceARN(v string) *KinesisFirehoseInput {
7308	s.ResourceARN = &v
7309	return s
7310}
7311
7312// Describes the Amazon Kinesis Data Firehose delivery stream that is configured
7313// as the streaming source in the application input configuration.
7314type KinesisFirehoseInputDescription struct {
7315	_ struct{} `type:"structure"`
7316
7317	// The Amazon Resource Name (ARN) of the delivery stream.
7318	//
7319	// ResourceARN is a required field
7320	ResourceARN *string `min:"1" type:"string" required:"true"`
7321
7322	// The ARN of the IAM role that Kinesis Data Analytics assumes to access the
7323	// stream.
7324	//
7325	// Provided for backward compatibility. Applications that are created with the
7326	// current API version have an application-level service execution role rather
7327	// than a resource-level role.
7328	RoleARN *string `min:"1" type:"string"`
7329}
7330
7331// String returns the string representation
7332func (s KinesisFirehoseInputDescription) String() string {
7333	return awsutil.Prettify(s)
7334}
7335
7336// GoString returns the string representation
7337func (s KinesisFirehoseInputDescription) GoString() string {
7338	return s.String()
7339}
7340
7341// SetResourceARN sets the ResourceARN field's value.
7342func (s *KinesisFirehoseInputDescription) SetResourceARN(v string) *KinesisFirehoseInputDescription {
7343	s.ResourceARN = &v
7344	return s
7345}
7346
7347// SetRoleARN sets the RoleARN field's value.
7348func (s *KinesisFirehoseInputDescription) SetRoleARN(v string) *KinesisFirehoseInputDescription {
7349	s.RoleARN = &v
7350	return s
7351}
7352
7353// For an SQL-based Amazon Kinesis Data Analytics application, when updating
7354// application input configuration, provides information about a Kinesis Data
7355// Firehose delivery stream as the streaming source.
7356type KinesisFirehoseInputUpdate struct {
7357	_ struct{} `type:"structure"`
7358
7359	// The Amazon Resource Name (ARN) of the input delivery stream to read.
7360	//
7361	// ResourceARNUpdate is a required field
7362	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
7363}
7364
7365// String returns the string representation
7366func (s KinesisFirehoseInputUpdate) String() string {
7367	return awsutil.Prettify(s)
7368}
7369
7370// GoString returns the string representation
7371func (s KinesisFirehoseInputUpdate) GoString() string {
7372	return s.String()
7373}
7374
7375// Validate inspects the fields of the type to determine if they are valid.
7376func (s *KinesisFirehoseInputUpdate) Validate() error {
7377	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseInputUpdate"}
7378	if s.ResourceARNUpdate == nil {
7379		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
7380	}
7381	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
7382		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
7383	}
7384
7385	if invalidParams.Len() > 0 {
7386		return invalidParams
7387	}
7388	return nil
7389}
7390
7391// SetResourceARNUpdate sets the ResourceARNUpdate field's value.
7392func (s *KinesisFirehoseInputUpdate) SetResourceARNUpdate(v string) *KinesisFirehoseInputUpdate {
7393	s.ResourceARNUpdate = &v
7394	return s
7395}
7396
7397// For an SQL-based Amazon Kinesis Data Analytics application, when configuring
7398// application output, identifies a Kinesis Data Firehose delivery stream as
7399// the destination. You provide the stream Amazon Resource Name (ARN) of the
7400// delivery stream.
7401type KinesisFirehoseOutput struct {
7402	_ struct{} `type:"structure"`
7403
7404	// The ARN of the destination delivery stream to write to.
7405	//
7406	// ResourceARN is a required field
7407	ResourceARN *string `min:"1" type:"string" required:"true"`
7408}
7409
7410// String returns the string representation
7411func (s KinesisFirehoseOutput) String() string {
7412	return awsutil.Prettify(s)
7413}
7414
7415// GoString returns the string representation
7416func (s KinesisFirehoseOutput) GoString() string {
7417	return s.String()
7418}
7419
7420// Validate inspects the fields of the type to determine if they are valid.
7421func (s *KinesisFirehoseOutput) Validate() error {
7422	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseOutput"}
7423	if s.ResourceARN == nil {
7424		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
7425	}
7426	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
7427		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
7428	}
7429
7430	if invalidParams.Len() > 0 {
7431		return invalidParams
7432	}
7433	return nil
7434}
7435
7436// SetResourceARN sets the ResourceARN field's value.
7437func (s *KinesisFirehoseOutput) SetResourceARN(v string) *KinesisFirehoseOutput {
7438	s.ResourceARN = &v
7439	return s
7440}
7441
7442// For an SQL-based Amazon Kinesis Data Analytics application's output, describes
7443// the Kinesis Data Firehose delivery stream that is configured as its destination.
7444type KinesisFirehoseOutputDescription struct {
7445	_ struct{} `type:"structure"`
7446
7447	// The Amazon Resource Name (ARN) of the delivery stream.
7448	//
7449	// ResourceARN is a required field
7450	ResourceARN *string `min:"1" type:"string" required:"true"`
7451
7452	// The ARN of the IAM role that Kinesis Data Analytics can assume to access
7453	// the stream.
7454	//
7455	// Provided for backward compatibility. Applications that are created with the
7456	// current API version have an application-level service execution role rather
7457	// than a resource-level role.
7458	RoleARN *string `min:"1" type:"string"`
7459}
7460
7461// String returns the string representation
7462func (s KinesisFirehoseOutputDescription) String() string {
7463	return awsutil.Prettify(s)
7464}
7465
7466// GoString returns the string representation
7467func (s KinesisFirehoseOutputDescription) GoString() string {
7468	return s.String()
7469}
7470
7471// SetResourceARN sets the ResourceARN field's value.
7472func (s *KinesisFirehoseOutputDescription) SetResourceARN(v string) *KinesisFirehoseOutputDescription {
7473	s.ResourceARN = &v
7474	return s
7475}
7476
7477// SetRoleARN sets the RoleARN field's value.
7478func (s *KinesisFirehoseOutputDescription) SetRoleARN(v string) *KinesisFirehoseOutputDescription {
7479	s.RoleARN = &v
7480	return s
7481}
7482
7483// For an SQL-based Amazon Kinesis Data Analytics application, when updating
7484// an output configuration using the UpdateApplication operation, provides information
7485// about a Kinesis Data Firehose delivery stream that is configured as the destination.
7486type KinesisFirehoseOutputUpdate struct {
7487	_ struct{} `type:"structure"`
7488
7489	// The Amazon Resource Name (ARN) of the delivery stream to write to.
7490	//
7491	// ResourceARNUpdate is a required field
7492	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
7493}
7494
7495// String returns the string representation
7496func (s KinesisFirehoseOutputUpdate) String() string {
7497	return awsutil.Prettify(s)
7498}
7499
7500// GoString returns the string representation
7501func (s KinesisFirehoseOutputUpdate) GoString() string {
7502	return s.String()
7503}
7504
7505// Validate inspects the fields of the type to determine if they are valid.
7506func (s *KinesisFirehoseOutputUpdate) Validate() error {
7507	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseOutputUpdate"}
7508	if s.ResourceARNUpdate == nil {
7509		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
7510	}
7511	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
7512		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
7513	}
7514
7515	if invalidParams.Len() > 0 {
7516		return invalidParams
7517	}
7518	return nil
7519}
7520
7521// SetResourceARNUpdate sets the ResourceARNUpdate field's value.
7522func (s *KinesisFirehoseOutputUpdate) SetResourceARNUpdate(v string) *KinesisFirehoseOutputUpdate {
7523	s.ResourceARNUpdate = &v
7524	return s
7525}
7526
7527// Identifies an Amazon Kinesis data stream as the streaming source. You provide
7528// the stream's Amazon Resource Name (ARN).
7529type KinesisStreamsInput struct {
7530	_ struct{} `type:"structure"`
7531
7532	// The ARN of the input Kinesis data stream to read.
7533	//
7534	// ResourceARN is a required field
7535	ResourceARN *string `min:"1" type:"string" required:"true"`
7536}
7537
7538// String returns the string representation
7539func (s KinesisStreamsInput) String() string {
7540	return awsutil.Prettify(s)
7541}
7542
7543// GoString returns the string representation
7544func (s KinesisStreamsInput) GoString() string {
7545	return s.String()
7546}
7547
7548// Validate inspects the fields of the type to determine if they are valid.
7549func (s *KinesisStreamsInput) Validate() error {
7550	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsInput"}
7551	if s.ResourceARN == nil {
7552		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
7553	}
7554	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
7555		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
7556	}
7557
7558	if invalidParams.Len() > 0 {
7559		return invalidParams
7560	}
7561	return nil
7562}
7563
7564// SetResourceARN sets the ResourceARN field's value.
7565func (s *KinesisStreamsInput) SetResourceARN(v string) *KinesisStreamsInput {
7566	s.ResourceARN = &v
7567	return s
7568}
7569
7570// For an SQL-based Amazon Kinesis Data Analytics application, describes the
7571// Kinesis data stream that is configured as the streaming source in the application
7572// input configuration.
7573type KinesisStreamsInputDescription struct {
7574	_ struct{} `type:"structure"`
7575
7576	// The Amazon Resource Name (ARN) of the Kinesis data stream.
7577	//
7578	// ResourceARN is a required field
7579	ResourceARN *string `min:"1" type:"string" required:"true"`
7580
7581	// The ARN of the IAM role that Kinesis Data Analytics can assume to access
7582	// the stream.
7583	//
7584	// Provided for backward compatibility. Applications that are created with the
7585	// current API version have an application-level service execution role rather
7586	// than a resource-level role.
7587	RoleARN *string `min:"1" type:"string"`
7588}
7589
7590// String returns the string representation
7591func (s KinesisStreamsInputDescription) String() string {
7592	return awsutil.Prettify(s)
7593}
7594
7595// GoString returns the string representation
7596func (s KinesisStreamsInputDescription) GoString() string {
7597	return s.String()
7598}
7599
7600// SetResourceARN sets the ResourceARN field's value.
7601func (s *KinesisStreamsInputDescription) SetResourceARN(v string) *KinesisStreamsInputDescription {
7602	s.ResourceARN = &v
7603	return s
7604}
7605
7606// SetRoleARN sets the RoleARN field's value.
7607func (s *KinesisStreamsInputDescription) SetRoleARN(v string) *KinesisStreamsInputDescription {
7608	s.RoleARN = &v
7609	return s
7610}
7611
7612// When you update the input configuration for an SQL-based Amazon Kinesis Data
7613// Analytics application, provides information about an Amazon Kinesis stream
7614// as the streaming source.
7615type KinesisStreamsInputUpdate struct {
7616	_ struct{} `type:"structure"`
7617
7618	// The Amazon Resource Name (ARN) of the input Kinesis data stream to read.
7619	//
7620	// ResourceARNUpdate is a required field
7621	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
7622}
7623
7624// String returns the string representation
7625func (s KinesisStreamsInputUpdate) String() string {
7626	return awsutil.Prettify(s)
7627}
7628
7629// GoString returns the string representation
7630func (s KinesisStreamsInputUpdate) GoString() string {
7631	return s.String()
7632}
7633
7634// Validate inspects the fields of the type to determine if they are valid.
7635func (s *KinesisStreamsInputUpdate) Validate() error {
7636	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsInputUpdate"}
7637	if s.ResourceARNUpdate == nil {
7638		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
7639	}
7640	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
7641		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
7642	}
7643
7644	if invalidParams.Len() > 0 {
7645		return invalidParams
7646	}
7647	return nil
7648}
7649
7650// SetResourceARNUpdate sets the ResourceARNUpdate field's value.
7651func (s *KinesisStreamsInputUpdate) SetResourceARNUpdate(v string) *KinesisStreamsInputUpdate {
7652	s.ResourceARNUpdate = &v
7653	return s
7654}
7655
7656// When you configure an SQL-based Amazon Kinesis Data Analytics application's
7657// output, identifies a Kinesis data stream as the destination. You provide
7658// the stream Amazon Resource Name (ARN).
7659type KinesisStreamsOutput struct {
7660	_ struct{} `type:"structure"`
7661
7662	// The ARN of the destination Kinesis data stream to write to.
7663	//
7664	// ResourceARN is a required field
7665	ResourceARN *string `min:"1" type:"string" required:"true"`
7666}
7667
7668// String returns the string representation
7669func (s KinesisStreamsOutput) String() string {
7670	return awsutil.Prettify(s)
7671}
7672
7673// GoString returns the string representation
7674func (s KinesisStreamsOutput) GoString() string {
7675	return s.String()
7676}
7677
7678// Validate inspects the fields of the type to determine if they are valid.
7679func (s *KinesisStreamsOutput) Validate() error {
7680	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsOutput"}
7681	if s.ResourceARN == nil {
7682		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
7683	}
7684	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
7685		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
7686	}
7687
7688	if invalidParams.Len() > 0 {
7689		return invalidParams
7690	}
7691	return nil
7692}
7693
7694// SetResourceARN sets the ResourceARN field's value.
7695func (s *KinesisStreamsOutput) SetResourceARN(v string) *KinesisStreamsOutput {
7696	s.ResourceARN = &v
7697	return s
7698}
7699
7700// For an SQL-based Amazon Kinesis Data Analytics application's output, describes
7701// the Kinesis data stream that is configured as its destination.
7702type KinesisStreamsOutputDescription struct {
7703	_ struct{} `type:"structure"`
7704
7705	// The Amazon Resource Name (ARN) of the Kinesis data stream.
7706	//
7707	// ResourceARN is a required field
7708	ResourceARN *string `min:"1" type:"string" required:"true"`
7709
7710	// The ARN of the IAM role that Kinesis Data Analytics can assume to access
7711	// the stream.
7712	//
7713	// Provided for backward compatibility. Applications that are created with the
7714	// current API version have an application-level service execution role rather
7715	// than a resource-level role.
7716	RoleARN *string `min:"1" type:"string"`
7717}
7718
7719// String returns the string representation
7720func (s KinesisStreamsOutputDescription) String() string {
7721	return awsutil.Prettify(s)
7722}
7723
7724// GoString returns the string representation
7725func (s KinesisStreamsOutputDescription) GoString() string {
7726	return s.String()
7727}
7728
7729// SetResourceARN sets the ResourceARN field's value.
7730func (s *KinesisStreamsOutputDescription) SetResourceARN(v string) *KinesisStreamsOutputDescription {
7731	s.ResourceARN = &v
7732	return s
7733}
7734
7735// SetRoleARN sets the RoleARN field's value.
7736func (s *KinesisStreamsOutputDescription) SetRoleARN(v string) *KinesisStreamsOutputDescription {
7737	s.RoleARN = &v
7738	return s
7739}
7740
7741// When you update an SQL-based Amazon Kinesis Data Analytics application's
7742// output configuration using the UpdateApplication operation, provides information
7743// about a Kinesis data stream that is configured as the destination.
7744type KinesisStreamsOutputUpdate struct {
7745	_ struct{} `type:"structure"`
7746
7747	// The Amazon Resource Name (ARN) of the Kinesis data stream where you want
7748	// to write the output.
7749	//
7750	// ResourceARNUpdate is a required field
7751	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
7752}
7753
7754// String returns the string representation
7755func (s KinesisStreamsOutputUpdate) String() string {
7756	return awsutil.Prettify(s)
7757}
7758
7759// GoString returns the string representation
7760func (s KinesisStreamsOutputUpdate) GoString() string {
7761	return s.String()
7762}
7763
7764// Validate inspects the fields of the type to determine if they are valid.
7765func (s *KinesisStreamsOutputUpdate) Validate() error {
7766	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsOutputUpdate"}
7767	if s.ResourceARNUpdate == nil {
7768		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
7769	}
7770	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
7771		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
7772	}
7773
7774	if invalidParams.Len() > 0 {
7775		return invalidParams
7776	}
7777	return nil
7778}
7779
7780// SetResourceARNUpdate sets the ResourceARNUpdate field's value.
7781func (s *KinesisStreamsOutputUpdate) SetResourceARNUpdate(v string) *KinesisStreamsOutputUpdate {
7782	s.ResourceARNUpdate = &v
7783	return s
7784}
7785
7786// When you configure an SQL-based Amazon Kinesis Data Analytics application's
7787// output, identifies an AWS Lambda function as the destination. You provide
7788// the function Amazon Resource Name (ARN) of the Lambda function.
7789type LambdaOutput struct {
7790	_ struct{} `type:"structure"`
7791
7792	// The Amazon Resource Name (ARN) of the destination Lambda function to write
7793	// to.
7794	//
7795	// To specify an earlier version of the Lambda function than the latest, include
7796	// the Lambda function version in the Lambda function ARN. For more information
7797	// about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
7798	//
7799	// ResourceARN is a required field
7800	ResourceARN *string `min:"1" type:"string" required:"true"`
7801}
7802
7803// String returns the string representation
7804func (s LambdaOutput) String() string {
7805	return awsutil.Prettify(s)
7806}
7807
7808// GoString returns the string representation
7809func (s LambdaOutput) GoString() string {
7810	return s.String()
7811}
7812
7813// Validate inspects the fields of the type to determine if they are valid.
7814func (s *LambdaOutput) Validate() error {
7815	invalidParams := request.ErrInvalidParams{Context: "LambdaOutput"}
7816	if s.ResourceARN == nil {
7817		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
7818	}
7819	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
7820		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
7821	}
7822
7823	if invalidParams.Len() > 0 {
7824		return invalidParams
7825	}
7826	return nil
7827}
7828
7829// SetResourceARN sets the ResourceARN field's value.
7830func (s *LambdaOutput) SetResourceARN(v string) *LambdaOutput {
7831	s.ResourceARN = &v
7832	return s
7833}
7834
7835// For an SQL-based Amazon Kinesis Data Analytics application output, describes
7836// the AWS Lambda function that is configured as its destination.
7837type LambdaOutputDescription struct {
7838	_ struct{} `type:"structure"`
7839
7840	// The Amazon Resource Name (ARN) of the destination Lambda function.
7841	//
7842	// ResourceARN is a required field
7843	ResourceARN *string `min:"1" type:"string" required:"true"`
7844
7845	// The ARN of the IAM role that Kinesis Data Analytics can assume to write to
7846	// the destination function.
7847	//
7848	// Provided for backward compatibility. Applications that are created with the
7849	// current API version have an application-level service execution role rather
7850	// than a resource-level role.
7851	RoleARN *string `min:"1" type:"string"`
7852}
7853
7854// String returns the string representation
7855func (s LambdaOutputDescription) String() string {
7856	return awsutil.Prettify(s)
7857}
7858
7859// GoString returns the string representation
7860func (s LambdaOutputDescription) GoString() string {
7861	return s.String()
7862}
7863
7864// SetResourceARN sets the ResourceARN field's value.
7865func (s *LambdaOutputDescription) SetResourceARN(v string) *LambdaOutputDescription {
7866	s.ResourceARN = &v
7867	return s
7868}
7869
7870// SetRoleARN sets the RoleARN field's value.
7871func (s *LambdaOutputDescription) SetRoleARN(v string) *LambdaOutputDescription {
7872	s.RoleARN = &v
7873	return s
7874}
7875
7876// When you update an SQL-based Amazon Kinesis Data Analytics application's
7877// output configuration using the UpdateApplication operation, provides information
7878// about an AWS Lambda function that is configured as the destination.
7879type LambdaOutputUpdate struct {
7880	_ struct{} `type:"structure"`
7881
7882	// The Amazon Resource Name (ARN) of the destination AWS Lambda function.
7883	//
7884	// To specify an earlier version of the Lambda function than the latest, include
7885	// the Lambda function version in the Lambda function ARN. For more information
7886	// about Lambda ARNs, see Example ARNs: AWS Lambda (/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
7887	//
7888	// ResourceARNUpdate is a required field
7889	ResourceARNUpdate *string `min:"1" type:"string" required:"true"`
7890}
7891
7892// String returns the string representation
7893func (s LambdaOutputUpdate) String() string {
7894	return awsutil.Prettify(s)
7895}
7896
7897// GoString returns the string representation
7898func (s LambdaOutputUpdate) GoString() string {
7899	return s.String()
7900}
7901
7902// Validate inspects the fields of the type to determine if they are valid.
7903func (s *LambdaOutputUpdate) Validate() error {
7904	invalidParams := request.ErrInvalidParams{Context: "LambdaOutputUpdate"}
7905	if s.ResourceARNUpdate == nil {
7906		invalidParams.Add(request.NewErrParamRequired("ResourceARNUpdate"))
7907	}
7908	if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 {
7909		invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1))
7910	}
7911
7912	if invalidParams.Len() > 0 {
7913		return invalidParams
7914	}
7915	return nil
7916}
7917
7918// SetResourceARNUpdate sets the ResourceARNUpdate field's value.
7919func (s *LambdaOutputUpdate) SetResourceARNUpdate(v string) *LambdaOutputUpdate {
7920	s.ResourceARNUpdate = &v
7921	return s
7922}
7923
7924type ListApplicationSnapshotsInput struct {
7925	_ struct{} `type:"structure"`
7926
7927	// The name of an existing application.
7928	//
7929	// ApplicationName is a required field
7930	ApplicationName *string `min:"1" type:"string" required:"true"`
7931
7932	// The maximum number of application snapshots to list.
7933	Limit *int64 `min:"1" type:"integer"`
7934
7935	// Use this parameter if you receive a NextToken response in a previous request
7936	// that indicates that there is more output available. Set it to the value of
7937	// the previous call's NextToken response to indicate where the output should
7938	// continue from.
7939	NextToken *string `min:"1" type:"string"`
7940}
7941
7942// String returns the string representation
7943func (s ListApplicationSnapshotsInput) String() string {
7944	return awsutil.Prettify(s)
7945}
7946
7947// GoString returns the string representation
7948func (s ListApplicationSnapshotsInput) GoString() string {
7949	return s.String()
7950}
7951
7952// Validate inspects the fields of the type to determine if they are valid.
7953func (s *ListApplicationSnapshotsInput) Validate() error {
7954	invalidParams := request.ErrInvalidParams{Context: "ListApplicationSnapshotsInput"}
7955	if s.ApplicationName == nil {
7956		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
7957	}
7958	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7959		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7960	}
7961	if s.Limit != nil && *s.Limit < 1 {
7962		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7963	}
7964	if s.NextToken != nil && len(*s.NextToken) < 1 {
7965		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7966	}
7967
7968	if invalidParams.Len() > 0 {
7969		return invalidParams
7970	}
7971	return nil
7972}
7973
7974// SetApplicationName sets the ApplicationName field's value.
7975func (s *ListApplicationSnapshotsInput) SetApplicationName(v string) *ListApplicationSnapshotsInput {
7976	s.ApplicationName = &v
7977	return s
7978}
7979
7980// SetLimit sets the Limit field's value.
7981func (s *ListApplicationSnapshotsInput) SetLimit(v int64) *ListApplicationSnapshotsInput {
7982	s.Limit = &v
7983	return s
7984}
7985
7986// SetNextToken sets the NextToken field's value.
7987func (s *ListApplicationSnapshotsInput) SetNextToken(v string) *ListApplicationSnapshotsInput {
7988	s.NextToken = &v
7989	return s
7990}
7991
7992type ListApplicationSnapshotsOutput struct {
7993	_ struct{} `type:"structure"`
7994
7995	// The token for the next set of results, or null if there are no additional
7996	// results.
7997	NextToken *string `min:"1" type:"string"`
7998
7999	// A collection of objects containing information about the application snapshots.
8000	SnapshotSummaries []*SnapshotDetails `type:"list"`
8001}
8002
8003// String returns the string representation
8004func (s ListApplicationSnapshotsOutput) String() string {
8005	return awsutil.Prettify(s)
8006}
8007
8008// GoString returns the string representation
8009func (s ListApplicationSnapshotsOutput) GoString() string {
8010	return s.String()
8011}
8012
8013// SetNextToken sets the NextToken field's value.
8014func (s *ListApplicationSnapshotsOutput) SetNextToken(v string) *ListApplicationSnapshotsOutput {
8015	s.NextToken = &v
8016	return s
8017}
8018
8019// SetSnapshotSummaries sets the SnapshotSummaries field's value.
8020func (s *ListApplicationSnapshotsOutput) SetSnapshotSummaries(v []*SnapshotDetails) *ListApplicationSnapshotsOutput {
8021	s.SnapshotSummaries = v
8022	return s
8023}
8024
8025type ListApplicationsInput struct {
8026	_ struct{} `type:"structure"`
8027
8028	// The maximum number of applications to list.
8029	Limit *int64 `min:"1" type:"integer"`
8030
8031	// If a previous command returned a pagination token, pass it into this value
8032	// to retrieve the next set of results. For more information about pagination,
8033	// see Using the AWS Command Line Interface's Pagination Options (https://docs.aws.amazon.com/cli/latest/userguide/pagination.html).
8034	NextToken *string `min:"1" type:"string"`
8035}
8036
8037// String returns the string representation
8038func (s ListApplicationsInput) String() string {
8039	return awsutil.Prettify(s)
8040}
8041
8042// GoString returns the string representation
8043func (s ListApplicationsInput) GoString() string {
8044	return s.String()
8045}
8046
8047// Validate inspects the fields of the type to determine if they are valid.
8048func (s *ListApplicationsInput) Validate() error {
8049	invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"}
8050	if s.Limit != nil && *s.Limit < 1 {
8051		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8052	}
8053	if s.NextToken != nil && len(*s.NextToken) < 1 {
8054		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8055	}
8056
8057	if invalidParams.Len() > 0 {
8058		return invalidParams
8059	}
8060	return nil
8061}
8062
8063// SetLimit sets the Limit field's value.
8064func (s *ListApplicationsInput) SetLimit(v int64) *ListApplicationsInput {
8065	s.Limit = &v
8066	return s
8067}
8068
8069// SetNextToken sets the NextToken field's value.
8070func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
8071	s.NextToken = &v
8072	return s
8073}
8074
8075type ListApplicationsOutput struct {
8076	_ struct{} `type:"structure"`
8077
8078	// A list of ApplicationSummary objects.
8079	//
8080	// ApplicationSummaries is a required field
8081	ApplicationSummaries []*ApplicationSummary `type:"list" required:"true"`
8082
8083	// The pagination token for the next set of results, or null if there are no
8084	// additional results. Pass this token into a subsequent command to retrieve
8085	// the next set of items For more information about pagination, see Using the
8086	// AWS Command Line Interface's Pagination Options (https://docs.aws.amazon.com/cli/latest/userguide/pagination.html).
8087	NextToken *string `min:"1" type:"string"`
8088}
8089
8090// String returns the string representation
8091func (s ListApplicationsOutput) String() string {
8092	return awsutil.Prettify(s)
8093}
8094
8095// GoString returns the string representation
8096func (s ListApplicationsOutput) GoString() string {
8097	return s.String()
8098}
8099
8100// SetApplicationSummaries sets the ApplicationSummaries field's value.
8101func (s *ListApplicationsOutput) SetApplicationSummaries(v []*ApplicationSummary) *ListApplicationsOutput {
8102	s.ApplicationSummaries = v
8103	return s
8104}
8105
8106// SetNextToken sets the NextToken field's value.
8107func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
8108	s.NextToken = &v
8109	return s
8110}
8111
8112type ListTagsForResourceInput struct {
8113	_ struct{} `type:"structure"`
8114
8115	// The ARN of the application for which to retrieve tags.
8116	//
8117	// ResourceARN is a required field
8118	ResourceARN *string `min:"1" type:"string" required:"true"`
8119}
8120
8121// String returns the string representation
8122func (s ListTagsForResourceInput) String() string {
8123	return awsutil.Prettify(s)
8124}
8125
8126// GoString returns the string representation
8127func (s ListTagsForResourceInput) GoString() string {
8128	return s.String()
8129}
8130
8131// Validate inspects the fields of the type to determine if they are valid.
8132func (s *ListTagsForResourceInput) Validate() error {
8133	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8134	if s.ResourceARN == nil {
8135		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
8136	}
8137	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
8138		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
8139	}
8140
8141	if invalidParams.Len() > 0 {
8142		return invalidParams
8143	}
8144	return nil
8145}
8146
8147// SetResourceARN sets the ResourceARN field's value.
8148func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
8149	s.ResourceARN = &v
8150	return s
8151}
8152
8153type ListTagsForResourceOutput struct {
8154	_ struct{} `type:"structure"`
8155
8156	// The key-value tags assigned to the application.
8157	Tags []*Tag `min:"1" type:"list"`
8158}
8159
8160// String returns the string representation
8161func (s ListTagsForResourceOutput) String() string {
8162	return awsutil.Prettify(s)
8163}
8164
8165// GoString returns the string representation
8166func (s ListTagsForResourceOutput) GoString() string {
8167	return s.String()
8168}
8169
8170// SetTags sets the Tags field's value.
8171func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
8172	s.Tags = v
8173	return s
8174}
8175
8176// When you configure an SQL-based Amazon Kinesis Data Analytics application's
8177// input at the time of creating or updating an application, provides additional
8178// mapping information specific to the record format (such as JSON, CSV, or
8179// record fields delimited by some delimiter) on the streaming source.
8180type MappingParameters struct {
8181	_ struct{} `type:"structure"`
8182
8183	// Provides additional mapping information when the record format uses delimiters
8184	// (for example, CSV).
8185	CSVMappingParameters *CSVMappingParameters `type:"structure"`
8186
8187	// Provides additional mapping information when JSON is the record format on
8188	// the streaming source.
8189	JSONMappingParameters *JSONMappingParameters `type:"structure"`
8190}
8191
8192// String returns the string representation
8193func (s MappingParameters) String() string {
8194	return awsutil.Prettify(s)
8195}
8196
8197// GoString returns the string representation
8198func (s MappingParameters) GoString() string {
8199	return s.String()
8200}
8201
8202// Validate inspects the fields of the type to determine if they are valid.
8203func (s *MappingParameters) Validate() error {
8204	invalidParams := request.ErrInvalidParams{Context: "MappingParameters"}
8205	if s.CSVMappingParameters != nil {
8206		if err := s.CSVMappingParameters.Validate(); err != nil {
8207			invalidParams.AddNested("CSVMappingParameters", err.(request.ErrInvalidParams))
8208		}
8209	}
8210	if s.JSONMappingParameters != nil {
8211		if err := s.JSONMappingParameters.Validate(); err != nil {
8212			invalidParams.AddNested("JSONMappingParameters", err.(request.ErrInvalidParams))
8213		}
8214	}
8215
8216	if invalidParams.Len() > 0 {
8217		return invalidParams
8218	}
8219	return nil
8220}
8221
8222// SetCSVMappingParameters sets the CSVMappingParameters field's value.
8223func (s *MappingParameters) SetCSVMappingParameters(v *CSVMappingParameters) *MappingParameters {
8224	s.CSVMappingParameters = v
8225	return s
8226}
8227
8228// SetJSONMappingParameters sets the JSONMappingParameters field's value.
8229func (s *MappingParameters) SetJSONMappingParameters(v *JSONMappingParameters) *MappingParameters {
8230	s.JSONMappingParameters = v
8231	return s
8232}
8233
8234// Describes configuration parameters for Amazon CloudWatch logging for a Java-based
8235// Kinesis Data Analytics application. For more information about CloudWatch
8236// logging, see Monitoring (https://docs.aws.amazon.com/kinesisanalytics/latest/java/monitoring-overview.html).
8237type MonitoringConfiguration struct {
8238	_ struct{} `type:"structure"`
8239
8240	// Describes whether to use the default CloudWatch logging configuration for
8241	// an application. You must set this property to CUSTOM in order to set the
8242	// LogLevel or MetricsLevel parameters.
8243	//
8244	// ConfigurationType is a required field
8245	ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"`
8246
8247	// Describes the verbosity of the CloudWatch Logs for an application.
8248	LogLevel *string `type:"string" enum:"LogLevel"`
8249
8250	// Describes the granularity of the CloudWatch Logs for an application.
8251	MetricsLevel *string `type:"string" enum:"MetricsLevel"`
8252}
8253
8254// String returns the string representation
8255func (s MonitoringConfiguration) String() string {
8256	return awsutil.Prettify(s)
8257}
8258
8259// GoString returns the string representation
8260func (s MonitoringConfiguration) GoString() string {
8261	return s.String()
8262}
8263
8264// Validate inspects the fields of the type to determine if they are valid.
8265func (s *MonitoringConfiguration) Validate() error {
8266	invalidParams := request.ErrInvalidParams{Context: "MonitoringConfiguration"}
8267	if s.ConfigurationType == nil {
8268		invalidParams.Add(request.NewErrParamRequired("ConfigurationType"))
8269	}
8270
8271	if invalidParams.Len() > 0 {
8272		return invalidParams
8273	}
8274	return nil
8275}
8276
8277// SetConfigurationType sets the ConfigurationType field's value.
8278func (s *MonitoringConfiguration) SetConfigurationType(v string) *MonitoringConfiguration {
8279	s.ConfigurationType = &v
8280	return s
8281}
8282
8283// SetLogLevel sets the LogLevel field's value.
8284func (s *MonitoringConfiguration) SetLogLevel(v string) *MonitoringConfiguration {
8285	s.LogLevel = &v
8286	return s
8287}
8288
8289// SetMetricsLevel sets the MetricsLevel field's value.
8290func (s *MonitoringConfiguration) SetMetricsLevel(v string) *MonitoringConfiguration {
8291	s.MetricsLevel = &v
8292	return s
8293}
8294
8295// Describes configuration parameters for CloudWatch logging for a Java-based
8296// Kinesis Data Analytics application.
8297type MonitoringConfigurationDescription struct {
8298	_ struct{} `type:"structure"`
8299
8300	// Describes whether to use the default CloudWatch logging configuration for
8301	// an application.
8302	ConfigurationType *string `type:"string" enum:"ConfigurationType"`
8303
8304	// Describes the verbosity of the CloudWatch Logs for an application.
8305	LogLevel *string `type:"string" enum:"LogLevel"`
8306
8307	// Describes the granularity of the CloudWatch Logs for an application.
8308	MetricsLevel *string `type:"string" enum:"MetricsLevel"`
8309}
8310
8311// String returns the string representation
8312func (s MonitoringConfigurationDescription) String() string {
8313	return awsutil.Prettify(s)
8314}
8315
8316// GoString returns the string representation
8317func (s MonitoringConfigurationDescription) GoString() string {
8318	return s.String()
8319}
8320
8321// SetConfigurationType sets the ConfigurationType field's value.
8322func (s *MonitoringConfigurationDescription) SetConfigurationType(v string) *MonitoringConfigurationDescription {
8323	s.ConfigurationType = &v
8324	return s
8325}
8326
8327// SetLogLevel sets the LogLevel field's value.
8328func (s *MonitoringConfigurationDescription) SetLogLevel(v string) *MonitoringConfigurationDescription {
8329	s.LogLevel = &v
8330	return s
8331}
8332
8333// SetMetricsLevel sets the MetricsLevel field's value.
8334func (s *MonitoringConfigurationDescription) SetMetricsLevel(v string) *MonitoringConfigurationDescription {
8335	s.MetricsLevel = &v
8336	return s
8337}
8338
8339// Describes updates to configuration parameters for Amazon CloudWatch logging
8340// for a Java-based Kinesis Data Analytics application.
8341type MonitoringConfigurationUpdate struct {
8342	_ struct{} `type:"structure"`
8343
8344	// Describes updates to whether to use the default CloudWatch logging configuration
8345	// for an application. You must set this property to CUSTOM in order to set
8346	// the LogLevel or MetricsLevel parameters.
8347	ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"`
8348
8349	// Describes updates to the verbosity of the CloudWatch Logs for an application.
8350	LogLevelUpdate *string `type:"string" enum:"LogLevel"`
8351
8352	// Describes updates to the granularity of the CloudWatch Logs for an application.
8353	MetricsLevelUpdate *string `type:"string" enum:"MetricsLevel"`
8354}
8355
8356// String returns the string representation
8357func (s MonitoringConfigurationUpdate) String() string {
8358	return awsutil.Prettify(s)
8359}
8360
8361// GoString returns the string representation
8362func (s MonitoringConfigurationUpdate) GoString() string {
8363	return s.String()
8364}
8365
8366// SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value.
8367func (s *MonitoringConfigurationUpdate) SetConfigurationTypeUpdate(v string) *MonitoringConfigurationUpdate {
8368	s.ConfigurationTypeUpdate = &v
8369	return s
8370}
8371
8372// SetLogLevelUpdate sets the LogLevelUpdate field's value.
8373func (s *MonitoringConfigurationUpdate) SetLogLevelUpdate(v string) *MonitoringConfigurationUpdate {
8374	s.LogLevelUpdate = &v
8375	return s
8376}
8377
8378// SetMetricsLevelUpdate sets the MetricsLevelUpdate field's value.
8379func (s *MonitoringConfigurationUpdate) SetMetricsLevelUpdate(v string) *MonitoringConfigurationUpdate {
8380	s.MetricsLevelUpdate = &v
8381	return s
8382}
8383
8384// Describes an SQL-based Amazon Kinesis Data Analytics application's output
8385// configuration, in which you identify an in-application stream and a destination
8386// where you want the in-application stream data to be written. The destination
8387// can be a Kinesis data stream or a Kinesis Data Firehose delivery stream.
8388type Output struct {
8389	_ struct{} `type:"structure"`
8390
8391	// Describes the data format when records are written to the destination.
8392	//
8393	// DestinationSchema is a required field
8394	DestinationSchema *DestinationSchema `type:"structure" required:"true"`
8395
8396	// Identifies an Amazon Kinesis Data Firehose delivery stream as the destination.
8397	KinesisFirehoseOutput *KinesisFirehoseOutput `type:"structure"`
8398
8399	// Identifies an Amazon Kinesis data stream as the destination.
8400	KinesisStreamsOutput *KinesisStreamsOutput `type:"structure"`
8401
8402	// Identifies an AWS Lambda function as the destination.
8403	LambdaOutput *LambdaOutput `type:"structure"`
8404
8405	// The name of the in-application stream.
8406	//
8407	// Name is a required field
8408	Name *string `min:"1" type:"string" required:"true"`
8409}
8410
8411// String returns the string representation
8412func (s Output) String() string {
8413	return awsutil.Prettify(s)
8414}
8415
8416// GoString returns the string representation
8417func (s Output) GoString() string {
8418	return s.String()
8419}
8420
8421// Validate inspects the fields of the type to determine if they are valid.
8422func (s *Output) Validate() error {
8423	invalidParams := request.ErrInvalidParams{Context: "Output"}
8424	if s.DestinationSchema == nil {
8425		invalidParams.Add(request.NewErrParamRequired("DestinationSchema"))
8426	}
8427	if s.Name == nil {
8428		invalidParams.Add(request.NewErrParamRequired("Name"))
8429	}
8430	if s.Name != nil && len(*s.Name) < 1 {
8431		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8432	}
8433	if s.DestinationSchema != nil {
8434		if err := s.DestinationSchema.Validate(); err != nil {
8435			invalidParams.AddNested("DestinationSchema", err.(request.ErrInvalidParams))
8436		}
8437	}
8438	if s.KinesisFirehoseOutput != nil {
8439		if err := s.KinesisFirehoseOutput.Validate(); err != nil {
8440			invalidParams.AddNested("KinesisFirehoseOutput", err.(request.ErrInvalidParams))
8441		}
8442	}
8443	if s.KinesisStreamsOutput != nil {
8444		if err := s.KinesisStreamsOutput.Validate(); err != nil {
8445			invalidParams.AddNested("KinesisStreamsOutput", err.(request.ErrInvalidParams))
8446		}
8447	}
8448	if s.LambdaOutput != nil {
8449		if err := s.LambdaOutput.Validate(); err != nil {
8450			invalidParams.AddNested("LambdaOutput", err.(request.ErrInvalidParams))
8451		}
8452	}
8453
8454	if invalidParams.Len() > 0 {
8455		return invalidParams
8456	}
8457	return nil
8458}
8459
8460// SetDestinationSchema sets the DestinationSchema field's value.
8461func (s *Output) SetDestinationSchema(v *DestinationSchema) *Output {
8462	s.DestinationSchema = v
8463	return s
8464}
8465
8466// SetKinesisFirehoseOutput sets the KinesisFirehoseOutput field's value.
8467func (s *Output) SetKinesisFirehoseOutput(v *KinesisFirehoseOutput) *Output {
8468	s.KinesisFirehoseOutput = v
8469	return s
8470}
8471
8472// SetKinesisStreamsOutput sets the KinesisStreamsOutput field's value.
8473func (s *Output) SetKinesisStreamsOutput(v *KinesisStreamsOutput) *Output {
8474	s.KinesisStreamsOutput = v
8475	return s
8476}
8477
8478// SetLambdaOutput sets the LambdaOutput field's value.
8479func (s *Output) SetLambdaOutput(v *LambdaOutput) *Output {
8480	s.LambdaOutput = v
8481	return s
8482}
8483
8484// SetName sets the Name field's value.
8485func (s *Output) SetName(v string) *Output {
8486	s.Name = &v
8487	return s
8488}
8489
8490// For an SQL-based Amazon Kinesis Data Analytics application, describes the
8491// application output configuration, which includes the in-application stream
8492// name and the destination where the stream data is written. The destination
8493// can be a Kinesis data stream or a Kinesis Data Firehose delivery stream.
8494type OutputDescription struct {
8495	_ struct{} `type:"structure"`
8496
8497	// The data format used for writing data to the destination.
8498	DestinationSchema *DestinationSchema `type:"structure"`
8499
8500	// Describes the Kinesis Data Firehose delivery stream that is configured as
8501	// the destination where output is written.
8502	KinesisFirehoseOutputDescription *KinesisFirehoseOutputDescription `type:"structure"`
8503
8504	// Describes the Kinesis data stream that is configured as the destination where
8505	// output is written.
8506	KinesisStreamsOutputDescription *KinesisStreamsOutputDescription `type:"structure"`
8507
8508	// Describes the Lambda function that is configured as the destination where
8509	// output is written.
8510	LambdaOutputDescription *LambdaOutputDescription `type:"structure"`
8511
8512	// The name of the in-application stream that is configured as output.
8513	Name *string `min:"1" type:"string"`
8514
8515	// A unique identifier for the output configuration.
8516	OutputId *string `min:"1" type:"string"`
8517}
8518
8519// String returns the string representation
8520func (s OutputDescription) String() string {
8521	return awsutil.Prettify(s)
8522}
8523
8524// GoString returns the string representation
8525func (s OutputDescription) GoString() string {
8526	return s.String()
8527}
8528
8529// SetDestinationSchema sets the DestinationSchema field's value.
8530func (s *OutputDescription) SetDestinationSchema(v *DestinationSchema) *OutputDescription {
8531	s.DestinationSchema = v
8532	return s
8533}
8534
8535// SetKinesisFirehoseOutputDescription sets the KinesisFirehoseOutputDescription field's value.
8536func (s *OutputDescription) SetKinesisFirehoseOutputDescription(v *KinesisFirehoseOutputDescription) *OutputDescription {
8537	s.KinesisFirehoseOutputDescription = v
8538	return s
8539}
8540
8541// SetKinesisStreamsOutputDescription sets the KinesisStreamsOutputDescription field's value.
8542func (s *OutputDescription) SetKinesisStreamsOutputDescription(v *KinesisStreamsOutputDescription) *OutputDescription {
8543	s.KinesisStreamsOutputDescription = v
8544	return s
8545}
8546
8547// SetLambdaOutputDescription sets the LambdaOutputDescription field's value.
8548func (s *OutputDescription) SetLambdaOutputDescription(v *LambdaOutputDescription) *OutputDescription {
8549	s.LambdaOutputDescription = v
8550	return s
8551}
8552
8553// SetName sets the Name field's value.
8554func (s *OutputDescription) SetName(v string) *OutputDescription {
8555	s.Name = &v
8556	return s
8557}
8558
8559// SetOutputId sets the OutputId field's value.
8560func (s *OutputDescription) SetOutputId(v string) *OutputDescription {
8561	s.OutputId = &v
8562	return s
8563}
8564
8565// For an SQL-based Amazon Kinesis Data Analytics application, describes updates
8566// to the output configuration identified by the OutputId.
8567type OutputUpdate struct {
8568	_ struct{} `type:"structure"`
8569
8570	// Describes the data format when records are written to the destination.
8571	DestinationSchemaUpdate *DestinationSchema `type:"structure"`
8572
8573	// Describes a Kinesis Data Firehose delivery stream as the destination for
8574	// the output.
8575	KinesisFirehoseOutputUpdate *KinesisFirehoseOutputUpdate `type:"structure"`
8576
8577	// Describes a Kinesis data stream as the destination for the output.
8578	KinesisStreamsOutputUpdate *KinesisStreamsOutputUpdate `type:"structure"`
8579
8580	// Describes an AWS Lambda function as the destination for the output.
8581	LambdaOutputUpdate *LambdaOutputUpdate `type:"structure"`
8582
8583	// If you want to specify a different in-application stream for this output
8584	// configuration, use this field to specify the new in-application stream name.
8585	NameUpdate *string `min:"1" type:"string"`
8586
8587	// Identifies the specific output configuration that you want to update.
8588	//
8589	// OutputId is a required field
8590	OutputId *string `min:"1" type:"string" required:"true"`
8591}
8592
8593// String returns the string representation
8594func (s OutputUpdate) String() string {
8595	return awsutil.Prettify(s)
8596}
8597
8598// GoString returns the string representation
8599func (s OutputUpdate) GoString() string {
8600	return s.String()
8601}
8602
8603// Validate inspects the fields of the type to determine if they are valid.
8604func (s *OutputUpdate) Validate() error {
8605	invalidParams := request.ErrInvalidParams{Context: "OutputUpdate"}
8606	if s.NameUpdate != nil && len(*s.NameUpdate) < 1 {
8607		invalidParams.Add(request.NewErrParamMinLen("NameUpdate", 1))
8608	}
8609	if s.OutputId == nil {
8610		invalidParams.Add(request.NewErrParamRequired("OutputId"))
8611	}
8612	if s.OutputId != nil && len(*s.OutputId) < 1 {
8613		invalidParams.Add(request.NewErrParamMinLen("OutputId", 1))
8614	}
8615	if s.DestinationSchemaUpdate != nil {
8616		if err := s.DestinationSchemaUpdate.Validate(); err != nil {
8617			invalidParams.AddNested("DestinationSchemaUpdate", err.(request.ErrInvalidParams))
8618		}
8619	}
8620	if s.KinesisFirehoseOutputUpdate != nil {
8621		if err := s.KinesisFirehoseOutputUpdate.Validate(); err != nil {
8622			invalidParams.AddNested("KinesisFirehoseOutputUpdate", err.(request.ErrInvalidParams))
8623		}
8624	}
8625	if s.KinesisStreamsOutputUpdate != nil {
8626		if err := s.KinesisStreamsOutputUpdate.Validate(); err != nil {
8627			invalidParams.AddNested("KinesisStreamsOutputUpdate", err.(request.ErrInvalidParams))
8628		}
8629	}
8630	if s.LambdaOutputUpdate != nil {
8631		if err := s.LambdaOutputUpdate.Validate(); err != nil {
8632			invalidParams.AddNested("LambdaOutputUpdate", err.(request.ErrInvalidParams))
8633		}
8634	}
8635
8636	if invalidParams.Len() > 0 {
8637		return invalidParams
8638	}
8639	return nil
8640}
8641
8642// SetDestinationSchemaUpdate sets the DestinationSchemaUpdate field's value.
8643func (s *OutputUpdate) SetDestinationSchemaUpdate(v *DestinationSchema) *OutputUpdate {
8644	s.DestinationSchemaUpdate = v
8645	return s
8646}
8647
8648// SetKinesisFirehoseOutputUpdate sets the KinesisFirehoseOutputUpdate field's value.
8649func (s *OutputUpdate) SetKinesisFirehoseOutputUpdate(v *KinesisFirehoseOutputUpdate) *OutputUpdate {
8650	s.KinesisFirehoseOutputUpdate = v
8651	return s
8652}
8653
8654// SetKinesisStreamsOutputUpdate sets the KinesisStreamsOutputUpdate field's value.
8655func (s *OutputUpdate) SetKinesisStreamsOutputUpdate(v *KinesisStreamsOutputUpdate) *OutputUpdate {
8656	s.KinesisStreamsOutputUpdate = v
8657	return s
8658}
8659
8660// SetLambdaOutputUpdate sets the LambdaOutputUpdate field's value.
8661func (s *OutputUpdate) SetLambdaOutputUpdate(v *LambdaOutputUpdate) *OutputUpdate {
8662	s.LambdaOutputUpdate = v
8663	return s
8664}
8665
8666// SetNameUpdate sets the NameUpdate field's value.
8667func (s *OutputUpdate) SetNameUpdate(v string) *OutputUpdate {
8668	s.NameUpdate = &v
8669	return s
8670}
8671
8672// SetOutputId sets the OutputId field's value.
8673func (s *OutputUpdate) SetOutputId(v string) *OutputUpdate {
8674	s.OutputId = &v
8675	return s
8676}
8677
8678// Describes parameters for how a Java-based Amazon Kinesis Data Analytics application
8679// executes multiple tasks simultaneously. For more information about parallelism,
8680// see Parallel Execution (https://ci.apache.org/projects/flink/flink-docs-stable/dev/parallel.html)
8681// in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/).
8682type ParallelismConfiguration struct {
8683	_ struct{} `type:"structure"`
8684
8685	// Describes whether the Kinesis Data Analytics service can increase the parallelism
8686	// of the application in response to increased throughput.
8687	AutoScalingEnabled *bool `type:"boolean"`
8688
8689	// Describes whether the application uses the default parallelism for the Kinesis
8690	// Data Analytics service. You must set this property to CUSTOM in order to
8691	// change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU
8692	// properties.
8693	//
8694	// ConfigurationType is a required field
8695	ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"`
8696
8697	// Describes the initial number of parallel tasks that a Java-based Kinesis
8698	// Data Analytics application can perform. If AutoScalingEnabled is set to True,
8699	// Kinesis Data Analytics increases the CurrentParallelism value in response
8700	// to application load. The service can increase the CurrentParallelism value
8701	// up to the maximum parallelism, which is ParalellismPerKPU times the maximum
8702	// KPUs for the application. The maximum KPUs for an application is 32 by default,
8703	// and can be increased by requesting a limit increase. If application load
8704	// is reduced, the service can reduce the CurrentParallelism value down to the
8705	// Parallelism setting.
8706	Parallelism *int64 `min:"1" type:"integer"`
8707
8708	// Describes the number of parallel tasks that a Java-based Kinesis Data Analytics
8709	// application can perform per Kinesis Processing Unit (KPU) used by the application.
8710	// For more information about KPUs, see Amazon Kinesis Data Analytics Pricing
8711	// (http://aws.amazon.com/kinesis/data-analytics/pricing/).
8712	ParallelismPerKPU *int64 `min:"1" type:"integer"`
8713}
8714
8715// String returns the string representation
8716func (s ParallelismConfiguration) String() string {
8717	return awsutil.Prettify(s)
8718}
8719
8720// GoString returns the string representation
8721func (s ParallelismConfiguration) GoString() string {
8722	return s.String()
8723}
8724
8725// Validate inspects the fields of the type to determine if they are valid.
8726func (s *ParallelismConfiguration) Validate() error {
8727	invalidParams := request.ErrInvalidParams{Context: "ParallelismConfiguration"}
8728	if s.ConfigurationType == nil {
8729		invalidParams.Add(request.NewErrParamRequired("ConfigurationType"))
8730	}
8731	if s.Parallelism != nil && *s.Parallelism < 1 {
8732		invalidParams.Add(request.NewErrParamMinValue("Parallelism", 1))
8733	}
8734	if s.ParallelismPerKPU != nil && *s.ParallelismPerKPU < 1 {
8735		invalidParams.Add(request.NewErrParamMinValue("ParallelismPerKPU", 1))
8736	}
8737
8738	if invalidParams.Len() > 0 {
8739		return invalidParams
8740	}
8741	return nil
8742}
8743
8744// SetAutoScalingEnabled sets the AutoScalingEnabled field's value.
8745func (s *ParallelismConfiguration) SetAutoScalingEnabled(v bool) *ParallelismConfiguration {
8746	s.AutoScalingEnabled = &v
8747	return s
8748}
8749
8750// SetConfigurationType sets the ConfigurationType field's value.
8751func (s *ParallelismConfiguration) SetConfigurationType(v string) *ParallelismConfiguration {
8752	s.ConfigurationType = &v
8753	return s
8754}
8755
8756// SetParallelism sets the Parallelism field's value.
8757func (s *ParallelismConfiguration) SetParallelism(v int64) *ParallelismConfiguration {
8758	s.Parallelism = &v
8759	return s
8760}
8761
8762// SetParallelismPerKPU sets the ParallelismPerKPU field's value.
8763func (s *ParallelismConfiguration) SetParallelismPerKPU(v int64) *ParallelismConfiguration {
8764	s.ParallelismPerKPU = &v
8765	return s
8766}
8767
8768// Describes parameters for how a Java-based Kinesis Data Analytics application
8769// executes multiple tasks simultaneously.
8770type ParallelismConfigurationDescription struct {
8771	_ struct{} `type:"structure"`
8772
8773	// Describes whether the Kinesis Data Analytics service can increase the parallelism
8774	// of the application in response to increased throughput.
8775	AutoScalingEnabled *bool `type:"boolean"`
8776
8777	// Describes whether the application uses the default parallelism for the Kinesis
8778	// Data Analytics service.
8779	ConfigurationType *string `type:"string" enum:"ConfigurationType"`
8780
8781	// Describes the current number of parallel tasks that a Java-based Kinesis
8782	// Data Analytics application can perform. If AutoScalingEnabled is set to True,
8783	// Kinesis Data Analytics can increase this value in response to application
8784	// load. The service can increase this value up to the maximum parallelism,
8785	// which is ParalellismPerKPU times the maximum KPUs for the application. The
8786	// maximum KPUs for an application is 32 by default, and can be increased by
8787	// requesting a limit increase. If application load is reduced, the service
8788	// can reduce the CurrentParallelism value down to the Parallelism setting.
8789	CurrentParallelism *int64 `min:"1" type:"integer"`
8790
8791	// Describes the initial number of parallel tasks that a Java-based Kinesis
8792	// Data Analytics application can perform. If AutoScalingEnabled is set to True,
8793	// then Kinesis Data Analytics can increase the CurrentParallelism value in
8794	// response to application load. The service can increase CurrentParallelism
8795	// up to the maximum parallelism, which is ParalellismPerKPU times the maximum
8796	// KPUs for the application. The maximum KPUs for an application is 32 by default,
8797	// and can be increased by requesting a limit increase. If application load
8798	// is reduced, the service can reduce the CurrentParallelism value down to the
8799	// Parallelism setting.
8800	Parallelism *int64 `min:"1" type:"integer"`
8801
8802	// Describes the number of parallel tasks that a Java-based Kinesis Data Analytics
8803	// application can perform per Kinesis Processing Unit (KPU) used by the application.
8804	ParallelismPerKPU *int64 `min:"1" type:"integer"`
8805}
8806
8807// String returns the string representation
8808func (s ParallelismConfigurationDescription) String() string {
8809	return awsutil.Prettify(s)
8810}
8811
8812// GoString returns the string representation
8813func (s ParallelismConfigurationDescription) GoString() string {
8814	return s.String()
8815}
8816
8817// SetAutoScalingEnabled sets the AutoScalingEnabled field's value.
8818func (s *ParallelismConfigurationDescription) SetAutoScalingEnabled(v bool) *ParallelismConfigurationDescription {
8819	s.AutoScalingEnabled = &v
8820	return s
8821}
8822
8823// SetConfigurationType sets the ConfigurationType field's value.
8824func (s *ParallelismConfigurationDescription) SetConfigurationType(v string) *ParallelismConfigurationDescription {
8825	s.ConfigurationType = &v
8826	return s
8827}
8828
8829// SetCurrentParallelism sets the CurrentParallelism field's value.
8830func (s *ParallelismConfigurationDescription) SetCurrentParallelism(v int64) *ParallelismConfigurationDescription {
8831	s.CurrentParallelism = &v
8832	return s
8833}
8834
8835// SetParallelism sets the Parallelism field's value.
8836func (s *ParallelismConfigurationDescription) SetParallelism(v int64) *ParallelismConfigurationDescription {
8837	s.Parallelism = &v
8838	return s
8839}
8840
8841// SetParallelismPerKPU sets the ParallelismPerKPU field's value.
8842func (s *ParallelismConfigurationDescription) SetParallelismPerKPU(v int64) *ParallelismConfigurationDescription {
8843	s.ParallelismPerKPU = &v
8844	return s
8845}
8846
8847// Describes updates to parameters for how a Java-based Kinesis Data Analytics
8848// application executes multiple tasks simultaneously.
8849type ParallelismConfigurationUpdate struct {
8850	_ struct{} `type:"structure"`
8851
8852	// Describes updates to whether the Kinesis Data Analytics service can increase
8853	// the parallelism of the application in response to increased throughput.
8854	AutoScalingEnabledUpdate *bool `type:"boolean"`
8855
8856	// Describes updates to whether the application uses the default parallelism
8857	// for the Kinesis Data Analytics service, or if a custom parallelism is used.
8858	// You must set this property to CUSTOM in order to change your application's
8859	// AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.
8860	ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"`
8861
8862	// Describes updates to the number of parallel tasks an application can perform
8863	// per Kinesis Processing Unit (KPU) used by the application.
8864	ParallelismPerKPUUpdate *int64 `min:"1" type:"integer"`
8865
8866	// Describes updates to the initial number of parallel tasks an application
8867	// can perform. If AutoScalingEnabled is set to True, then Kinesis Data Analytics
8868	// can increase the CurrentParallelism value in response to application load.
8869	// The service can increase CurrentParallelism up to the maximum parallelism,
8870	// which is ParalellismPerKPU times the maximum KPUs for the application. The
8871	// maximum KPUs for an application is 32 by default, and can be increased by
8872	// requesting a limit increase. If application load is reduced, the service
8873	// will reduce CurrentParallelism down to the Parallelism setting.
8874	ParallelismUpdate *int64 `min:"1" type:"integer"`
8875}
8876
8877// String returns the string representation
8878func (s ParallelismConfigurationUpdate) String() string {
8879	return awsutil.Prettify(s)
8880}
8881
8882// GoString returns the string representation
8883func (s ParallelismConfigurationUpdate) GoString() string {
8884	return s.String()
8885}
8886
8887// Validate inspects the fields of the type to determine if they are valid.
8888func (s *ParallelismConfigurationUpdate) Validate() error {
8889	invalidParams := request.ErrInvalidParams{Context: "ParallelismConfigurationUpdate"}
8890	if s.ParallelismPerKPUUpdate != nil && *s.ParallelismPerKPUUpdate < 1 {
8891		invalidParams.Add(request.NewErrParamMinValue("ParallelismPerKPUUpdate", 1))
8892	}
8893	if s.ParallelismUpdate != nil && *s.ParallelismUpdate < 1 {
8894		invalidParams.Add(request.NewErrParamMinValue("ParallelismUpdate", 1))
8895	}
8896
8897	if invalidParams.Len() > 0 {
8898		return invalidParams
8899	}
8900	return nil
8901}
8902
8903// SetAutoScalingEnabledUpdate sets the AutoScalingEnabledUpdate field's value.
8904func (s *ParallelismConfigurationUpdate) SetAutoScalingEnabledUpdate(v bool) *ParallelismConfigurationUpdate {
8905	s.AutoScalingEnabledUpdate = &v
8906	return s
8907}
8908
8909// SetConfigurationTypeUpdate sets the ConfigurationTypeUpdate field's value.
8910func (s *ParallelismConfigurationUpdate) SetConfigurationTypeUpdate(v string) *ParallelismConfigurationUpdate {
8911	s.ConfigurationTypeUpdate = &v
8912	return s
8913}
8914
8915// SetParallelismPerKPUUpdate sets the ParallelismPerKPUUpdate field's value.
8916func (s *ParallelismConfigurationUpdate) SetParallelismPerKPUUpdate(v int64) *ParallelismConfigurationUpdate {
8917	s.ParallelismPerKPUUpdate = &v
8918	return s
8919}
8920
8921// SetParallelismUpdate sets the ParallelismUpdate field's value.
8922func (s *ParallelismConfigurationUpdate) SetParallelismUpdate(v int64) *ParallelismConfigurationUpdate {
8923	s.ParallelismUpdate = &v
8924	return s
8925}
8926
8927// Property key-value pairs passed into a Java-based Kinesis Data Analytics
8928// application.
8929type PropertyGroup struct {
8930	_ struct{} `type:"structure"`
8931
8932	// Describes the key of an application execution property key-value pair.
8933	//
8934	// PropertyGroupId is a required field
8935	PropertyGroupId *string `min:"1" type:"string" required:"true"`
8936
8937	// Describes the value of an application execution property key-value pair.
8938	//
8939	// PropertyMap is a required field
8940	PropertyMap map[string]*string `min:"1" type:"map" required:"true"`
8941}
8942
8943// String returns the string representation
8944func (s PropertyGroup) String() string {
8945	return awsutil.Prettify(s)
8946}
8947
8948// GoString returns the string representation
8949func (s PropertyGroup) GoString() string {
8950	return s.String()
8951}
8952
8953// Validate inspects the fields of the type to determine if they are valid.
8954func (s *PropertyGroup) Validate() error {
8955	invalidParams := request.ErrInvalidParams{Context: "PropertyGroup"}
8956	if s.PropertyGroupId == nil {
8957		invalidParams.Add(request.NewErrParamRequired("PropertyGroupId"))
8958	}
8959	if s.PropertyGroupId != nil && len(*s.PropertyGroupId) < 1 {
8960		invalidParams.Add(request.NewErrParamMinLen("PropertyGroupId", 1))
8961	}
8962	if s.PropertyMap == nil {
8963		invalidParams.Add(request.NewErrParamRequired("PropertyMap"))
8964	}
8965	if s.PropertyMap != nil && len(s.PropertyMap) < 1 {
8966		invalidParams.Add(request.NewErrParamMinLen("PropertyMap", 1))
8967	}
8968
8969	if invalidParams.Len() > 0 {
8970		return invalidParams
8971	}
8972	return nil
8973}
8974
8975// SetPropertyGroupId sets the PropertyGroupId field's value.
8976func (s *PropertyGroup) SetPropertyGroupId(v string) *PropertyGroup {
8977	s.PropertyGroupId = &v
8978	return s
8979}
8980
8981// SetPropertyMap sets the PropertyMap field's value.
8982func (s *PropertyGroup) SetPropertyMap(v map[string]*string) *PropertyGroup {
8983	s.PropertyMap = v
8984	return s
8985}
8986
8987// For an SQL-based Amazon Kinesis Data Analytics application, describes the
8988// mapping of each data element in the streaming source to the corresponding
8989// column in the in-application stream.
8990//
8991// Also used to describe the format of the reference data source.
8992type RecordColumn struct {
8993	_ struct{} `type:"structure"`
8994
8995	// A reference to the data element in the streaming input or the reference data
8996	// source.
8997	Mapping *string `type:"string"`
8998
8999	// The name of the column that is created in the in-application input stream
9000	// or reference table.
9001	//
9002	// Name is a required field
9003	Name *string `type:"string" required:"true"`
9004
9005	// The type of column created in the in-application input stream or reference
9006	// table.
9007	//
9008	// SqlType is a required field
9009	SqlType *string `min:"1" type:"string" required:"true"`
9010}
9011
9012// String returns the string representation
9013func (s RecordColumn) String() string {
9014	return awsutil.Prettify(s)
9015}
9016
9017// GoString returns the string representation
9018func (s RecordColumn) GoString() string {
9019	return s.String()
9020}
9021
9022// Validate inspects the fields of the type to determine if they are valid.
9023func (s *RecordColumn) Validate() error {
9024	invalidParams := request.ErrInvalidParams{Context: "RecordColumn"}
9025	if s.Name == nil {
9026		invalidParams.Add(request.NewErrParamRequired("Name"))
9027	}
9028	if s.SqlType == nil {
9029		invalidParams.Add(request.NewErrParamRequired("SqlType"))
9030	}
9031	if s.SqlType != nil && len(*s.SqlType) < 1 {
9032		invalidParams.Add(request.NewErrParamMinLen("SqlType", 1))
9033	}
9034
9035	if invalidParams.Len() > 0 {
9036		return invalidParams
9037	}
9038	return nil
9039}
9040
9041// SetMapping sets the Mapping field's value.
9042func (s *RecordColumn) SetMapping(v string) *RecordColumn {
9043	s.Mapping = &v
9044	return s
9045}
9046
9047// SetName sets the Name field's value.
9048func (s *RecordColumn) SetName(v string) *RecordColumn {
9049	s.Name = &v
9050	return s
9051}
9052
9053// SetSqlType sets the SqlType field's value.
9054func (s *RecordColumn) SetSqlType(v string) *RecordColumn {
9055	s.SqlType = &v
9056	return s
9057}
9058
9059// For an SQL-based Amazon Kinesis Data Analytics application, describes the
9060// record format and relevant mapping information that should be applied to
9061// schematize the records on the stream.
9062type RecordFormat struct {
9063	_ struct{} `type:"structure"`
9064
9065	// When you configure application input at the time of creating or updating
9066	// an application, provides additional mapping information specific to the record
9067	// format (such as JSON, CSV, or record fields delimited by some delimiter)
9068	// on the streaming source.
9069	MappingParameters *MappingParameters `type:"structure"`
9070
9071	// The type of record format.
9072	//
9073	// RecordFormatType is a required field
9074	RecordFormatType *string `type:"string" required:"true" enum:"RecordFormatType"`
9075}
9076
9077// String returns the string representation
9078func (s RecordFormat) String() string {
9079	return awsutil.Prettify(s)
9080}
9081
9082// GoString returns the string representation
9083func (s RecordFormat) GoString() string {
9084	return s.String()
9085}
9086
9087// Validate inspects the fields of the type to determine if they are valid.
9088func (s *RecordFormat) Validate() error {
9089	invalidParams := request.ErrInvalidParams{Context: "RecordFormat"}
9090	if s.RecordFormatType == nil {
9091		invalidParams.Add(request.NewErrParamRequired("RecordFormatType"))
9092	}
9093	if s.MappingParameters != nil {
9094		if err := s.MappingParameters.Validate(); err != nil {
9095			invalidParams.AddNested("MappingParameters", err.(request.ErrInvalidParams))
9096		}
9097	}
9098
9099	if invalidParams.Len() > 0 {
9100		return invalidParams
9101	}
9102	return nil
9103}
9104
9105// SetMappingParameters sets the MappingParameters field's value.
9106func (s *RecordFormat) SetMappingParameters(v *MappingParameters) *RecordFormat {
9107	s.MappingParameters = v
9108	return s
9109}
9110
9111// SetRecordFormatType sets the RecordFormatType field's value.
9112func (s *RecordFormat) SetRecordFormatType(v string) *RecordFormat {
9113	s.RecordFormatType = &v
9114	return s
9115}
9116
9117// For an SQL-based Amazon Kinesis Data Analytics application, describes the
9118// reference data source by providing the source information (Amazon S3 bucket
9119// name and object key name), the resulting in-application table name that is
9120// created, and the necessary schema to map the data elements in the Amazon
9121// S3 object to the in-application table.
9122type ReferenceDataSource struct {
9123	_ struct{} `type:"structure"`
9124
9125	// Describes the format of the data in the streaming source, and how each data
9126	// element maps to corresponding columns created in the in-application stream.
9127	//
9128	// ReferenceSchema is a required field
9129	ReferenceSchema *SourceSchema `type:"structure" required:"true"`
9130
9131	// Identifies the S3 bucket and object that contains the reference data. A Kinesis
9132	// Data Analytics application loads reference data only once. If the data changes,
9133	// you call the UpdateApplication operation to trigger reloading of data into
9134	// your application.
9135	S3ReferenceDataSource *S3ReferenceDataSource `type:"structure"`
9136
9137	// The name of the in-application table to create.
9138	//
9139	// TableName is a required field
9140	TableName *string `min:"1" type:"string" required:"true"`
9141}
9142
9143// String returns the string representation
9144func (s ReferenceDataSource) String() string {
9145	return awsutil.Prettify(s)
9146}
9147
9148// GoString returns the string representation
9149func (s ReferenceDataSource) GoString() string {
9150	return s.String()
9151}
9152
9153// Validate inspects the fields of the type to determine if they are valid.
9154func (s *ReferenceDataSource) Validate() error {
9155	invalidParams := request.ErrInvalidParams{Context: "ReferenceDataSource"}
9156	if s.ReferenceSchema == nil {
9157		invalidParams.Add(request.NewErrParamRequired("ReferenceSchema"))
9158	}
9159	if s.TableName == nil {
9160		invalidParams.Add(request.NewErrParamRequired("TableName"))
9161	}
9162	if s.TableName != nil && len(*s.TableName) < 1 {
9163		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
9164	}
9165	if s.ReferenceSchema != nil {
9166		if err := s.ReferenceSchema.Validate(); err != nil {
9167			invalidParams.AddNested("ReferenceSchema", err.(request.ErrInvalidParams))
9168		}
9169	}
9170	if s.S3ReferenceDataSource != nil {
9171		if err := s.S3ReferenceDataSource.Validate(); err != nil {
9172			invalidParams.AddNested("S3ReferenceDataSource", err.(request.ErrInvalidParams))
9173		}
9174	}
9175
9176	if invalidParams.Len() > 0 {
9177		return invalidParams
9178	}
9179	return nil
9180}
9181
9182// SetReferenceSchema sets the ReferenceSchema field's value.
9183func (s *ReferenceDataSource) SetReferenceSchema(v *SourceSchema) *ReferenceDataSource {
9184	s.ReferenceSchema = v
9185	return s
9186}
9187
9188// SetS3ReferenceDataSource sets the S3ReferenceDataSource field's value.
9189func (s *ReferenceDataSource) SetS3ReferenceDataSource(v *S3ReferenceDataSource) *ReferenceDataSource {
9190	s.S3ReferenceDataSource = v
9191	return s
9192}
9193
9194// SetTableName sets the TableName field's value.
9195func (s *ReferenceDataSource) SetTableName(v string) *ReferenceDataSource {
9196	s.TableName = &v
9197	return s
9198}
9199
9200// For an SQL-based Amazon Kinesis Data Analytics application, describes the
9201// reference data source configured for an application.
9202type ReferenceDataSourceDescription struct {
9203	_ struct{} `type:"structure"`
9204
9205	// The ID of the reference data source. This is the ID that Kinesis Data Analytics
9206	// assigns when you add the reference data source to your application using
9207	// the CreateApplication or UpdateApplication operation.
9208	//
9209	// ReferenceId is a required field
9210	ReferenceId *string `min:"1" type:"string" required:"true"`
9211
9212	// Describes the format of the data in the streaming source, and how each data
9213	// element maps to corresponding columns created in the in-application stream.
9214	ReferenceSchema *SourceSchema `type:"structure"`
9215
9216	// Provides the Amazon S3 bucket name, the object key name that contains the
9217	// reference data.
9218	//
9219	// S3ReferenceDataSourceDescription is a required field
9220	S3ReferenceDataSourceDescription *S3ReferenceDataSourceDescription `type:"structure" required:"true"`
9221
9222	// The in-application table name created by the specific reference data source
9223	// configuration.
9224	//
9225	// TableName is a required field
9226	TableName *string `min:"1" type:"string" required:"true"`
9227}
9228
9229// String returns the string representation
9230func (s ReferenceDataSourceDescription) String() string {
9231	return awsutil.Prettify(s)
9232}
9233
9234// GoString returns the string representation
9235func (s ReferenceDataSourceDescription) GoString() string {
9236	return s.String()
9237}
9238
9239// SetReferenceId sets the ReferenceId field's value.
9240func (s *ReferenceDataSourceDescription) SetReferenceId(v string) *ReferenceDataSourceDescription {
9241	s.ReferenceId = &v
9242	return s
9243}
9244
9245// SetReferenceSchema sets the ReferenceSchema field's value.
9246func (s *ReferenceDataSourceDescription) SetReferenceSchema(v *SourceSchema) *ReferenceDataSourceDescription {
9247	s.ReferenceSchema = v
9248	return s
9249}
9250
9251// SetS3ReferenceDataSourceDescription sets the S3ReferenceDataSourceDescription field's value.
9252func (s *ReferenceDataSourceDescription) SetS3ReferenceDataSourceDescription(v *S3ReferenceDataSourceDescription) *ReferenceDataSourceDescription {
9253	s.S3ReferenceDataSourceDescription = v
9254	return s
9255}
9256
9257// SetTableName sets the TableName field's value.
9258func (s *ReferenceDataSourceDescription) SetTableName(v string) *ReferenceDataSourceDescription {
9259	s.TableName = &v
9260	return s
9261}
9262
9263// When you update a reference data source configuration for a SQL-based Amazon
9264// Kinesis Data Analytics application, this object provides all the updated
9265// values (such as the source bucket name and object key name), the in-application
9266// table name that is created, and updated mapping information that maps the
9267// data in the Amazon S3 object to the in-application reference table that is
9268// created.
9269type ReferenceDataSourceUpdate struct {
9270	_ struct{} `type:"structure"`
9271
9272	// The ID of the reference data source that is being updated. You can use the
9273	// DescribeApplication operation to get this value.
9274	//
9275	// ReferenceId is a required field
9276	ReferenceId *string `min:"1" type:"string" required:"true"`
9277
9278	// Describes the format of the data in the streaming source, and how each data
9279	// element maps to corresponding columns created in the in-application stream.
9280	ReferenceSchemaUpdate *SourceSchema `type:"structure"`
9281
9282	// Describes the S3 bucket name, object key name, and IAM role that Kinesis
9283	// Data Analytics can assume to read the Amazon S3 object on your behalf and
9284	// populate the in-application reference table.
9285	S3ReferenceDataSourceUpdate *S3ReferenceDataSourceUpdate `type:"structure"`
9286
9287	// The in-application table name that is created by this update.
9288	TableNameUpdate *string `min:"1" type:"string"`
9289}
9290
9291// String returns the string representation
9292func (s ReferenceDataSourceUpdate) String() string {
9293	return awsutil.Prettify(s)
9294}
9295
9296// GoString returns the string representation
9297func (s ReferenceDataSourceUpdate) GoString() string {
9298	return s.String()
9299}
9300
9301// Validate inspects the fields of the type to determine if they are valid.
9302func (s *ReferenceDataSourceUpdate) Validate() error {
9303	invalidParams := request.ErrInvalidParams{Context: "ReferenceDataSourceUpdate"}
9304	if s.ReferenceId == nil {
9305		invalidParams.Add(request.NewErrParamRequired("ReferenceId"))
9306	}
9307	if s.ReferenceId != nil && len(*s.ReferenceId) < 1 {
9308		invalidParams.Add(request.NewErrParamMinLen("ReferenceId", 1))
9309	}
9310	if s.TableNameUpdate != nil && len(*s.TableNameUpdate) < 1 {
9311		invalidParams.Add(request.NewErrParamMinLen("TableNameUpdate", 1))
9312	}
9313	if s.ReferenceSchemaUpdate != nil {
9314		if err := s.ReferenceSchemaUpdate.Validate(); err != nil {
9315			invalidParams.AddNested("ReferenceSchemaUpdate", err.(request.ErrInvalidParams))
9316		}
9317	}
9318	if s.S3ReferenceDataSourceUpdate != nil {
9319		if err := s.S3ReferenceDataSourceUpdate.Validate(); err != nil {
9320			invalidParams.AddNested("S3ReferenceDataSourceUpdate", err.(request.ErrInvalidParams))
9321		}
9322	}
9323
9324	if invalidParams.Len() > 0 {
9325		return invalidParams
9326	}
9327	return nil
9328}
9329
9330// SetReferenceId sets the ReferenceId field's value.
9331func (s *ReferenceDataSourceUpdate) SetReferenceId(v string) *ReferenceDataSourceUpdate {
9332	s.ReferenceId = &v
9333	return s
9334}
9335
9336// SetReferenceSchemaUpdate sets the ReferenceSchemaUpdate field's value.
9337func (s *ReferenceDataSourceUpdate) SetReferenceSchemaUpdate(v *SourceSchema) *ReferenceDataSourceUpdate {
9338	s.ReferenceSchemaUpdate = v
9339	return s
9340}
9341
9342// SetS3ReferenceDataSourceUpdate sets the S3ReferenceDataSourceUpdate field's value.
9343func (s *ReferenceDataSourceUpdate) SetS3ReferenceDataSourceUpdate(v *S3ReferenceDataSourceUpdate) *ReferenceDataSourceUpdate {
9344	s.S3ReferenceDataSourceUpdate = v
9345	return s
9346}
9347
9348// SetTableNameUpdate sets the TableNameUpdate field's value.
9349func (s *ReferenceDataSourceUpdate) SetTableNameUpdate(v string) *ReferenceDataSourceUpdate {
9350	s.TableNameUpdate = &v
9351	return s
9352}
9353
9354// Describes the starting parameters for an Amazon Kinesis Data Analytics application.
9355type RunConfiguration struct {
9356	_ struct{} `type:"structure"`
9357
9358	// Describes the restore behavior of a restarting application.
9359	ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"`
9360
9361	// Describes the starting parameters for an Apache Flink-based Kinesis Data
9362	// Analytics application.
9363	FlinkRunConfiguration *FlinkRunConfiguration `type:"structure"`
9364
9365	// Describes the starting parameters for an SQL-based Kinesis Data Analytics
9366	// application.
9367	SqlRunConfigurations []*SqlRunConfiguration `type:"list"`
9368}
9369
9370// String returns the string representation
9371func (s RunConfiguration) String() string {
9372	return awsutil.Prettify(s)
9373}
9374
9375// GoString returns the string representation
9376func (s RunConfiguration) GoString() string {
9377	return s.String()
9378}
9379
9380// Validate inspects the fields of the type to determine if they are valid.
9381func (s *RunConfiguration) Validate() error {
9382	invalidParams := request.ErrInvalidParams{Context: "RunConfiguration"}
9383	if s.ApplicationRestoreConfiguration != nil {
9384		if err := s.ApplicationRestoreConfiguration.Validate(); err != nil {
9385			invalidParams.AddNested("ApplicationRestoreConfiguration", err.(request.ErrInvalidParams))
9386		}
9387	}
9388	if s.SqlRunConfigurations != nil {
9389		for i, v := range s.SqlRunConfigurations {
9390			if v == nil {
9391				continue
9392			}
9393			if err := v.Validate(); err != nil {
9394				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SqlRunConfigurations", i), err.(request.ErrInvalidParams))
9395			}
9396		}
9397	}
9398
9399	if invalidParams.Len() > 0 {
9400		return invalidParams
9401	}
9402	return nil
9403}
9404
9405// SetApplicationRestoreConfiguration sets the ApplicationRestoreConfiguration field's value.
9406func (s *RunConfiguration) SetApplicationRestoreConfiguration(v *ApplicationRestoreConfiguration) *RunConfiguration {
9407	s.ApplicationRestoreConfiguration = v
9408	return s
9409}
9410
9411// SetFlinkRunConfiguration sets the FlinkRunConfiguration field's value.
9412func (s *RunConfiguration) SetFlinkRunConfiguration(v *FlinkRunConfiguration) *RunConfiguration {
9413	s.FlinkRunConfiguration = v
9414	return s
9415}
9416
9417// SetSqlRunConfigurations sets the SqlRunConfigurations field's value.
9418func (s *RunConfiguration) SetSqlRunConfigurations(v []*SqlRunConfiguration) *RunConfiguration {
9419	s.SqlRunConfigurations = v
9420	return s
9421}
9422
9423// Describes the starting properties for a Kinesis Data Analytics application.
9424type RunConfigurationDescription struct {
9425	_ struct{} `type:"structure"`
9426
9427	// Describes the restore behavior of a restarting application.
9428	ApplicationRestoreConfigurationDescription *ApplicationRestoreConfiguration `type:"structure"`
9429}
9430
9431// String returns the string representation
9432func (s RunConfigurationDescription) String() string {
9433	return awsutil.Prettify(s)
9434}
9435
9436// GoString returns the string representation
9437func (s RunConfigurationDescription) GoString() string {
9438	return s.String()
9439}
9440
9441// SetApplicationRestoreConfigurationDescription sets the ApplicationRestoreConfigurationDescription field's value.
9442func (s *RunConfigurationDescription) SetApplicationRestoreConfigurationDescription(v *ApplicationRestoreConfiguration) *RunConfigurationDescription {
9443	s.ApplicationRestoreConfigurationDescription = v
9444	return s
9445}
9446
9447// Describes the updates to the starting parameters for a Kinesis Data Analytics
9448// application.
9449type RunConfigurationUpdate struct {
9450	_ struct{} `type:"structure"`
9451
9452	// Describes updates to the restore behavior of a restarting application.
9453	ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"`
9454
9455	// Describes the starting parameters for an Apache Flink-based Kinesis Data
9456	// Analytics application.
9457	FlinkRunConfiguration *FlinkRunConfiguration `type:"structure"`
9458}
9459
9460// String returns the string representation
9461func (s RunConfigurationUpdate) String() string {
9462	return awsutil.Prettify(s)
9463}
9464
9465// GoString returns the string representation
9466func (s RunConfigurationUpdate) GoString() string {
9467	return s.String()
9468}
9469
9470// Validate inspects the fields of the type to determine if they are valid.
9471func (s *RunConfigurationUpdate) Validate() error {
9472	invalidParams := request.ErrInvalidParams{Context: "RunConfigurationUpdate"}
9473	if s.ApplicationRestoreConfiguration != nil {
9474		if err := s.ApplicationRestoreConfiguration.Validate(); err != nil {
9475			invalidParams.AddNested("ApplicationRestoreConfiguration", err.(request.ErrInvalidParams))
9476		}
9477	}
9478
9479	if invalidParams.Len() > 0 {
9480		return invalidParams
9481	}
9482	return nil
9483}
9484
9485// SetApplicationRestoreConfiguration sets the ApplicationRestoreConfiguration field's value.
9486func (s *RunConfigurationUpdate) SetApplicationRestoreConfiguration(v *ApplicationRestoreConfiguration) *RunConfigurationUpdate {
9487	s.ApplicationRestoreConfiguration = v
9488	return s
9489}
9490
9491// SetFlinkRunConfiguration sets the FlinkRunConfiguration field's value.
9492func (s *RunConfigurationUpdate) SetFlinkRunConfiguration(v *FlinkRunConfiguration) *RunConfigurationUpdate {
9493	s.FlinkRunConfiguration = v
9494	return s
9495}
9496
9497// Describes the location of a Java-based Amazon Kinesis Data Analytics application's
9498// code stored in an S3 bucket.
9499type S3ApplicationCodeLocationDescription struct {
9500	_ struct{} `type:"structure"`
9501
9502	// The Amazon Resource Name (ARN) for the S3 bucket containing the application
9503	// code.
9504	//
9505	// BucketARN is a required field
9506	BucketARN *string `min:"1" type:"string" required:"true"`
9507
9508	// The file key for the object containing the application code.
9509	//
9510	// FileKey is a required field
9511	FileKey *string `min:"1" type:"string" required:"true"`
9512
9513	// The version of the object containing the application code.
9514	ObjectVersion *string `type:"string"`
9515}
9516
9517// String returns the string representation
9518func (s S3ApplicationCodeLocationDescription) String() string {
9519	return awsutil.Prettify(s)
9520}
9521
9522// GoString returns the string representation
9523func (s S3ApplicationCodeLocationDescription) GoString() string {
9524	return s.String()
9525}
9526
9527// SetBucketARN sets the BucketARN field's value.
9528func (s *S3ApplicationCodeLocationDescription) SetBucketARN(v string) *S3ApplicationCodeLocationDescription {
9529	s.BucketARN = &v
9530	return s
9531}
9532
9533// SetFileKey sets the FileKey field's value.
9534func (s *S3ApplicationCodeLocationDescription) SetFileKey(v string) *S3ApplicationCodeLocationDescription {
9535	s.FileKey = &v
9536	return s
9537}
9538
9539// SetObjectVersion sets the ObjectVersion field's value.
9540func (s *S3ApplicationCodeLocationDescription) SetObjectVersion(v string) *S3ApplicationCodeLocationDescription {
9541	s.ObjectVersion = &v
9542	return s
9543}
9544
9545// For an SQL-based Amazon Kinesis Data Analytics application, provides a description
9546// of an Amazon S3 data source, including the Amazon Resource Name (ARN) of
9547// the S3 bucket and the name of the Amazon S3 object that contains the data.
9548type S3Configuration struct {
9549	_ struct{} `type:"structure"`
9550
9551	// The ARN of the S3 bucket that contains the data.
9552	//
9553	// BucketARN is a required field
9554	BucketARN *string `min:"1" type:"string" required:"true"`
9555
9556	// The name of the object that contains the data.
9557	//
9558	// FileKey is a required field
9559	FileKey *string `min:"1" type:"string" required:"true"`
9560}
9561
9562// String returns the string representation
9563func (s S3Configuration) String() string {
9564	return awsutil.Prettify(s)
9565}
9566
9567// GoString returns the string representation
9568func (s S3Configuration) GoString() string {
9569	return s.String()
9570}
9571
9572// Validate inspects the fields of the type to determine if they are valid.
9573func (s *S3Configuration) Validate() error {
9574	invalidParams := request.ErrInvalidParams{Context: "S3Configuration"}
9575	if s.BucketARN == nil {
9576		invalidParams.Add(request.NewErrParamRequired("BucketARN"))
9577	}
9578	if s.BucketARN != nil && len(*s.BucketARN) < 1 {
9579		invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1))
9580	}
9581	if s.FileKey == nil {
9582		invalidParams.Add(request.NewErrParamRequired("FileKey"))
9583	}
9584	if s.FileKey != nil && len(*s.FileKey) < 1 {
9585		invalidParams.Add(request.NewErrParamMinLen("FileKey", 1))
9586	}
9587
9588	if invalidParams.Len() > 0 {
9589		return invalidParams
9590	}
9591	return nil
9592}
9593
9594// SetBucketARN sets the BucketARN field's value.
9595func (s *S3Configuration) SetBucketARN(v string) *S3Configuration {
9596	s.BucketARN = &v
9597	return s
9598}
9599
9600// SetFileKey sets the FileKey field's value.
9601func (s *S3Configuration) SetFileKey(v string) *S3Configuration {
9602	s.FileKey = &v
9603	return s
9604}
9605
9606// For a Java-based Amazon Kinesis Data Analytics application, provides a description
9607// of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3
9608// bucket, the name of the Amazon S3 object that contains the data, and the
9609// version number of the Amazon S3 object that contains the data.
9610type S3ContentLocation struct {
9611	_ struct{} `type:"structure"`
9612
9613	// The Amazon Resource Name (ARN) for the S3 bucket containing the application
9614	// code.
9615	//
9616	// BucketARN is a required field
9617	BucketARN *string `min:"1" type:"string" required:"true"`
9618
9619	// The file key for the object containing the application code.
9620	//
9621	// FileKey is a required field
9622	FileKey *string `min:"1" type:"string" required:"true"`
9623
9624	// The version of the object containing the application code.
9625	ObjectVersion *string `type:"string"`
9626}
9627
9628// String returns the string representation
9629func (s S3ContentLocation) String() string {
9630	return awsutil.Prettify(s)
9631}
9632
9633// GoString returns the string representation
9634func (s S3ContentLocation) GoString() string {
9635	return s.String()
9636}
9637
9638// Validate inspects the fields of the type to determine if they are valid.
9639func (s *S3ContentLocation) Validate() error {
9640	invalidParams := request.ErrInvalidParams{Context: "S3ContentLocation"}
9641	if s.BucketARN == nil {
9642		invalidParams.Add(request.NewErrParamRequired("BucketARN"))
9643	}
9644	if s.BucketARN != nil && len(*s.BucketARN) < 1 {
9645		invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1))
9646	}
9647	if s.FileKey == nil {
9648		invalidParams.Add(request.NewErrParamRequired("FileKey"))
9649	}
9650	if s.FileKey != nil && len(*s.FileKey) < 1 {
9651		invalidParams.Add(request.NewErrParamMinLen("FileKey", 1))
9652	}
9653
9654	if invalidParams.Len() > 0 {
9655		return invalidParams
9656	}
9657	return nil
9658}
9659
9660// SetBucketARN sets the BucketARN field's value.
9661func (s *S3ContentLocation) SetBucketARN(v string) *S3ContentLocation {
9662	s.BucketARN = &v
9663	return s
9664}
9665
9666// SetFileKey sets the FileKey field's value.
9667func (s *S3ContentLocation) SetFileKey(v string) *S3ContentLocation {
9668	s.FileKey = &v
9669	return s
9670}
9671
9672// SetObjectVersion sets the ObjectVersion field's value.
9673func (s *S3ContentLocation) SetObjectVersion(v string) *S3ContentLocation {
9674	s.ObjectVersion = &v
9675	return s
9676}
9677
9678// Describes an update for the Amazon S3 code content location for a Java-based
9679// Amazon Kinesis Data Analytics application.
9680type S3ContentLocationUpdate struct {
9681	_ struct{} `type:"structure"`
9682
9683	// The new Amazon Resource Name (ARN) for the S3 bucket containing the application
9684	// code.
9685	BucketARNUpdate *string `min:"1" type:"string"`
9686
9687	// The new file key for the object containing the application code.
9688	FileKeyUpdate *string `min:"1" type:"string"`
9689
9690	// The new version of the object containing the application code.
9691	ObjectVersionUpdate *string `type:"string"`
9692}
9693
9694// String returns the string representation
9695func (s S3ContentLocationUpdate) String() string {
9696	return awsutil.Prettify(s)
9697}
9698
9699// GoString returns the string representation
9700func (s S3ContentLocationUpdate) GoString() string {
9701	return s.String()
9702}
9703
9704// Validate inspects the fields of the type to determine if they are valid.
9705func (s *S3ContentLocationUpdate) Validate() error {
9706	invalidParams := request.ErrInvalidParams{Context: "S3ContentLocationUpdate"}
9707	if s.BucketARNUpdate != nil && len(*s.BucketARNUpdate) < 1 {
9708		invalidParams.Add(request.NewErrParamMinLen("BucketARNUpdate", 1))
9709	}
9710	if s.FileKeyUpdate != nil && len(*s.FileKeyUpdate) < 1 {
9711		invalidParams.Add(request.NewErrParamMinLen("FileKeyUpdate", 1))
9712	}
9713
9714	if invalidParams.Len() > 0 {
9715		return invalidParams
9716	}
9717	return nil
9718}
9719
9720// SetBucketARNUpdate sets the BucketARNUpdate field's value.
9721func (s *S3ContentLocationUpdate) SetBucketARNUpdate(v string) *S3ContentLocationUpdate {
9722	s.BucketARNUpdate = &v
9723	return s
9724}
9725
9726// SetFileKeyUpdate sets the FileKeyUpdate field's value.
9727func (s *S3ContentLocationUpdate) SetFileKeyUpdate(v string) *S3ContentLocationUpdate {
9728	s.FileKeyUpdate = &v
9729	return s
9730}
9731
9732// SetObjectVersionUpdate sets the ObjectVersionUpdate field's value.
9733func (s *S3ContentLocationUpdate) SetObjectVersionUpdate(v string) *S3ContentLocationUpdate {
9734	s.ObjectVersionUpdate = &v
9735	return s
9736}
9737
9738// For an SQL-based Amazon Kinesis Data Analytics application, identifies the
9739// Amazon S3 bucket and object that contains the reference data.
9740//
9741// A Kinesis Data Analytics application loads reference data only once. If the
9742// data changes, you call the UpdateApplication operation to trigger reloading
9743// of data into your application.
9744type S3ReferenceDataSource struct {
9745	_ struct{} `type:"structure"`
9746
9747	// The Amazon Resource Name (ARN) of the S3 bucket.
9748	BucketARN *string `min:"1" type:"string"`
9749
9750	// The object key name containing the reference data.
9751	FileKey *string `min:"1" type:"string"`
9752}
9753
9754// String returns the string representation
9755func (s S3ReferenceDataSource) String() string {
9756	return awsutil.Prettify(s)
9757}
9758
9759// GoString returns the string representation
9760func (s S3ReferenceDataSource) GoString() string {
9761	return s.String()
9762}
9763
9764// Validate inspects the fields of the type to determine if they are valid.
9765func (s *S3ReferenceDataSource) Validate() error {
9766	invalidParams := request.ErrInvalidParams{Context: "S3ReferenceDataSource"}
9767	if s.BucketARN != nil && len(*s.BucketARN) < 1 {
9768		invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1))
9769	}
9770	if s.FileKey != nil && len(*s.FileKey) < 1 {
9771		invalidParams.Add(request.NewErrParamMinLen("FileKey", 1))
9772	}
9773
9774	if invalidParams.Len() > 0 {
9775		return invalidParams
9776	}
9777	return nil
9778}
9779
9780// SetBucketARN sets the BucketARN field's value.
9781func (s *S3ReferenceDataSource) SetBucketARN(v string) *S3ReferenceDataSource {
9782	s.BucketARN = &v
9783	return s
9784}
9785
9786// SetFileKey sets the FileKey field's value.
9787func (s *S3ReferenceDataSource) SetFileKey(v string) *S3ReferenceDataSource {
9788	s.FileKey = &v
9789	return s
9790}
9791
9792// For an SQL-based Amazon Kinesis Data Analytics application, provides the
9793// bucket name and object key name that stores the reference data.
9794type S3ReferenceDataSourceDescription struct {
9795	_ struct{} `type:"structure"`
9796
9797	// The Amazon Resource Name (ARN) of the S3 bucket.
9798	//
9799	// BucketARN is a required field
9800	BucketARN *string `min:"1" type:"string" required:"true"`
9801
9802	// Amazon S3 object key name.
9803	//
9804	// FileKey is a required field
9805	FileKey *string `min:"1" type:"string" required:"true"`
9806
9807	// The ARN of the IAM role that Kinesis Data Analytics can assume to read the
9808	// Amazon S3 object on your behalf to populate the in-application reference
9809	// table.
9810	//
9811	// Provided for backward compatibility. Applications that are created with the
9812	// current API version have an application-level service execution role rather
9813	// than a resource-level role.
9814	ReferenceRoleARN *string `min:"1" type:"string"`
9815}
9816
9817// String returns the string representation
9818func (s S3ReferenceDataSourceDescription) String() string {
9819	return awsutil.Prettify(s)
9820}
9821
9822// GoString returns the string representation
9823func (s S3ReferenceDataSourceDescription) GoString() string {
9824	return s.String()
9825}
9826
9827// SetBucketARN sets the BucketARN field's value.
9828func (s *S3ReferenceDataSourceDescription) SetBucketARN(v string) *S3ReferenceDataSourceDescription {
9829	s.BucketARN = &v
9830	return s
9831}
9832
9833// SetFileKey sets the FileKey field's value.
9834func (s *S3ReferenceDataSourceDescription) SetFileKey(v string) *S3ReferenceDataSourceDescription {
9835	s.FileKey = &v
9836	return s
9837}
9838
9839// SetReferenceRoleARN sets the ReferenceRoleARN field's value.
9840func (s *S3ReferenceDataSourceDescription) SetReferenceRoleARN(v string) *S3ReferenceDataSourceDescription {
9841	s.ReferenceRoleARN = &v
9842	return s
9843}
9844
9845// For an SQL-based Amazon Kinesis Data Analytics application, describes the
9846// Amazon S3 bucket name and object key name for an in-application reference
9847// table.
9848type S3ReferenceDataSourceUpdate struct {
9849	_ struct{} `type:"structure"`
9850
9851	// The Amazon Resource Name (ARN) of the S3 bucket.
9852	BucketARNUpdate *string `min:"1" type:"string"`
9853
9854	// The object key name.
9855	FileKeyUpdate *string `min:"1" type:"string"`
9856}
9857
9858// String returns the string representation
9859func (s S3ReferenceDataSourceUpdate) String() string {
9860	return awsutil.Prettify(s)
9861}
9862
9863// GoString returns the string representation
9864func (s S3ReferenceDataSourceUpdate) GoString() string {
9865	return s.String()
9866}
9867
9868// Validate inspects the fields of the type to determine if they are valid.
9869func (s *S3ReferenceDataSourceUpdate) Validate() error {
9870	invalidParams := request.ErrInvalidParams{Context: "S3ReferenceDataSourceUpdate"}
9871	if s.BucketARNUpdate != nil && len(*s.BucketARNUpdate) < 1 {
9872		invalidParams.Add(request.NewErrParamMinLen("BucketARNUpdate", 1))
9873	}
9874	if s.FileKeyUpdate != nil && len(*s.FileKeyUpdate) < 1 {
9875		invalidParams.Add(request.NewErrParamMinLen("FileKeyUpdate", 1))
9876	}
9877
9878	if invalidParams.Len() > 0 {
9879		return invalidParams
9880	}
9881	return nil
9882}
9883
9884// SetBucketARNUpdate sets the BucketARNUpdate field's value.
9885func (s *S3ReferenceDataSourceUpdate) SetBucketARNUpdate(v string) *S3ReferenceDataSourceUpdate {
9886	s.BucketARNUpdate = &v
9887	return s
9888}
9889
9890// SetFileKeyUpdate sets the FileKeyUpdate field's value.
9891func (s *S3ReferenceDataSourceUpdate) SetFileKeyUpdate(v string) *S3ReferenceDataSourceUpdate {
9892	s.FileKeyUpdate = &v
9893	return s
9894}
9895
9896// Provides details about a snapshot of application state.
9897type SnapshotDetails struct {
9898	_ struct{} `type:"structure"`
9899
9900	// The current application version ID when the snapshot was created.
9901	//
9902	// ApplicationVersionId is a required field
9903	ApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
9904
9905	// The timestamp of the application snapshot.
9906	SnapshotCreationTimestamp *time.Time `type:"timestamp"`
9907
9908	// The identifier for the application snapshot.
9909	//
9910	// SnapshotName is a required field
9911	SnapshotName *string `min:"1" type:"string" required:"true"`
9912
9913	// The status of the application snapshot.
9914	//
9915	// SnapshotStatus is a required field
9916	SnapshotStatus *string `type:"string" required:"true" enum:"SnapshotStatus"`
9917}
9918
9919// String returns the string representation
9920func (s SnapshotDetails) String() string {
9921	return awsutil.Prettify(s)
9922}
9923
9924// GoString returns the string representation
9925func (s SnapshotDetails) GoString() string {
9926	return s.String()
9927}
9928
9929// SetApplicationVersionId sets the ApplicationVersionId field's value.
9930func (s *SnapshotDetails) SetApplicationVersionId(v int64) *SnapshotDetails {
9931	s.ApplicationVersionId = &v
9932	return s
9933}
9934
9935// SetSnapshotCreationTimestamp sets the SnapshotCreationTimestamp field's value.
9936func (s *SnapshotDetails) SetSnapshotCreationTimestamp(v time.Time) *SnapshotDetails {
9937	s.SnapshotCreationTimestamp = &v
9938	return s
9939}
9940
9941// SetSnapshotName sets the SnapshotName field's value.
9942func (s *SnapshotDetails) SetSnapshotName(v string) *SnapshotDetails {
9943	s.SnapshotName = &v
9944	return s
9945}
9946
9947// SetSnapshotStatus sets the SnapshotStatus field's value.
9948func (s *SnapshotDetails) SetSnapshotStatus(v string) *SnapshotDetails {
9949	s.SnapshotStatus = &v
9950	return s
9951}
9952
9953// For an SQL-based Amazon Kinesis Data Analytics application, describes the
9954// format of the data in the streaming source, and how each data element maps
9955// to corresponding columns created in the in-application stream.
9956type SourceSchema struct {
9957	_ struct{} `type:"structure"`
9958
9959	// A list of RecordColumn objects.
9960	//
9961	// RecordColumns is a required field
9962	RecordColumns []*RecordColumn `min:"1" type:"list" required:"true"`
9963
9964	// Specifies the encoding of the records in the streaming source. For example,
9965	// UTF-8.
9966	RecordEncoding *string `type:"string"`
9967
9968	// Specifies the format of the records on the streaming source.
9969	//
9970	// RecordFormat is a required field
9971	RecordFormat *RecordFormat `type:"structure" required:"true"`
9972}
9973
9974// String returns the string representation
9975func (s SourceSchema) String() string {
9976	return awsutil.Prettify(s)
9977}
9978
9979// GoString returns the string representation
9980func (s SourceSchema) GoString() string {
9981	return s.String()
9982}
9983
9984// Validate inspects the fields of the type to determine if they are valid.
9985func (s *SourceSchema) Validate() error {
9986	invalidParams := request.ErrInvalidParams{Context: "SourceSchema"}
9987	if s.RecordColumns == nil {
9988		invalidParams.Add(request.NewErrParamRequired("RecordColumns"))
9989	}
9990	if s.RecordColumns != nil && len(s.RecordColumns) < 1 {
9991		invalidParams.Add(request.NewErrParamMinLen("RecordColumns", 1))
9992	}
9993	if s.RecordFormat == nil {
9994		invalidParams.Add(request.NewErrParamRequired("RecordFormat"))
9995	}
9996	if s.RecordColumns != nil {
9997		for i, v := range s.RecordColumns {
9998			if v == nil {
9999				continue
10000			}
10001			if err := v.Validate(); err != nil {
10002				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecordColumns", i), err.(request.ErrInvalidParams))
10003			}
10004		}
10005	}
10006	if s.RecordFormat != nil {
10007		if err := s.RecordFormat.Validate(); err != nil {
10008			invalidParams.AddNested("RecordFormat", err.(request.ErrInvalidParams))
10009		}
10010	}
10011
10012	if invalidParams.Len() > 0 {
10013		return invalidParams
10014	}
10015	return nil
10016}
10017
10018// SetRecordColumns sets the RecordColumns field's value.
10019func (s *SourceSchema) SetRecordColumns(v []*RecordColumn) *SourceSchema {
10020	s.RecordColumns = v
10021	return s
10022}
10023
10024// SetRecordEncoding sets the RecordEncoding field's value.
10025func (s *SourceSchema) SetRecordEncoding(v string) *SourceSchema {
10026	s.RecordEncoding = &v
10027	return s
10028}
10029
10030// SetRecordFormat sets the RecordFormat field's value.
10031func (s *SourceSchema) SetRecordFormat(v *RecordFormat) *SourceSchema {
10032	s.RecordFormat = v
10033	return s
10034}
10035
10036// Describes the inputs, outputs, and reference data sources for an SQL-based
10037// Kinesis Data Analytics application.
10038type SqlApplicationConfiguration struct {
10039	_ struct{} `type:"structure"`
10040
10041	// The array of Input objects describing the input streams used by the application.
10042	Inputs []*Input `type:"list"`
10043
10044	// The array of Output objects describing the destination streams used by the
10045	// application.
10046	Outputs []*Output `type:"list"`
10047
10048	// The array of ReferenceDataSource objects describing the reference data sources
10049	// used by the application.
10050	ReferenceDataSources []*ReferenceDataSource `type:"list"`
10051}
10052
10053// String returns the string representation
10054func (s SqlApplicationConfiguration) String() string {
10055	return awsutil.Prettify(s)
10056}
10057
10058// GoString returns the string representation
10059func (s SqlApplicationConfiguration) GoString() string {
10060	return s.String()
10061}
10062
10063// Validate inspects the fields of the type to determine if they are valid.
10064func (s *SqlApplicationConfiguration) Validate() error {
10065	invalidParams := request.ErrInvalidParams{Context: "SqlApplicationConfiguration"}
10066	if s.Inputs != nil {
10067		for i, v := range s.Inputs {
10068			if v == nil {
10069				continue
10070			}
10071			if err := v.Validate(); err != nil {
10072				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams))
10073			}
10074		}
10075	}
10076	if s.Outputs != nil {
10077		for i, v := range s.Outputs {
10078			if v == nil {
10079				continue
10080			}
10081			if err := v.Validate(); err != nil {
10082				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
10083			}
10084		}
10085	}
10086	if s.ReferenceDataSources != nil {
10087		for i, v := range s.ReferenceDataSources {
10088			if v == nil {
10089				continue
10090			}
10091			if err := v.Validate(); err != nil {
10092				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReferenceDataSources", i), err.(request.ErrInvalidParams))
10093			}
10094		}
10095	}
10096
10097	if invalidParams.Len() > 0 {
10098		return invalidParams
10099	}
10100	return nil
10101}
10102
10103// SetInputs sets the Inputs field's value.
10104func (s *SqlApplicationConfiguration) SetInputs(v []*Input) *SqlApplicationConfiguration {
10105	s.Inputs = v
10106	return s
10107}
10108
10109// SetOutputs sets the Outputs field's value.
10110func (s *SqlApplicationConfiguration) SetOutputs(v []*Output) *SqlApplicationConfiguration {
10111	s.Outputs = v
10112	return s
10113}
10114
10115// SetReferenceDataSources sets the ReferenceDataSources field's value.
10116func (s *SqlApplicationConfiguration) SetReferenceDataSources(v []*ReferenceDataSource) *SqlApplicationConfiguration {
10117	s.ReferenceDataSources = v
10118	return s
10119}
10120
10121// Describes the inputs, outputs, and reference data sources for an SQL-based
10122// Kinesis Data Analytics application.
10123type SqlApplicationConfigurationDescription struct {
10124	_ struct{} `type:"structure"`
10125
10126	// The array of InputDescription objects describing the input streams used by
10127	// the application.
10128	InputDescriptions []*InputDescription `type:"list"`
10129
10130	// The array of OutputDescription objects describing the destination streams
10131	// used by the application.
10132	OutputDescriptions []*OutputDescription `type:"list"`
10133
10134	// The array of ReferenceDataSourceDescription objects describing the reference
10135	// data sources used by the application.
10136	ReferenceDataSourceDescriptions []*ReferenceDataSourceDescription `type:"list"`
10137}
10138
10139// String returns the string representation
10140func (s SqlApplicationConfigurationDescription) String() string {
10141	return awsutil.Prettify(s)
10142}
10143
10144// GoString returns the string representation
10145func (s SqlApplicationConfigurationDescription) GoString() string {
10146	return s.String()
10147}
10148
10149// SetInputDescriptions sets the InputDescriptions field's value.
10150func (s *SqlApplicationConfigurationDescription) SetInputDescriptions(v []*InputDescription) *SqlApplicationConfigurationDescription {
10151	s.InputDescriptions = v
10152	return s
10153}
10154
10155// SetOutputDescriptions sets the OutputDescriptions field's value.
10156func (s *SqlApplicationConfigurationDescription) SetOutputDescriptions(v []*OutputDescription) *SqlApplicationConfigurationDescription {
10157	s.OutputDescriptions = v
10158	return s
10159}
10160
10161// SetReferenceDataSourceDescriptions sets the ReferenceDataSourceDescriptions field's value.
10162func (s *SqlApplicationConfigurationDescription) SetReferenceDataSourceDescriptions(v []*ReferenceDataSourceDescription) *SqlApplicationConfigurationDescription {
10163	s.ReferenceDataSourceDescriptions = v
10164	return s
10165}
10166
10167// Describes updates to the input streams, destination streams, and reference
10168// data sources for an SQL-based Kinesis Data Analytics application.
10169type SqlApplicationConfigurationUpdate struct {
10170	_ struct{} `type:"structure"`
10171
10172	// The array of InputUpdate objects describing the new input streams used by
10173	// the application.
10174	InputUpdates []*InputUpdate `type:"list"`
10175
10176	// The array of OutputUpdate objects describing the new destination streams
10177	// used by the application.
10178	OutputUpdates []*OutputUpdate `type:"list"`
10179
10180	// The array of ReferenceDataSourceUpdate objects describing the new reference
10181	// data sources used by the application.
10182	ReferenceDataSourceUpdates []*ReferenceDataSourceUpdate `type:"list"`
10183}
10184
10185// String returns the string representation
10186func (s SqlApplicationConfigurationUpdate) String() string {
10187	return awsutil.Prettify(s)
10188}
10189
10190// GoString returns the string representation
10191func (s SqlApplicationConfigurationUpdate) GoString() string {
10192	return s.String()
10193}
10194
10195// Validate inspects the fields of the type to determine if they are valid.
10196func (s *SqlApplicationConfigurationUpdate) Validate() error {
10197	invalidParams := request.ErrInvalidParams{Context: "SqlApplicationConfigurationUpdate"}
10198	if s.InputUpdates != nil {
10199		for i, v := range s.InputUpdates {
10200			if v == nil {
10201				continue
10202			}
10203			if err := v.Validate(); err != nil {
10204				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputUpdates", i), err.(request.ErrInvalidParams))
10205			}
10206		}
10207	}
10208	if s.OutputUpdates != nil {
10209		for i, v := range s.OutputUpdates {
10210			if v == nil {
10211				continue
10212			}
10213			if err := v.Validate(); err != nil {
10214				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputUpdates", i), err.(request.ErrInvalidParams))
10215			}
10216		}
10217	}
10218	if s.ReferenceDataSourceUpdates != nil {
10219		for i, v := range s.ReferenceDataSourceUpdates {
10220			if v == nil {
10221				continue
10222			}
10223			if err := v.Validate(); err != nil {
10224				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReferenceDataSourceUpdates", i), err.(request.ErrInvalidParams))
10225			}
10226		}
10227	}
10228
10229	if invalidParams.Len() > 0 {
10230		return invalidParams
10231	}
10232	return nil
10233}
10234
10235// SetInputUpdates sets the InputUpdates field's value.
10236func (s *SqlApplicationConfigurationUpdate) SetInputUpdates(v []*InputUpdate) *SqlApplicationConfigurationUpdate {
10237	s.InputUpdates = v
10238	return s
10239}
10240
10241// SetOutputUpdates sets the OutputUpdates field's value.
10242func (s *SqlApplicationConfigurationUpdate) SetOutputUpdates(v []*OutputUpdate) *SqlApplicationConfigurationUpdate {
10243	s.OutputUpdates = v
10244	return s
10245}
10246
10247// SetReferenceDataSourceUpdates sets the ReferenceDataSourceUpdates field's value.
10248func (s *SqlApplicationConfigurationUpdate) SetReferenceDataSourceUpdates(v []*ReferenceDataSourceUpdate) *SqlApplicationConfigurationUpdate {
10249	s.ReferenceDataSourceUpdates = v
10250	return s
10251}
10252
10253// Describes the starting parameters for an SQL-based Kinesis Data Analytics
10254// application.
10255type SqlRunConfiguration struct {
10256	_ struct{} `type:"structure"`
10257
10258	// The input source ID. You can get this ID by calling the DescribeApplication
10259	// operation.
10260	//
10261	// InputId is a required field
10262	InputId *string `min:"1" type:"string" required:"true"`
10263
10264	// The point at which you want the application to start processing records from
10265	// the streaming source.
10266	//
10267	// InputStartingPositionConfiguration is a required field
10268	InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure" required:"true"`
10269}
10270
10271// String returns the string representation
10272func (s SqlRunConfiguration) String() string {
10273	return awsutil.Prettify(s)
10274}
10275
10276// GoString returns the string representation
10277func (s SqlRunConfiguration) GoString() string {
10278	return s.String()
10279}
10280
10281// Validate inspects the fields of the type to determine if they are valid.
10282func (s *SqlRunConfiguration) Validate() error {
10283	invalidParams := request.ErrInvalidParams{Context: "SqlRunConfiguration"}
10284	if s.InputId == nil {
10285		invalidParams.Add(request.NewErrParamRequired("InputId"))
10286	}
10287	if s.InputId != nil && len(*s.InputId) < 1 {
10288		invalidParams.Add(request.NewErrParamMinLen("InputId", 1))
10289	}
10290	if s.InputStartingPositionConfiguration == nil {
10291		invalidParams.Add(request.NewErrParamRequired("InputStartingPositionConfiguration"))
10292	}
10293
10294	if invalidParams.Len() > 0 {
10295		return invalidParams
10296	}
10297	return nil
10298}
10299
10300// SetInputId sets the InputId field's value.
10301func (s *SqlRunConfiguration) SetInputId(v string) *SqlRunConfiguration {
10302	s.InputId = &v
10303	return s
10304}
10305
10306// SetInputStartingPositionConfiguration sets the InputStartingPositionConfiguration field's value.
10307func (s *SqlRunConfiguration) SetInputStartingPositionConfiguration(v *InputStartingPositionConfiguration) *SqlRunConfiguration {
10308	s.InputStartingPositionConfiguration = v
10309	return s
10310}
10311
10312type StartApplicationInput struct {
10313	_ struct{} `type:"structure"`
10314
10315	// The name of the application.
10316	//
10317	// ApplicationName is a required field
10318	ApplicationName *string `min:"1" type:"string" required:"true"`
10319
10320	// Identifies the run configuration (start parameters) of a Kinesis Data Analytics
10321	// application.
10322	//
10323	// RunConfiguration is a required field
10324	RunConfiguration *RunConfiguration `type:"structure" required:"true"`
10325}
10326
10327// String returns the string representation
10328func (s StartApplicationInput) String() string {
10329	return awsutil.Prettify(s)
10330}
10331
10332// GoString returns the string representation
10333func (s StartApplicationInput) GoString() string {
10334	return s.String()
10335}
10336
10337// Validate inspects the fields of the type to determine if they are valid.
10338func (s *StartApplicationInput) Validate() error {
10339	invalidParams := request.ErrInvalidParams{Context: "StartApplicationInput"}
10340	if s.ApplicationName == nil {
10341		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
10342	}
10343	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
10344		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
10345	}
10346	if s.RunConfiguration == nil {
10347		invalidParams.Add(request.NewErrParamRequired("RunConfiguration"))
10348	}
10349	if s.RunConfiguration != nil {
10350		if err := s.RunConfiguration.Validate(); err != nil {
10351			invalidParams.AddNested("RunConfiguration", err.(request.ErrInvalidParams))
10352		}
10353	}
10354
10355	if invalidParams.Len() > 0 {
10356		return invalidParams
10357	}
10358	return nil
10359}
10360
10361// SetApplicationName sets the ApplicationName field's value.
10362func (s *StartApplicationInput) SetApplicationName(v string) *StartApplicationInput {
10363	s.ApplicationName = &v
10364	return s
10365}
10366
10367// SetRunConfiguration sets the RunConfiguration field's value.
10368func (s *StartApplicationInput) SetRunConfiguration(v *RunConfiguration) *StartApplicationInput {
10369	s.RunConfiguration = v
10370	return s
10371}
10372
10373type StartApplicationOutput struct {
10374	_ struct{} `type:"structure"`
10375}
10376
10377// String returns the string representation
10378func (s StartApplicationOutput) String() string {
10379	return awsutil.Prettify(s)
10380}
10381
10382// GoString returns the string representation
10383func (s StartApplicationOutput) GoString() string {
10384	return s.String()
10385}
10386
10387type StopApplicationInput struct {
10388	_ struct{} `type:"structure"`
10389
10390	// The name of the running application to stop.
10391	//
10392	// ApplicationName is a required field
10393	ApplicationName *string `min:"1" type:"string" required:"true"`
10394}
10395
10396// String returns the string representation
10397func (s StopApplicationInput) String() string {
10398	return awsutil.Prettify(s)
10399}
10400
10401// GoString returns the string representation
10402func (s StopApplicationInput) GoString() string {
10403	return s.String()
10404}
10405
10406// Validate inspects the fields of the type to determine if they are valid.
10407func (s *StopApplicationInput) Validate() error {
10408	invalidParams := request.ErrInvalidParams{Context: "StopApplicationInput"}
10409	if s.ApplicationName == nil {
10410		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
10411	}
10412	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
10413		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
10414	}
10415
10416	if invalidParams.Len() > 0 {
10417		return invalidParams
10418	}
10419	return nil
10420}
10421
10422// SetApplicationName sets the ApplicationName field's value.
10423func (s *StopApplicationInput) SetApplicationName(v string) *StopApplicationInput {
10424	s.ApplicationName = &v
10425	return s
10426}
10427
10428type StopApplicationOutput struct {
10429	_ struct{} `type:"structure"`
10430}
10431
10432// String returns the string representation
10433func (s StopApplicationOutput) String() string {
10434	return awsutil.Prettify(s)
10435}
10436
10437// GoString returns the string representation
10438func (s StopApplicationOutput) GoString() string {
10439	return s.String()
10440}
10441
10442// A key-value pair (the value is optional) that you can define and assign to
10443// AWS resources. If you specify a tag that already exists, the tag value is
10444// replaced with the value that you specify in the request. Note that the maximum
10445// number of application tags includes system tags. The maximum number of user-defined
10446// application tags is 50. For more information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).
10447type Tag struct {
10448	_ struct{} `type:"structure"`
10449
10450	// The key of the key-value tag.
10451	//
10452	// Key is a required field
10453	Key *string `min:"1" type:"string" required:"true"`
10454
10455	// The value of the key-value tag. The value is optional.
10456	Value *string `type:"string"`
10457}
10458
10459// String returns the string representation
10460func (s Tag) String() string {
10461	return awsutil.Prettify(s)
10462}
10463
10464// GoString returns the string representation
10465func (s Tag) GoString() string {
10466	return s.String()
10467}
10468
10469// Validate inspects the fields of the type to determine if they are valid.
10470func (s *Tag) Validate() error {
10471	invalidParams := request.ErrInvalidParams{Context: "Tag"}
10472	if s.Key == nil {
10473		invalidParams.Add(request.NewErrParamRequired("Key"))
10474	}
10475	if s.Key != nil && len(*s.Key) < 1 {
10476		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10477	}
10478
10479	if invalidParams.Len() > 0 {
10480		return invalidParams
10481	}
10482	return nil
10483}
10484
10485// SetKey sets the Key field's value.
10486func (s *Tag) SetKey(v string) *Tag {
10487	s.Key = &v
10488	return s
10489}
10490
10491// SetValue sets the Value field's value.
10492func (s *Tag) SetValue(v string) *Tag {
10493	s.Value = &v
10494	return s
10495}
10496
10497type TagResourceInput struct {
10498	_ struct{} `type:"structure"`
10499
10500	// The ARN of the application to assign the tags.
10501	//
10502	// ResourceARN is a required field
10503	ResourceARN *string `min:"1" type:"string" required:"true"`
10504
10505	// The key-value tags to assign to the application.
10506	//
10507	// Tags is a required field
10508	Tags []*Tag `min:"1" type:"list" required:"true"`
10509}
10510
10511// String returns the string representation
10512func (s TagResourceInput) String() string {
10513	return awsutil.Prettify(s)
10514}
10515
10516// GoString returns the string representation
10517func (s TagResourceInput) GoString() string {
10518	return s.String()
10519}
10520
10521// Validate inspects the fields of the type to determine if they are valid.
10522func (s *TagResourceInput) Validate() error {
10523	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10524	if s.ResourceARN == nil {
10525		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
10526	}
10527	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
10528		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
10529	}
10530	if s.Tags == nil {
10531		invalidParams.Add(request.NewErrParamRequired("Tags"))
10532	}
10533	if s.Tags != nil && len(s.Tags) < 1 {
10534		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
10535	}
10536	if s.Tags != nil {
10537		for i, v := range s.Tags {
10538			if v == nil {
10539				continue
10540			}
10541			if err := v.Validate(); err != nil {
10542				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10543			}
10544		}
10545	}
10546
10547	if invalidParams.Len() > 0 {
10548		return invalidParams
10549	}
10550	return nil
10551}
10552
10553// SetResourceARN sets the ResourceARN field's value.
10554func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
10555	s.ResourceARN = &v
10556	return s
10557}
10558
10559// SetTags sets the Tags field's value.
10560func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
10561	s.Tags = v
10562	return s
10563}
10564
10565type TagResourceOutput struct {
10566	_ struct{} `type:"structure"`
10567}
10568
10569// String returns the string representation
10570func (s TagResourceOutput) String() string {
10571	return awsutil.Prettify(s)
10572}
10573
10574// GoString returns the string representation
10575func (s TagResourceOutput) GoString() string {
10576	return s.String()
10577}
10578
10579type UntagResourceInput struct {
10580	_ struct{} `type:"structure"`
10581
10582	// The ARN of the Kinesis Analytics application from which to remove the tags.
10583	//
10584	// ResourceARN is a required field
10585	ResourceARN *string `min:"1" type:"string" required:"true"`
10586
10587	// A list of keys of tags to remove from the specified application.
10588	//
10589	// TagKeys is a required field
10590	TagKeys []*string `min:"1" type:"list" required:"true"`
10591}
10592
10593// String returns the string representation
10594func (s UntagResourceInput) String() string {
10595	return awsutil.Prettify(s)
10596}
10597
10598// GoString returns the string representation
10599func (s UntagResourceInput) GoString() string {
10600	return s.String()
10601}
10602
10603// Validate inspects the fields of the type to determine if they are valid.
10604func (s *UntagResourceInput) Validate() error {
10605	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10606	if s.ResourceARN == nil {
10607		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
10608	}
10609	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
10610		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
10611	}
10612	if s.TagKeys == nil {
10613		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10614	}
10615	if s.TagKeys != nil && len(s.TagKeys) < 1 {
10616		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
10617	}
10618
10619	if invalidParams.Len() > 0 {
10620		return invalidParams
10621	}
10622	return nil
10623}
10624
10625// SetResourceARN sets the ResourceARN field's value.
10626func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
10627	s.ResourceARN = &v
10628	return s
10629}
10630
10631// SetTagKeys sets the TagKeys field's value.
10632func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10633	s.TagKeys = v
10634	return s
10635}
10636
10637type UntagResourceOutput struct {
10638	_ struct{} `type:"structure"`
10639}
10640
10641// String returns the string representation
10642func (s UntagResourceOutput) String() string {
10643	return awsutil.Prettify(s)
10644}
10645
10646// GoString returns the string representation
10647func (s UntagResourceOutput) GoString() string {
10648	return s.String()
10649}
10650
10651type UpdateApplicationInput struct {
10652	_ struct{} `type:"structure"`
10653
10654	// Describes application configuration updates.
10655	ApplicationConfigurationUpdate *ApplicationConfigurationUpdate `type:"structure"`
10656
10657	// The name of the application to update.
10658	//
10659	// ApplicationName is a required field
10660	ApplicationName *string `min:"1" type:"string" required:"true"`
10661
10662	// Describes application Amazon CloudWatch logging option updates. You can only
10663	// update existing CloudWatch logging options with this action. To add a new
10664	// CloudWatch logging option, use AddApplicationCloudWatchLoggingOption.
10665	CloudWatchLoggingOptionUpdates []*CloudWatchLoggingOptionUpdate `type:"list"`
10666
10667	// The current application version ID. You can retrieve the application version
10668	// ID using DescribeApplication.
10669	//
10670	// CurrentApplicationVersionId is a required field
10671	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`
10672
10673	// Describes updates to the application's starting parameters.
10674	RunConfigurationUpdate *RunConfigurationUpdate `type:"structure"`
10675
10676	// Describes updates to the service execution role.
10677	ServiceExecutionRoleUpdate *string `min:"1" type:"string"`
10678}
10679
10680// String returns the string representation
10681func (s UpdateApplicationInput) String() string {
10682	return awsutil.Prettify(s)
10683}
10684
10685// GoString returns the string representation
10686func (s UpdateApplicationInput) GoString() string {
10687	return s.String()
10688}
10689
10690// Validate inspects the fields of the type to determine if they are valid.
10691func (s *UpdateApplicationInput) Validate() error {
10692	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
10693	if s.ApplicationName == nil {
10694		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
10695	}
10696	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
10697		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
10698	}
10699	if s.CurrentApplicationVersionId == nil {
10700		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
10701	}
10702	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
10703		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
10704	}
10705	if s.ServiceExecutionRoleUpdate != nil && len(*s.ServiceExecutionRoleUpdate) < 1 {
10706		invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRoleUpdate", 1))
10707	}
10708	if s.ApplicationConfigurationUpdate != nil {
10709		if err := s.ApplicationConfigurationUpdate.Validate(); err != nil {
10710			invalidParams.AddNested("ApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
10711		}
10712	}
10713	if s.CloudWatchLoggingOptionUpdates != nil {
10714		for i, v := range s.CloudWatchLoggingOptionUpdates {
10715			if v == nil {
10716				continue
10717			}
10718			if err := v.Validate(); err != nil {
10719				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CloudWatchLoggingOptionUpdates", i), err.(request.ErrInvalidParams))
10720			}
10721		}
10722	}
10723	if s.RunConfigurationUpdate != nil {
10724		if err := s.RunConfigurationUpdate.Validate(); err != nil {
10725			invalidParams.AddNested("RunConfigurationUpdate", err.(request.ErrInvalidParams))
10726		}
10727	}
10728
10729	if invalidParams.Len() > 0 {
10730		return invalidParams
10731	}
10732	return nil
10733}
10734
10735// SetApplicationConfigurationUpdate sets the ApplicationConfigurationUpdate field's value.
10736func (s *UpdateApplicationInput) SetApplicationConfigurationUpdate(v *ApplicationConfigurationUpdate) *UpdateApplicationInput {
10737	s.ApplicationConfigurationUpdate = v
10738	return s
10739}
10740
10741// SetApplicationName sets the ApplicationName field's value.
10742func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput {
10743	s.ApplicationName = &v
10744	return s
10745}
10746
10747// SetCloudWatchLoggingOptionUpdates sets the CloudWatchLoggingOptionUpdates field's value.
10748func (s *UpdateApplicationInput) SetCloudWatchLoggingOptionUpdates(v []*CloudWatchLoggingOptionUpdate) *UpdateApplicationInput {
10749	s.CloudWatchLoggingOptionUpdates = v
10750	return s
10751}
10752
10753// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value.
10754func (s *UpdateApplicationInput) SetCurrentApplicationVersionId(v int64) *UpdateApplicationInput {
10755	s.CurrentApplicationVersionId = &v
10756	return s
10757}
10758
10759// SetRunConfigurationUpdate sets the RunConfigurationUpdate field's value.
10760func (s *UpdateApplicationInput) SetRunConfigurationUpdate(v *RunConfigurationUpdate) *UpdateApplicationInput {
10761	s.RunConfigurationUpdate = v
10762	return s
10763}
10764
10765// SetServiceExecutionRoleUpdate sets the ServiceExecutionRoleUpdate field's value.
10766func (s *UpdateApplicationInput) SetServiceExecutionRoleUpdate(v string) *UpdateApplicationInput {
10767	s.ServiceExecutionRoleUpdate = &v
10768	return s
10769}
10770
10771type UpdateApplicationOutput struct {
10772	_ struct{} `type:"structure"`
10773
10774	// Describes application updates.
10775	//
10776	// ApplicationDetail is a required field
10777	ApplicationDetail *ApplicationDetail `type:"structure" required:"true"`
10778}
10779
10780// String returns the string representation
10781func (s UpdateApplicationOutput) String() string {
10782	return awsutil.Prettify(s)
10783}
10784
10785// GoString returns the string representation
10786func (s UpdateApplicationOutput) GoString() string {
10787	return s.String()
10788}
10789
10790// SetApplicationDetail sets the ApplicationDetail field's value.
10791func (s *UpdateApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *UpdateApplicationOutput {
10792	s.ApplicationDetail = v
10793	return s
10794}
10795
10796// Describes the parameters of a VPC used by the application.
10797type VpcConfiguration struct {
10798	_ struct{} `type:"structure"`
10799
10800	// The array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html)
10801	// IDs used by the VPC configuration.
10802	//
10803	// SecurityGroupIds is a required field
10804	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
10805
10806	// The array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html)
10807	// IDs used by the VPC configuration.
10808	//
10809	// SubnetIds is a required field
10810	SubnetIds []*string `min:"1" type:"list" required:"true"`
10811}
10812
10813// String returns the string representation
10814func (s VpcConfiguration) String() string {
10815	return awsutil.Prettify(s)
10816}
10817
10818// GoString returns the string representation
10819func (s VpcConfiguration) GoString() string {
10820	return s.String()
10821}
10822
10823// Validate inspects the fields of the type to determine if they are valid.
10824func (s *VpcConfiguration) Validate() error {
10825	invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"}
10826	if s.SecurityGroupIds == nil {
10827		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
10828	}
10829	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
10830		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
10831	}
10832	if s.SubnetIds == nil {
10833		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
10834	}
10835	if s.SubnetIds != nil && len(s.SubnetIds) < 1 {
10836		invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1))
10837	}
10838
10839	if invalidParams.Len() > 0 {
10840		return invalidParams
10841	}
10842	return nil
10843}
10844
10845// SetSecurityGroupIds sets the SecurityGroupIds field's value.
10846func (s *VpcConfiguration) SetSecurityGroupIds(v []*string) *VpcConfiguration {
10847	s.SecurityGroupIds = v
10848	return s
10849}
10850
10851// SetSubnetIds sets the SubnetIds field's value.
10852func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration {
10853	s.SubnetIds = v
10854	return s
10855}
10856
10857// Describes the parameters of a VPC used by the application.
10858type VpcConfigurationDescription struct {
10859	_ struct{} `type:"structure"`
10860
10861	// The array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html)
10862	// IDs used by the VPC configuration.
10863	//
10864	// SecurityGroupIds is a required field
10865	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
10866
10867	// The array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html)
10868	// IDs used by the VPC configuration.
10869	//
10870	// SubnetIds is a required field
10871	SubnetIds []*string `min:"1" type:"list" required:"true"`
10872
10873	// The ID of the VPC configuration.
10874	//
10875	// VpcConfigurationId is a required field
10876	VpcConfigurationId *string `min:"1" type:"string" required:"true"`
10877
10878	// The ID of the associated VPC.
10879	//
10880	// VpcId is a required field
10881	VpcId *string `type:"string" required:"true"`
10882}
10883
10884// String returns the string representation
10885func (s VpcConfigurationDescription) String() string {
10886	return awsutil.Prettify(s)
10887}
10888
10889// GoString returns the string representation
10890func (s VpcConfigurationDescription) GoString() string {
10891	return s.String()
10892}
10893
10894// SetSecurityGroupIds sets the SecurityGroupIds field's value.
10895func (s *VpcConfigurationDescription) SetSecurityGroupIds(v []*string) *VpcConfigurationDescription {
10896	s.SecurityGroupIds = v
10897	return s
10898}
10899
10900// SetSubnetIds sets the SubnetIds field's value.
10901func (s *VpcConfigurationDescription) SetSubnetIds(v []*string) *VpcConfigurationDescription {
10902	s.SubnetIds = v
10903	return s
10904}
10905
10906// SetVpcConfigurationId sets the VpcConfigurationId field's value.
10907func (s *VpcConfigurationDescription) SetVpcConfigurationId(v string) *VpcConfigurationDescription {
10908	s.VpcConfigurationId = &v
10909	return s
10910}
10911
10912// SetVpcId sets the VpcId field's value.
10913func (s *VpcConfigurationDescription) SetVpcId(v string) *VpcConfigurationDescription {
10914	s.VpcId = &v
10915	return s
10916}
10917
10918// Describes updates to the VPC configuration used by the application.
10919type VpcConfigurationUpdate struct {
10920	_ struct{} `type:"structure"`
10921
10922	// Describes updates to the array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html)
10923	// IDs used by the VPC configuration.
10924	SecurityGroupIdUpdates []*string `min:"1" type:"list"`
10925
10926	// Describes updates to the array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html)
10927	// IDs used by the VPC configuration.
10928	SubnetIdUpdates []*string `min:"1" type:"list"`
10929
10930	// Describes an update to the ID of the VPC configuration.
10931	//
10932	// VpcConfigurationId is a required field
10933	VpcConfigurationId *string `min:"1" type:"string" required:"true"`
10934}
10935
10936// String returns the string representation
10937func (s VpcConfigurationUpdate) String() string {
10938	return awsutil.Prettify(s)
10939}
10940
10941// GoString returns the string representation
10942func (s VpcConfigurationUpdate) GoString() string {
10943	return s.String()
10944}
10945
10946// Validate inspects the fields of the type to determine if they are valid.
10947func (s *VpcConfigurationUpdate) Validate() error {
10948	invalidParams := request.ErrInvalidParams{Context: "VpcConfigurationUpdate"}
10949	if s.SecurityGroupIdUpdates != nil && len(s.SecurityGroupIdUpdates) < 1 {
10950		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIdUpdates", 1))
10951	}
10952	if s.SubnetIdUpdates != nil && len(s.SubnetIdUpdates) < 1 {
10953		invalidParams.Add(request.NewErrParamMinLen("SubnetIdUpdates", 1))
10954	}
10955	if s.VpcConfigurationId == nil {
10956		invalidParams.Add(request.NewErrParamRequired("VpcConfigurationId"))
10957	}
10958	if s.VpcConfigurationId != nil && len(*s.VpcConfigurationId) < 1 {
10959		invalidParams.Add(request.NewErrParamMinLen("VpcConfigurationId", 1))
10960	}
10961
10962	if invalidParams.Len() > 0 {
10963		return invalidParams
10964	}
10965	return nil
10966}
10967
10968// SetSecurityGroupIdUpdates sets the SecurityGroupIdUpdates field's value.
10969func (s *VpcConfigurationUpdate) SetSecurityGroupIdUpdates(v []*string) *VpcConfigurationUpdate {
10970	s.SecurityGroupIdUpdates = v
10971	return s
10972}
10973
10974// SetSubnetIdUpdates sets the SubnetIdUpdates field's value.
10975func (s *VpcConfigurationUpdate) SetSubnetIdUpdates(v []*string) *VpcConfigurationUpdate {
10976	s.SubnetIdUpdates = v
10977	return s
10978}
10979
10980// SetVpcConfigurationId sets the VpcConfigurationId field's value.
10981func (s *VpcConfigurationUpdate) SetVpcConfigurationId(v string) *VpcConfigurationUpdate {
10982	s.VpcConfigurationId = &v
10983	return s
10984}
10985
10986const (
10987	// ApplicationRestoreTypeSkipRestoreFromSnapshot is a ApplicationRestoreType enum value
10988	ApplicationRestoreTypeSkipRestoreFromSnapshot = "SKIP_RESTORE_FROM_SNAPSHOT"
10989
10990	// ApplicationRestoreTypeRestoreFromLatestSnapshot is a ApplicationRestoreType enum value
10991	ApplicationRestoreTypeRestoreFromLatestSnapshot = "RESTORE_FROM_LATEST_SNAPSHOT"
10992
10993	// ApplicationRestoreTypeRestoreFromCustomSnapshot is a ApplicationRestoreType enum value
10994	ApplicationRestoreTypeRestoreFromCustomSnapshot = "RESTORE_FROM_CUSTOM_SNAPSHOT"
10995)
10996
10997const (
10998	// ApplicationStatusDeleting is a ApplicationStatus enum value
10999	ApplicationStatusDeleting = "DELETING"
11000
11001	// ApplicationStatusStarting is a ApplicationStatus enum value
11002	ApplicationStatusStarting = "STARTING"
11003
11004	// ApplicationStatusStopping is a ApplicationStatus enum value
11005	ApplicationStatusStopping = "STOPPING"
11006
11007	// ApplicationStatusReady is a ApplicationStatus enum value
11008	ApplicationStatusReady = "READY"
11009
11010	// ApplicationStatusRunning is a ApplicationStatus enum value
11011	ApplicationStatusRunning = "RUNNING"
11012
11013	// ApplicationStatusUpdating is a ApplicationStatus enum value
11014	ApplicationStatusUpdating = "UPDATING"
11015)
11016
11017const (
11018	// CodeContentTypePlaintext is a CodeContentType enum value
11019	CodeContentTypePlaintext = "PLAINTEXT"
11020
11021	// CodeContentTypeZipfile is a CodeContentType enum value
11022	CodeContentTypeZipfile = "ZIPFILE"
11023)
11024
11025const (
11026	// ConfigurationTypeDefault is a ConfigurationType enum value
11027	ConfigurationTypeDefault = "DEFAULT"
11028
11029	// ConfigurationTypeCustom is a ConfigurationType enum value
11030	ConfigurationTypeCustom = "CUSTOM"
11031)
11032
11033const (
11034	// InputStartingPositionNow is a InputStartingPosition enum value
11035	InputStartingPositionNow = "NOW"
11036
11037	// InputStartingPositionTrimHorizon is a InputStartingPosition enum value
11038	InputStartingPositionTrimHorizon = "TRIM_HORIZON"
11039
11040	// InputStartingPositionLastStoppedPoint is a InputStartingPosition enum value
11041	InputStartingPositionLastStoppedPoint = "LAST_STOPPED_POINT"
11042)
11043
11044const (
11045	// LogLevelInfo is a LogLevel enum value
11046	LogLevelInfo = "INFO"
11047
11048	// LogLevelWarn is a LogLevel enum value
11049	LogLevelWarn = "WARN"
11050
11051	// LogLevelError is a LogLevel enum value
11052	LogLevelError = "ERROR"
11053
11054	// LogLevelDebug is a LogLevel enum value
11055	LogLevelDebug = "DEBUG"
11056)
11057
11058const (
11059	// MetricsLevelApplication is a MetricsLevel enum value
11060	MetricsLevelApplication = "APPLICATION"
11061
11062	// MetricsLevelTask is a MetricsLevel enum value
11063	MetricsLevelTask = "TASK"
11064
11065	// MetricsLevelOperator is a MetricsLevel enum value
11066	MetricsLevelOperator = "OPERATOR"
11067
11068	// MetricsLevelParallelism is a MetricsLevel enum value
11069	MetricsLevelParallelism = "PARALLELISM"
11070)
11071
11072const (
11073	// RecordFormatTypeJson is a RecordFormatType enum value
11074	RecordFormatTypeJson = "JSON"
11075
11076	// RecordFormatTypeCsv is a RecordFormatType enum value
11077	RecordFormatTypeCsv = "CSV"
11078)
11079
11080const (
11081	// RuntimeEnvironmentSql10 is a RuntimeEnvironment enum value
11082	RuntimeEnvironmentSql10 = "SQL-1_0"
11083
11084	// RuntimeEnvironmentFlink16 is a RuntimeEnvironment enum value
11085	RuntimeEnvironmentFlink16 = "FLINK-1_6"
11086
11087	// RuntimeEnvironmentFlink18 is a RuntimeEnvironment enum value
11088	RuntimeEnvironmentFlink18 = "FLINK-1_8"
11089)
11090
11091const (
11092	// SnapshotStatusCreating is a SnapshotStatus enum value
11093	SnapshotStatusCreating = "CREATING"
11094
11095	// SnapshotStatusReady is a SnapshotStatus enum value
11096	SnapshotStatusReady = "READY"
11097
11098	// SnapshotStatusDeleting is a SnapshotStatus enum value
11099	SnapshotStatusDeleting = "DELETING"
11100
11101	// SnapshotStatusFailed is a SnapshotStatus enum value
11102	SnapshotStatusFailed = "FAILED"
11103)
11104