// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. // Package kinesisanalytics provides a client for Amazon Kinesis Analytics. package kinesisanalytics import ( "fmt" "time" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" ) const opAddApplicationInput = "AddApplicationInput" // AddApplicationInputRequest generates a "aws/request.Request" representing the // client's request for the AddApplicationInput operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the AddApplicationInput method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the AddApplicationInputRequest method. // req, resp := client.AddApplicationInputRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) AddApplicationInputRequest(input *AddApplicationInputInput) (req *request.Request, output *AddApplicationInputOutput) { op := &request.Operation{ Name: opAddApplicationInput, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &AddApplicationInputInput{} } req = c.newRequest(op, input, output) output = &AddApplicationInputOutput{} req.Data = output return } // Adds a streaming source to your Amazon Kinesis application. For conceptual // information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). // // You can add a streaming source either when you create an application or // you can use this operation to add a streaming source after you create an // application. For more information, see CreateApplication. // // Any configuration update, including adding a streaming source using this // operation, results in a new version of the application. You can use the DescribeApplication // operation to find the current application version. // // This operation requires permissions to perform the kinesisanalytics:AddApplicationInput // action. func (c *KinesisAnalytics) AddApplicationInput(input *AddApplicationInputInput) (*AddApplicationInputOutput, error) { req, out := c.AddApplicationInputRequest(input) err := req.Send() return out, err } const opAddApplicationOutput = "AddApplicationOutput" // AddApplicationOutputRequest generates a "aws/request.Request" representing the // client's request for the AddApplicationOutput operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the AddApplicationOutput method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the AddApplicationOutputRequest method. // req, resp := client.AddApplicationOutputRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) AddApplicationOutputRequest(input *AddApplicationOutputInput) (req *request.Request, output *AddApplicationOutputOutput) { op := &request.Operation{ Name: opAddApplicationOutput, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &AddApplicationOutputInput{} } req = c.newRequest(op, input, output) output = &AddApplicationOutputOutput{} req.Data = output return } // Adds an external destination to your Amazon Kinesis Analytics application. // // If you want Amazon Kinesis Analytics to deliver data from an in-application // stream within your application to an external destination (such as an Amazon // Kinesis stream or a Firehose delivery stream), you add the relevant configuration // to your application using this operation. You can configure one or more outputs // for your application. Each output configuration maps an in-application stream // and an external destination. // // You can use one of the output configurations to deliver data from your // in-application error stream to an external destination so that you can analyze // the errors. For conceptual information, see Understanding Application Output // (Destination) (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). // // Note that any configuration update, including adding a streaming source // using this operation, results in a new version of the application. You can // use the DescribeApplication operation to find the current application version. // // For the limits on the number of application inputs and outputs you can configure, // see Limits (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). // // This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput // action. func (c *KinesisAnalytics) AddApplicationOutput(input *AddApplicationOutputInput) (*AddApplicationOutputOutput, error) { req, out := c.AddApplicationOutputRequest(input) err := req.Send() return out, err } const opAddApplicationReferenceDataSource = "AddApplicationReferenceDataSource" // AddApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the // client's request for the AddApplicationReferenceDataSource operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the AddApplicationReferenceDataSource method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the AddApplicationReferenceDataSourceRequest method. // req, resp := client.AddApplicationReferenceDataSourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) AddApplicationReferenceDataSourceRequest(input *AddApplicationReferenceDataSourceInput) (req *request.Request, output *AddApplicationReferenceDataSourceOutput) { op := &request.Operation{ Name: opAddApplicationReferenceDataSource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &AddApplicationReferenceDataSourceInput{} } req = c.newRequest(op, input, output) output = &AddApplicationReferenceDataSourceOutput{} req.Data = output return } // Adds a reference data source to an existing application. // // Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) // and creates an in-application table within your application. In the request, // you provide the source (S3 bucket name and object key name), name of the // in-application table to create, and the necessary mapping information that // describes how data in Amazon S3 object maps to columns in the resulting in-application // table. // // For conceptual information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). // For the limits on data sources you can add to your application, see Limits // (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). // // This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput // action. func (c *KinesisAnalytics) AddApplicationReferenceDataSource(input *AddApplicationReferenceDataSourceInput) (*AddApplicationReferenceDataSourceOutput, error) { req, out := c.AddApplicationReferenceDataSourceRequest(input) err := req.Send() return out, err } const opCreateApplication = "CreateApplication" // CreateApplicationRequest generates a "aws/request.Request" representing the // client's request for the CreateApplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the CreateApplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the CreateApplicationRequest method. // req, resp := client.CreateApplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) { op := &request.Operation{ Name: opCreateApplication, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateApplicationInput{} } req = c.newRequest(op, input, output) output = &CreateApplicationOutput{} req.Data = output return } // Creates an Amazon Kinesis Analytics application. You can configure each application // with one streaming source as input, application code to process the input, // and up to five streaming destinations where you want Amazon Kinesis Analytics // to write the output data from your application. For an overview, see How // it Works (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works.html). // // In the input configuration, you map the streaming source to an in-application // stream, which you can think of as a constantly updating table. In the mapping, // you must provide a schema for the in-application stream and map each data // column in the in-application stream to a data element in the streaming source, // with the option of renaming, casting and dropping columns as desired. // // Your application code is one or more SQL statements that read input data, // transform it, and generate output. Your application code can create one or // more SQL artifacts like SQL streams or pumps. // // In the output configuration, you can configure the application to write // data from in-application streams created in your applications to up to five // streaming destinations. // // To read data from your source stream or write data to destination streams, // Amazon Kinesis Analytics needs your permissions. You grant these permissions // by creating IAM roles. This operation requires permissions to perform the // kinesisanalytics:CreateApplication action. // // For introductory exercises to create an Amazon Kinesis Analytics application, // see Getting Started (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/getting-started.html). func (c *KinesisAnalytics) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) err := req.Send() return out, err } const opDeleteApplication = "DeleteApplication" // DeleteApplicationRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteApplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteApplicationRequest method. // req, resp := client.DeleteApplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) { op := &request.Operation{ Name: opDeleteApplication, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteApplicationInput{} } req = c.newRequest(op, input, output) output = &DeleteApplicationOutput{} req.Data = output return } // Deletes the specified application. Amazon Kinesis Analytics halts application // execution and deletes the application, including any application artifacts // (such as in-application streams, reference table, and application code). // // This operation requires permissions to perform the kinesisanalytics:DeleteApplication // action. func (c *KinesisAnalytics) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) { req, out := c.DeleteApplicationRequest(input) err := req.Send() return out, err } const opDeleteApplicationOutput = "DeleteApplicationOutput" // DeleteApplicationOutputRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplicationOutput operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteApplicationOutput method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteApplicationOutputRequest method. // req, resp := client.DeleteApplicationOutputRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) DeleteApplicationOutputRequest(input *DeleteApplicationOutputInput) (req *request.Request, output *DeleteApplicationOutputOutput) { op := &request.Operation{ Name: opDeleteApplicationOutput, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteApplicationOutputInput{} } req = c.newRequest(op, input, output) output = &DeleteApplicationOutputOutput{} req.Data = output return } // Deletes output destination configuration from your application configuration. // Amazon Kinesis Analytics will no longer write data from the corresponding // in-application stream to the external output destination. // // This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput // action. func (c *KinesisAnalytics) DeleteApplicationOutput(input *DeleteApplicationOutputInput) (*DeleteApplicationOutputOutput, error) { req, out := c.DeleteApplicationOutputRequest(input) err := req.Send() return out, err } const opDeleteApplicationReferenceDataSource = "DeleteApplicationReferenceDataSource" // DeleteApplicationReferenceDataSourceRequest generates a "aws/request.Request" representing the // client's request for the DeleteApplicationReferenceDataSource operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteApplicationReferenceDataSource method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteApplicationReferenceDataSourceRequest method. // req, resp := client.DeleteApplicationReferenceDataSourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) DeleteApplicationReferenceDataSourceRequest(input *DeleteApplicationReferenceDataSourceInput) (req *request.Request, output *DeleteApplicationReferenceDataSourceOutput) { op := &request.Operation{ Name: opDeleteApplicationReferenceDataSource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteApplicationReferenceDataSourceInput{} } req = c.newRequest(op, input, output) output = &DeleteApplicationReferenceDataSourceOutput{} req.Data = output return } // Deletes a reference data source configuration from the specified application // configuration. // // If the application is running, Amazon Kinesis Analytics immediately removes // the in-application table that you created using the AddApplicationReferenceDataSource // operation. // // This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource // action. func (c *KinesisAnalytics) DeleteApplicationReferenceDataSource(input *DeleteApplicationReferenceDataSourceInput) (*DeleteApplicationReferenceDataSourceOutput, error) { req, out := c.DeleteApplicationReferenceDataSourceRequest(input) err := req.Send() return out, err } const opDescribeApplication = "DescribeApplication" // DescribeApplicationRequest generates a "aws/request.Request" representing the // client's request for the DescribeApplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DescribeApplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DescribeApplicationRequest method. // req, resp := client.DescribeApplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) DescribeApplicationRequest(input *DescribeApplicationInput) (req *request.Request, output *DescribeApplicationOutput) { op := &request.Operation{ Name: opDescribeApplication, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeApplicationInput{} } req = c.newRequest(op, input, output) output = &DescribeApplicationOutput{} req.Data = output return } // Returns information about a specific Amazon Kinesis Analytics application. // // If you want to retrieve a list of all applications in your account, use // the ListApplications operation. // // This operation requires permissions to perform the kinesisanalytics:DescribeApplication // action. You can use DescribeApplication to get the current application versionId, // which you need to call other operations such as Update. func (c *KinesisAnalytics) DescribeApplication(input *DescribeApplicationInput) (*DescribeApplicationOutput, error) { req, out := c.DescribeApplicationRequest(input) err := req.Send() return out, err } const opDiscoverInputSchema = "DiscoverInputSchema" // DiscoverInputSchemaRequest generates a "aws/request.Request" representing the // client's request for the DiscoverInputSchema operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DiscoverInputSchema method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DiscoverInputSchemaRequest method. // req, resp := client.DiscoverInputSchemaRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) DiscoverInputSchemaRequest(input *DiscoverInputSchemaInput) (req *request.Request, output *DiscoverInputSchemaOutput) { op := &request.Operation{ Name: opDiscoverInputSchema, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DiscoverInputSchemaInput{} } req = c.newRequest(op, input, output) output = &DiscoverInputSchemaOutput{} req.Data = output return } // Infers a schema by evaluating sample records on the specified streaming source // (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream). In the // response, the operation returns the inferred schema and also the sample records // that the operation used to infer the schema. // // You can use the inferred schema when configuring a streaming source for // your application. For conceptual information, see Configuring Application // Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). // Note that when you create an application using the Amazon Kinesis Analytics // console, the console uses this operation to infer a schema and show it in // the console user interface. // // This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema // action. func (c *KinesisAnalytics) DiscoverInputSchema(input *DiscoverInputSchemaInput) (*DiscoverInputSchemaOutput, error) { req, out := c.DiscoverInputSchemaRequest(input) err := req.Send() return out, err } const opListApplications = "ListApplications" // ListApplicationsRequest generates a "aws/request.Request" representing the // client's request for the ListApplications operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListApplications method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListApplicationsRequest method. // req, resp := client.ListApplicationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) { op := &request.Operation{ Name: opListApplications, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ListApplicationsInput{} } req = c.newRequest(op, input, output) output = &ListApplicationsOutput{} req.Data = output return } // Returns a list of Amazon Kinesis Analytics applications in your account. // For each application, the response includes the application name, Amazon // Resource Name (ARN), and status. If the response returns the HasMoreApplications // value as true, you can send another request by adding the ExclusiveStartApplicationName // in the request body, and set the value of this to the last application name // from the previous response. // // If you want detailed information about a specific application, use DescribeApplication. // // This operation requires permissions to perform the kinesisanalytics:ListApplications // action. func (c *KinesisAnalytics) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) { req, out := c.ListApplicationsRequest(input) err := req.Send() return out, err } const opStartApplication = "StartApplication" // StartApplicationRequest generates a "aws/request.Request" representing the // client's request for the StartApplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the StartApplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the StartApplicationRequest method. // req, resp := client.StartApplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) StartApplicationRequest(input *StartApplicationInput) (req *request.Request, output *StartApplicationOutput) { op := &request.Operation{ Name: opStartApplication, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &StartApplicationInput{} } req = c.newRequest(op, input, output) output = &StartApplicationOutput{} req.Data = output return } // Starts the specified Amazon Kinesis Analytics application. After creating // an application, you must exclusively call this operation to start your application. // // After the application starts, it begins consuming the input data, processes // it, and writes the output to the configured destination. // // The application status must be READY for you to start an application. You // can get the application status in the console or using the DescribeApplication // operation. // // After you start the application, you can stop the application from processing // the input by calling the StopApplication operation. // // This operation requires permissions to perform the kinesisanalytics:StartApplication // action. func (c *KinesisAnalytics) StartApplication(input *StartApplicationInput) (*StartApplicationOutput, error) { req, out := c.StartApplicationRequest(input) err := req.Send() return out, err } const opStopApplication = "StopApplication" // StopApplicationRequest generates a "aws/request.Request" representing the // client's request for the StopApplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the StopApplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the StopApplicationRequest method. // req, resp := client.StopApplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) StopApplicationRequest(input *StopApplicationInput) (req *request.Request, output *StopApplicationOutput) { op := &request.Operation{ Name: opStopApplication, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &StopApplicationInput{} } req = c.newRequest(op, input, output) output = &StopApplicationOutput{} req.Data = output return } // Stops the application from processing input data. You can stop an application // only if it is in the running state. You can use the DescribeApplication operation // to find the application state. After the application is stopped, Amazon Kinesis // Analytics stops reading data from the input, the application stops processing // data, and there is no output written to the destination. // // This operation requires permissions to perform the kinesisanalytics:StopApplication // action. func (c *KinesisAnalytics) StopApplication(input *StopApplicationInput) (*StopApplicationOutput, error) { req, out := c.StopApplicationRequest(input) err := req.Send() return out, err } const opUpdateApplication = "UpdateApplication" // UpdateApplicationRequest generates a "aws/request.Request" representing the // client's request for the UpdateApplication operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the UpdateApplication method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the UpdateApplicationRequest method. // req, resp := client.UpdateApplicationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *KinesisAnalytics) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { op := &request.Operation{ Name: opUpdateApplication, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UpdateApplicationInput{} } req = c.newRequest(op, input, output) output = &UpdateApplicationOutput{} req.Data = output return } // Updates an existing Kinesis Analytics application. Using this API, you can // update application code, input configuration, and output configuration. // // Note that Kinesis Analytics updates the CurrentApplicationVersionId each // time you update your application. // // This opeation requires permission for the kinesisanalytics:UpdateApplication // action. func (c *KinesisAnalytics) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) { req, out := c.UpdateApplicationRequest(input) err := req.Send() return out, err } type AddApplicationInputInput struct { _ struct{} `type:"structure"` // Name of your existing Amazon Kinesis Analytics application to which you want // to add the streaming source. ApplicationName *string `min:"1" type:"string" required:"true"` // Current version of your Amazon Kinesis Analytics application. You can use // the DescribeApplication operation to find the current application version. CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` // When you configure the application input, you specify the streaming source, // the in-application stream name that is created, and the mapping between the // two. For more information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). Input *Input `type:"structure" required:"true"` } // String returns the string representation func (s AddApplicationInputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AddApplicationInputInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AddApplicationInputInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AddApplicationInputInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.CurrentApplicationVersionId == nil { invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) } if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) } if s.Input == nil { invalidParams.Add(request.NewErrParamRequired("Input")) } if s.Input != nil { if err := s.Input.Validate(); err != nil { invalidParams.AddNested("Input", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type AddApplicationInputOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s AddApplicationInputOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AddApplicationInputOutput) GoString() string { return s.String() } type AddApplicationOutputInput struct { _ struct{} `type:"structure"` // Name of the application to which you want to add the output configuration. ApplicationName *string `min:"1" type:"string" required:"true"` // Version of the application to which you want add the output configuration. // You can use the DescribeApplication operation to get the current application // version. If the version specified is not the current version, the ConcurrentModificationException // is returned. CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` // An array of objects, each describing one output configuration. In the output // configuration, you specify the name of an in-application stream, a destination // (that is, an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery // stream), and record the formation to use when writing to the destination. Output *Output `type:"structure" required:"true"` } // String returns the string representation func (s AddApplicationOutputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AddApplicationOutputInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AddApplicationOutputInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AddApplicationOutputInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.CurrentApplicationVersionId == nil { invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) } if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) } if s.Output == nil { invalidParams.Add(request.NewErrParamRequired("Output")) } if s.Output != nil { if err := s.Output.Validate(); err != nil { invalidParams.AddNested("Output", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type AddApplicationOutputOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s AddApplicationOutputOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AddApplicationOutputOutput) GoString() string { return s.String() } type AddApplicationReferenceDataSourceInput struct { _ struct{} `type:"structure"` // Name of an existing application. ApplicationName *string `min:"1" type:"string" required:"true"` // Version of the application for which you are adding the reference data source. // You can use the DescribeApplication operation to get the current application // version. If the version specified is not the current version, the ConcurrentModificationException // is returned. CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` // The reference data source can be an object in your Amazon S3 bucket. Amazon // Kinesis Analytics reads the object and copies the data into the in-application // table that is created. You provide an S3 bucket, object key name, and the // resulting in-application table that is created. You must also provide an // IAM role with the necessary permissions that Amazon Kinesis Analytics can // assume to read the object from your S3 bucket on your behalf. ReferenceDataSource *ReferenceDataSource `type:"structure" required:"true"` } // String returns the string representation func (s AddApplicationReferenceDataSourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AddApplicationReferenceDataSourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AddApplicationReferenceDataSourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AddApplicationReferenceDataSourceInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.CurrentApplicationVersionId == nil { invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) } if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) } if s.ReferenceDataSource == nil { invalidParams.Add(request.NewErrParamRequired("ReferenceDataSource")) } if s.ReferenceDataSource != nil { if err := s.ReferenceDataSource.Validate(); err != nil { invalidParams.AddNested("ReferenceDataSource", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type AddApplicationReferenceDataSourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s AddApplicationReferenceDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AddApplicationReferenceDataSourceOutput) GoString() string { return s.String() } // Provides a description of the application, including the application Amazon // Resource Name (ARN), status, latest version, and input and output configuration. type ApplicationDetail struct { _ struct{} `type:"structure"` // ARN of the application. ApplicationARN *string `min:"1" type:"string" required:"true"` // Returns the application code that you provided to perform data analysis on // any of the in-application streams in your application. ApplicationCode *string `type:"string"` // Description of the application. ApplicationDescription *string `type:"string"` // Name of the application. ApplicationName *string `min:"1" type:"string" required:"true"` // Status of the application. ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"` // Provides the current application version. ApplicationVersionId *int64 `min:"1" type:"long" required:"true"` // Timestamp when the application version was created. CreateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` // Describes the application input configuration. For more information, see // Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). InputDescriptions []*InputDescription `type:"list"` // Timestamp when the application was last updated. LastUpdateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` // Describes the application output configuration. For more information, see // Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). OutputDescriptions []*OutputDescription `type:"list"` // Describes reference data sources configured for the application. For more // information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). ReferenceDataSourceDescriptions []*ReferenceDataSourceDescription `type:"list"` } // String returns the string representation func (s ApplicationDetail) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ApplicationDetail) GoString() string { return s.String() } // Provides application summary information, including the application Amazon // Resource Name (ARN), name, and status. type ApplicationSummary struct { _ struct{} `type:"structure"` // ARN of the application. ApplicationARN *string `min:"1" type:"string" required:"true"` // Name of the application. ApplicationName *string `min:"1" type:"string" required:"true"` // Status of the application. ApplicationStatus *string `type:"string" required:"true" enum:"ApplicationStatus"` } // String returns the string representation func (s ApplicationSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ApplicationSummary) GoString() string { return s.String() } // Describes updates to apply to an existing Kinesis Analytics application. type ApplicationUpdate struct { _ struct{} `type:"structure"` // Describes application code updates. ApplicationCodeUpdate *string `type:"string"` // Describes application input configuration updates. InputUpdates []*InputUpdate `type:"list"` // Describes application output configuration updates. OutputUpdates []*OutputUpdate `type:"list"` // Describes application reference data source updates. ReferenceDataSourceUpdates []*ReferenceDataSourceUpdate `type:"list"` } // String returns the string representation func (s ApplicationUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ApplicationUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ApplicationUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ApplicationUpdate"} if s.InputUpdates != nil { for i, v := range s.InputUpdates { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputUpdates", i), err.(request.ErrInvalidParams)) } } } if s.OutputUpdates != nil { for i, v := range s.OutputUpdates { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputUpdates", i), err.(request.ErrInvalidParams)) } } } if s.ReferenceDataSourceUpdates != nil { for i, v := range s.ReferenceDataSourceUpdates { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReferenceDataSourceUpdates", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Provides additional mapping information when the record format uses delimiters, // such as CSV. For example, the following sample records use CSV format, where // the records use the '\n' as the row delimiter and a comma (",") as the column // delimiter: // // "name1", "address1" // // "name2, "address2" type CSVMappingParameters struct { _ struct{} `type:"structure"` // Column delimiter. For example, in a CSV format, a comma (",") is the typical // column delimiter. RecordColumnDelimiter *string `type:"string" required:"true"` // Row delimiter. For example, in a CSV format, '\n' is the typical row delimiter. RecordRowDelimiter *string `type:"string" required:"true"` } // String returns the string representation func (s CSVMappingParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CSVMappingParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CSVMappingParameters) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CSVMappingParameters"} if s.RecordColumnDelimiter == nil { invalidParams.Add(request.NewErrParamRequired("RecordColumnDelimiter")) } if s.RecordRowDelimiter == nil { invalidParams.Add(request.NewErrParamRequired("RecordRowDelimiter")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // TBD type CreateApplicationInput struct { _ struct{} `type:"structure"` // One or more SQL statements that read input data, transform it, and generate // output. For example, you can write a SQL statement that reads input data // and generates a running average of the number of advertisement clicks by // vendor. // // You can also provide a series of SQL statements, where output of one statement // can be used as the input for the next statement. // // Note that the application code must create the streams with names specified // in the Outputs. For example, if your Outputs defines output streams named // ExampleOutputStream1 and ExampleOutputStream2, then your application code // must create these streams. ApplicationCode *string `type:"string"` // Summary description of the application. ApplicationDescription *string `type:"string"` // Name of your Amazon Kinesis Analytics application (for example, sample-app). ApplicationName *string `min:"1" type:"string" required:"true"` // Use this parameter to configure the application input. // // You can configure your application to receive input from a single streaming // source. In this configuration, you map this streaming source to an in-application // stream that is created. Your application code can then query the in-application // stream like a table (you can think of it as a constantly updating table). // // For the streaming source, you provide its Amazon Resource Name (ARN) and // format of data on the stream (for example, JSON, CSV, etc). You also must // provide an IAM role that Amazon Kinesis Analytics can assume to read this // stream on your behalf. // // To create the in-application stream, you need to specify a schema to transform // your data into a schematized version used in SQL. In the schema, you provide // the necessary mapping of the data elements in the streaming source to record // columns in the in-app stream. Inputs []*Input `type:"list"` // You can configure application output to write data from any of the in-application // streams to up to five destinations. // // These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose // delivery streams, or both. // // In the configuration, you specify the in-application stream name, the destination // stream Amazon Resource Name (ARN), and the format to use when writing data. // You must also provide an IAM role that Amazon Kinesis Analytics can assume // to write to the destination stream on your behalf. // // In the output configuration, you also provide the output stream Amazon Resource // Name (ARN) and the format of data in the stream (for example, JSON, CSV). // You also must provide an IAM role that Amazon Kinesis Analytics can assume // to write to this stream on your behalf. Outputs []*Output `type:"list"` } // String returns the string representation func (s CreateApplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateApplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.Inputs != nil { for i, v := range s.Inputs { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams)) } } } if s.Outputs != nil { for i, v := range s.Outputs { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // TBD type CreateApplicationOutput struct { _ struct{} `type:"structure"` // In response to your CreateApplication request, Amazon Kinesis Analytics returns // a response with a summary of the application it created, including the application // Amazon Resource Name (ARN), name, and status. ApplicationSummary *ApplicationSummary `type:"structure" required:"true"` } // String returns the string representation func (s CreateApplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateApplicationOutput) GoString() string { return s.String() } type DeleteApplicationInput struct { _ struct{} `type:"structure"` // Name of the Amazon Kinesis Analytics application to delete. ApplicationName *string `min:"1" type:"string" required:"true"` // You can use the DescribeApplication operation to get this value. CreateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` } // String returns the string representation func (s DeleteApplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteApplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.CreateTimestamp == nil { invalidParams.Add(request.NewErrParamRequired("CreateTimestamp")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteApplicationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteApplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteApplicationOutput) GoString() string { return s.String() } type DeleteApplicationOutputInput struct { _ struct{} `type:"structure"` // Amazon Kinesis Analytics application name. ApplicationName *string `min:"1" type:"string" required:"true"` // Amazon Kinesis Analytics application version. You can use the DescribeApplication // operation to get the current application version. If the version specified // is not the current version, the ConcurrentModificationException is returned. CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` // The ID of the configuration to delete. Each output configuration that is // added to the application, either when the application is created or later // using the AddApplicationOutput operation, has a unique ID. You need to provide // the ID to uniquely identify the output configuration that you want to delete // from the application configuration. You can use the DescribeApplication operation // to get the specific OutputId. OutputId *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s DeleteApplicationOutputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteApplicationOutputInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteApplicationOutputInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationOutputInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.CurrentApplicationVersionId == nil { invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) } if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) } if s.OutputId == nil { invalidParams.Add(request.NewErrParamRequired("OutputId")) } if s.OutputId != nil && len(*s.OutputId) < 1 { invalidParams.Add(request.NewErrParamMinLen("OutputId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteApplicationOutputOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteApplicationOutputOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteApplicationOutputOutput) GoString() string { return s.String() } type DeleteApplicationReferenceDataSourceInput struct { _ struct{} `type:"structure"` // Name of an existing application. ApplicationName *string `min:"1" type:"string" required:"true"` // Version of the application. You can use the DescribeApplication operation // to get the current application version. If the version specified is not the // current version, the ConcurrentModificationException is returned. CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` // ID of the reference data source. When you add a reference data source to // your application using the AddApplicationReferenceDataSource, Amazon Kinesis // Analytics assigns an ID. You can use the DescribeApplication operation to // get the reference ID. ReferenceId *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s DeleteApplicationReferenceDataSourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteApplicationReferenceDataSourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteApplicationReferenceDataSourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationReferenceDataSourceInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.CurrentApplicationVersionId == nil { invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) } if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) } if s.ReferenceId == nil { invalidParams.Add(request.NewErrParamRequired("ReferenceId")) } if s.ReferenceId != nil && len(*s.ReferenceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ReferenceId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteApplicationReferenceDataSourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteApplicationReferenceDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteApplicationReferenceDataSourceOutput) GoString() string { return s.String() } type DescribeApplicationInput struct { _ struct{} `type:"structure"` // Name of the application. ApplicationName *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s DescribeApplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeApplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DescribeApplicationOutput struct { _ struct{} `type:"structure"` // Provides a description of the application, such as the application Amazon // Resource Name (ARN), status, latest version, and input and output configuration // details. ApplicationDetail *ApplicationDetail `type:"structure" required:"true"` } // String returns the string representation func (s DescribeApplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeApplicationOutput) GoString() string { return s.String() } // Describes the data format when records are written to the destination. For // more information, see Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). type DestinationSchema struct { _ struct{} `type:"structure"` // Specifies the format of the records on the output stream. RecordFormatType *string `type:"string" enum:"RecordFormatType"` } // String returns the string representation func (s DestinationSchema) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DestinationSchema) GoString() string { return s.String() } type DiscoverInputSchemaInput struct { _ struct{} `type:"structure"` // Point at which you want Amazon Kinesis Analytics to start reading records // from the specified streaming source discovery purposes. InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure" required:"true"` // Amazon Resource Name (ARN) of the streaming source. ResourceARN *string `min:"1" type:"string" required:"true"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream on your behalf. RoleARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s DiscoverInputSchemaInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DiscoverInputSchemaInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DiscoverInputSchemaInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DiscoverInputSchemaInput"} if s.InputStartingPositionConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("InputStartingPositionConfiguration")) } if s.ResourceARN == nil { invalidParams.Add(request.NewErrParamRequired("ResourceARN")) } if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) } if s.RoleARN == nil { invalidParams.Add(request.NewErrParamRequired("RoleARN")) } if s.RoleARN != nil && len(*s.RoleARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DiscoverInputSchemaOutput struct { _ struct{} `type:"structure"` // Schema inferred from the streaming source. It identifies the format of the // data in the streaming source and how each data element maps to corresponding // columns in the in-application stream that you can create. InputSchema *SourceSchema `type:"structure"` // An array of elements, where each element corresponds to a row in a stream // record (a stream record can have more than one row). ParsedInputRecords [][]*string `type:"list"` // Raw stream data that was sampled to infer the schema. RawInputRecords []*string `type:"list"` } // String returns the string representation func (s DiscoverInputSchemaOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DiscoverInputSchemaOutput) GoString() string { return s.String() } // When you configure the application input, you specify the streaming source, // the in-application stream name that is created, and the mapping between the // two. For more information, see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). type Input struct { _ struct{} `type:"structure"` // Describes the number of in-application streams to create. // // Data from your source will be routed to these in-application input streams. // // (see Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). InputParallelism *InputParallelism `type:"structure"` // Describes the format of the data in the streaming source, and how each data // element maps to corresponding columns in the in-application stream that is // being created. // // Also used to describe the format of the reference data source. InputSchema *SourceSchema `type:"structure"` // If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies // the Firehose delivery stream's ARN and an IAM role that enables Amazon Kinesis // Analytics to access the stream on your behalf. KinesisFirehoseInput *KinesisFirehoseInput `type:"structure"` // If the streaming source is an Amazon Kinesis stream, identifies the stream's // Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics // to access the stream on your behalf. KinesisStreamsInput *KinesisStreamsInput `type:"structure"` // Name prefix to use when creating in-application stream. Suppose you specify // a prefix "MyInApplicationStream". Kinesis Analytics will then create one // or more (as per the InputParallelism count you specified) in-application // streams with names "MyInApplicationStream_001", "MyInApplicationStream_002" // and so on. NamePrefix *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s Input) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Input) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Input) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Input"} if s.NamePrefix == nil { invalidParams.Add(request.NewErrParamRequired("NamePrefix")) } if s.NamePrefix != nil && len(*s.NamePrefix) < 1 { invalidParams.Add(request.NewErrParamMinLen("NamePrefix", 1)) } if s.InputParallelism != nil { if err := s.InputParallelism.Validate(); err != nil { invalidParams.AddNested("InputParallelism", err.(request.ErrInvalidParams)) } } if s.InputSchema != nil { if err := s.InputSchema.Validate(); err != nil { invalidParams.AddNested("InputSchema", err.(request.ErrInvalidParams)) } } if s.KinesisFirehoseInput != nil { if err := s.KinesisFirehoseInput.Validate(); err != nil { invalidParams.AddNested("KinesisFirehoseInput", err.(request.ErrInvalidParams)) } } if s.KinesisStreamsInput != nil { if err := s.KinesisStreamsInput.Validate(); err != nil { invalidParams.AddNested("KinesisStreamsInput", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // When you start your application, you provide this configuration, which identifies // the input source and the point in the input source at which you want the // application to start processing records. type InputConfiguration struct { _ struct{} `type:"structure"` // Input source ID. You can get this ID by calling the DescribeApplication operation. Id *string `min:"1" type:"string" required:"true"` // Point at which you want the application to start processing records from // the streaming source. InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure" required:"true"` } // String returns the string representation func (s InputConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InputConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *InputConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InputConfiguration"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if s.InputStartingPositionConfiguration == nil { invalidParams.Add(request.NewErrParamRequired("InputStartingPositionConfiguration")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the application input configuration. For more information, see // Configuring Application Input (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). type InputDescription struct { _ struct{} `type:"structure"` // Returns the in-application stream names that are mapped to the stream source. InAppStreamNames []*string `type:"list"` // Input ID associated with the application input. This is the ID that Amazon // Kinesis Analytics assigns to each input configuration you add to your application. InputId *string `min:"1" type:"string"` // Describes the configured parallelism (number of in-application streams mapped // to the streaming source). InputParallelism *InputParallelism `type:"structure"` // Describes the format of the data in the streaming source, and how each data // element maps to corresponding columns created in the in-application stream. InputSchema *SourceSchema `type:"structure"` // Point at which the application is configured to read from the input stream. InputStartingPositionConfiguration *InputStartingPositionConfiguration `type:"structure"` // If an Amazon Kinesis Firehose delivery stream is configured as a streaming // source, provides the Firehose delivery stream's Amazon Resource Name (ARN) // and an IAM role that enables Amazon Kinesis Analytics to access the stream // on your behalf. KinesisFirehoseInputDescription *KinesisFirehoseInputDescription `type:"structure"` // If an Amazon Kinesis stream is configured as streaming source, provides Amazon // Kinesis stream's ARN and an IAM role that enables Amazon Kinesis Analytics // to access the stream on your behalf. KinesisStreamsInputDescription *KinesisStreamsInputDescription `type:"structure"` // In-application name prefix. NamePrefix *string `min:"1" type:"string"` } // String returns the string representation func (s InputDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InputDescription) GoString() string { return s.String() } // Describes the number of in-application streams to create for a given streaming // source. For information about parallellism, see Configuring Application Input // (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html). type InputParallelism struct { _ struct{} `type:"structure"` // Number of in-application streams to create. For more information, see Limits // (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/limits.html). Count *int64 `min:"1" type:"integer"` } // String returns the string representation func (s InputParallelism) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InputParallelism) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *InputParallelism) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InputParallelism"} if s.Count != nil && *s.Count < 1 { invalidParams.Add(request.NewErrParamMinValue("Count", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Provides updates to the parallelism count. type InputParallelismUpdate struct { _ struct{} `type:"structure"` // Number of in-application streams to create for the specified streaming source. CountUpdate *int64 `min:"1" type:"integer"` } // String returns the string representation func (s InputParallelismUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InputParallelismUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *InputParallelismUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InputParallelismUpdate"} if s.CountUpdate != nil && *s.CountUpdate < 1 { invalidParams.Add(request.NewErrParamMinValue("CountUpdate", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes updates for the application's input schema. type InputSchemaUpdate struct { _ struct{} `type:"structure"` // A list of RecordColumn objects. Each object describes the mapping of the // streaming source element to the corresponding column in the in-application // stream. RecordColumnUpdates []*RecordColumn `min:"1" type:"list"` // Specifies the encoding of the records in the streaming source. For example, // UTF-8. RecordEncodingUpdate *string `type:"string"` // Specifies the format of the records on the streaming source. RecordFormatUpdate *RecordFormat `type:"structure"` } // String returns the string representation func (s InputSchemaUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InputSchemaUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *InputSchemaUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InputSchemaUpdate"} if s.RecordColumnUpdates != nil && len(s.RecordColumnUpdates) < 1 { invalidParams.Add(request.NewErrParamMinLen("RecordColumnUpdates", 1)) } if s.RecordColumnUpdates != nil { for i, v := range s.RecordColumnUpdates { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecordColumnUpdates", i), err.(request.ErrInvalidParams)) } } } if s.RecordFormatUpdate != nil { if err := s.RecordFormatUpdate.Validate(); err != nil { invalidParams.AddNested("RecordFormatUpdate", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the point at which the application reads from the streaming source. type InputStartingPositionConfiguration struct { _ struct{} `type:"structure"` // The starting position on the stream. // // LATEST - Start reading just after the most recent record in the stream. // // TRIM_HORIZON - Start reading at the last untrimmed record in the stream, // which is the oldest record available in the stream. This option is not available // for an Amazon Kinesis Firehose delivery stream. // // LAST_STOPPED_POINT - Resume reading from where the application last stopped // reading. InputStartingPosition *string `type:"string" enum:"InputStartingPosition"` } // String returns the string representation func (s InputStartingPositionConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InputStartingPositionConfiguration) GoString() string { return s.String() } // Describes updates to a specific input configuration (identified by the InputId // of an application). type InputUpdate struct { _ struct{} `type:"structure"` // Input ID of the application input to be updated. InputId *string `min:"1" type:"string" required:"true"` // Describes the parallelism updates (the number in-application streams Kinesis // Analytics creates for the specific streaming source). InputParallelismUpdate *InputParallelismUpdate `type:"structure"` // Describes the data format on the streaming source, and how record elements // on the streaming source map to columns of the in-application stream that // is created. InputSchemaUpdate *InputSchemaUpdate `type:"structure"` // If an Amazon Kinesis Firehose delivery stream is the streaming source to // be updated, provides an updated stream Amazon Resource Name (ARN) and IAM // role ARN. KinesisFirehoseInputUpdate *KinesisFirehoseInputUpdate `type:"structure"` // If a Amazon Kinesis stream is the streaming source to be updated, provides // an updated stream ARN and IAM role ARN. KinesisStreamsInputUpdate *KinesisStreamsInputUpdate `type:"structure"` // Name prefix for in-application stream(s) that Kinesis Analytics creates for // the specific streaming source. NamePrefixUpdate *string `min:"1" type:"string"` } // String returns the string representation func (s InputUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InputUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *InputUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InputUpdate"} if s.InputId == nil { invalidParams.Add(request.NewErrParamRequired("InputId")) } if s.InputId != nil && len(*s.InputId) < 1 { invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) } if s.NamePrefixUpdate != nil && len(*s.NamePrefixUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("NamePrefixUpdate", 1)) } if s.InputParallelismUpdate != nil { if err := s.InputParallelismUpdate.Validate(); err != nil { invalidParams.AddNested("InputParallelismUpdate", err.(request.ErrInvalidParams)) } } if s.InputSchemaUpdate != nil { if err := s.InputSchemaUpdate.Validate(); err != nil { invalidParams.AddNested("InputSchemaUpdate", err.(request.ErrInvalidParams)) } } if s.KinesisFirehoseInputUpdate != nil { if err := s.KinesisFirehoseInputUpdate.Validate(); err != nil { invalidParams.AddNested("KinesisFirehoseInputUpdate", err.(request.ErrInvalidParams)) } } if s.KinesisStreamsInputUpdate != nil { if err := s.KinesisStreamsInputUpdate.Validate(); err != nil { invalidParams.AddNested("KinesisStreamsInputUpdate", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Provides additional mapping information when JSON is the record format on // the streaming source. type JSONMappingParameters struct { _ struct{} `type:"structure"` // Path to the top-level parent that contains the records. // // For example, consider the following JSON record: // // In the RecordRowPath, "$" refers to the root and path "$.vehicle.Model" // refers to the specific "Model" key in the JSON. RecordRowPath *string `type:"string" required:"true"` } // String returns the string representation func (s JSONMappingParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s JSONMappingParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *JSONMappingParameters) Validate() error { invalidParams := request.ErrInvalidParams{Context: "JSONMappingParameters"} if s.RecordRowPath == nil { invalidParams.Add(request.NewErrParamRequired("RecordRowPath")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Identifies an Amazon Kinesis Firehose delivery stream as the streaming source. // You provide the Firehose delivery stream's Amazon Resource Name (ARN) and // an IAM role ARN that enables Amazon Kinesis Analytics to access the stream // on your behalf. type KinesisFirehoseInput struct { _ struct{} `type:"structure"` // ARN of the input Firehose delivery stream. ResourceARN *string `min:"1" type:"string" required:"true"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream on your behalf. You need to make sure the role has necessary permissions // to access the stream. RoleARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s KinesisFirehoseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisFirehoseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *KinesisFirehoseInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseInput"} if s.ResourceARN == nil { invalidParams.Add(request.NewErrParamRequired("ResourceARN")) } if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) } if s.RoleARN == nil { invalidParams.Add(request.NewErrParamRequired("RoleARN")) } if s.RoleARN != nil && len(*s.RoleARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the Amazon Kinesis Firehose delivery stream that is configured // as the streaming source in the application input configuration. type KinesisFirehoseInputDescription struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream. ResourceARN *string `min:"1" type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics assumes to access the stream. RoleARN *string `min:"1" type:"string"` } // String returns the string representation func (s KinesisFirehoseInputDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisFirehoseInputDescription) GoString() string { return s.String() } // When updating application input configuration, provides information about // an Amazon Kinesis Firehose delivery stream as the streaming source. type KinesisFirehoseInputUpdate struct { _ struct{} `type:"structure"` // ARN of the input Amazon Kinesis Firehose delivery stream to read. ResourceARNUpdate *string `min:"1" type:"string"` // Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Analytics // can assume to access the stream on your behalf. You need to grant necessary // permissions to this role. RoleARNUpdate *string `min:"1" type:"string"` } // String returns the string representation func (s KinesisFirehoseInputUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisFirehoseInputUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *KinesisFirehoseInputUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseInputUpdate"} if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) } if s.RoleARNUpdate != nil && len(*s.RoleARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARNUpdate", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // When configuring application output, identifies an Amazon Kinesis Firehose // delivery stream as the destination. You provide the stream Amazon Resource // Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to write // to the stream on your behalf. type KinesisFirehoseOutput struct { _ struct{} `type:"structure"` // ARN of the destination Amazon Kinesis Firehose delivery stream to write to. ResourceARN *string `min:"1" type:"string" required:"true"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to write to // the destination stream on your behalf. You need to grant the necessary permissions // to this role. RoleARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s KinesisFirehoseOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisFirehoseOutput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *KinesisFirehoseOutput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseOutput"} if s.ResourceARN == nil { invalidParams.Add(request.NewErrParamRequired("ResourceARN")) } if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) } if s.RoleARN == nil { invalidParams.Add(request.NewErrParamRequired("RoleARN")) } if s.RoleARN != nil && len(*s.RoleARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // For an application output, describes the Amazon Kinesis Firehose delivery // stream configured as its destination. type KinesisFirehoseOutputDescription struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream. ResourceARN *string `min:"1" type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream. RoleARN *string `min:"1" type:"string"` } // String returns the string representation func (s KinesisFirehoseOutputDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisFirehoseOutputDescription) GoString() string { return s.String() } // When updating an output configuration using the UpdateApplication operation, // provides information about an Amazon Kinesis Firehose delivery stream configured // as the destination. type KinesisFirehoseOutputUpdate struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream // to write to. ResourceARNUpdate *string `min:"1" type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream on your behalf. You need to grant necessary permissions to this role. RoleARNUpdate *string `min:"1" type:"string"` } // String returns the string representation func (s KinesisFirehoseOutputUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisFirehoseOutputUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *KinesisFirehoseOutputUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseOutputUpdate"} if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) } if s.RoleARNUpdate != nil && len(*s.RoleARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARNUpdate", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Identifies an Amazon Kinesis stream as the streaming source. You provide // the stream's ARN and an IAM role ARN that enables Amazon Kinesis Analytics // to access the stream on your behalf. type KinesisStreamsInput struct { _ struct{} `type:"structure"` // ARN of the input Amazon Kinesis stream to read. ResourceARN *string `min:"1" type:"string" required:"true"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream on your behalf. You need to grant the necessary permissions to this // role. RoleARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s KinesisStreamsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisStreamsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *KinesisStreamsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsInput"} if s.ResourceARN == nil { invalidParams.Add(request.NewErrParamRequired("ResourceARN")) } if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) } if s.RoleARN == nil { invalidParams.Add(request.NewErrParamRequired("RoleARN")) } if s.RoleARN != nil && len(*s.RoleARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the Amazon Kinesis stream that is configured as the streaming source // in the application input configuration. type KinesisStreamsInputDescription struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the Amazon Kinesis stream. ResourceARN *string `min:"1" type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream. RoleARN *string `min:"1" type:"string"` } // String returns the string representation func (s KinesisStreamsInputDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisStreamsInputDescription) GoString() string { return s.String() } // When updating application input configuration, provides information about // an Amazon Kinesis stream as the streaming source. type KinesisStreamsInputUpdate struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the input Amazon Kinesis stream to read. ResourceARNUpdate *string `min:"1" type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream on your behalf. You need to grant the necessary permissions to this // role. RoleARNUpdate *string `min:"1" type:"string"` } // String returns the string representation func (s KinesisStreamsInputUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisStreamsInputUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *KinesisStreamsInputUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsInputUpdate"} if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) } if s.RoleARNUpdate != nil && len(*s.RoleARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARNUpdate", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // When configuring application output, identifies a Amazon Kinesis stream as // the destination. You provide the stream Amazon Resource Name (ARN) and also // an IAM role ARN that Amazon Kinesis Analytics can use to write to the stream // on your behalf. type KinesisStreamsOutput struct { _ struct{} `type:"structure"` // ARN of the destination Amazon Kinesis stream to write to. ResourceARN *string `min:"1" type:"string" required:"true"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to write to // the destination stream on your behalf. You need to grant the necessary permissions // to this role. RoleARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s KinesisStreamsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisStreamsOutput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *KinesisStreamsOutput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsOutput"} if s.ResourceARN == nil { invalidParams.Add(request.NewErrParamRequired("ResourceARN")) } if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) } if s.RoleARN == nil { invalidParams.Add(request.NewErrParamRequired("RoleARN")) } if s.RoleARN != nil && len(*s.RoleARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // For an application output, describes the Amazon Kinesis stream configured // as its destination. type KinesisStreamsOutputDescription struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the Amazon Kinesis stream. ResourceARN *string `min:"1" type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream. RoleARN *string `min:"1" type:"string"` } // String returns the string representation func (s KinesisStreamsOutputDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisStreamsOutputDescription) GoString() string { return s.String() } // When updating an output configuration using the UpdateApplication operation, // provides information about an Amazon Kinesis stream configured as the destination. type KinesisStreamsOutputUpdate struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the Amazon Kinesis stream where you want to // write the output. ResourceARNUpdate *string `min:"1" type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to access the // stream on your behalf. You need to grant the necessary permissions to this // role. RoleARNUpdate *string `min:"1" type:"string"` } // String returns the string representation func (s KinesisStreamsOutputUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KinesisStreamsOutputUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *KinesisStreamsOutputUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KinesisStreamsOutputUpdate"} if s.ResourceARNUpdate != nil && len(*s.ResourceARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARNUpdate", 1)) } if s.RoleARNUpdate != nil && len(*s.RoleARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleARNUpdate", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ListApplicationsInput struct { _ struct{} `type:"structure"` // Name of the application to start the list with. When using pagination to // retrieve the list, you don't need to specify this parameter in the first // request. However, in subsequent requests, you add the last application name // from the previous response to get the next page of applications. ExclusiveStartApplicationName *string `min:"1" type:"string"` // Maximum number of applications to list. Limit *int64 `min:"1" type:"integer"` } // String returns the string representation func (s ListApplicationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListApplicationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListApplicationsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"} if s.ExclusiveStartApplicationName != nil && len(*s.ExclusiveStartApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartApplicationName", 1)) } if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ListApplicationsOutput struct { _ struct{} `type:"structure"` // List of ApplicationSummary objects. ApplicationSummaries []*ApplicationSummary `type:"list" required:"true"` // Returns true if there are more applications to retrieve. HasMoreApplications *bool `type:"boolean" required:"true"` } // String returns the string representation func (s ListApplicationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListApplicationsOutput) GoString() string { return s.String() } // When configuring application input at the time of creating or updating an // application, provides additional mapping information specific to the record // format (such as JSON, CSV, or record fields delimited by some delimiter) // on the streaming source. type MappingParameters struct { _ struct{} `type:"structure"` // Provides additional mapping information when the record format uses delimiters // (for example, CSV). CSVMappingParameters *CSVMappingParameters `type:"structure"` // Provides additional mapping information when JSON is the record format on // the streaming source. JSONMappingParameters *JSONMappingParameters `type:"structure"` } // String returns the string representation func (s MappingParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s MappingParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *MappingParameters) Validate() error { invalidParams := request.ErrInvalidParams{Context: "MappingParameters"} if s.CSVMappingParameters != nil { if err := s.CSVMappingParameters.Validate(); err != nil { invalidParams.AddNested("CSVMappingParameters", err.(request.ErrInvalidParams)) } } if s.JSONMappingParameters != nil { if err := s.JSONMappingParameters.Validate(); err != nil { invalidParams.AddNested("JSONMappingParameters", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes application output configuration in which you identify an in-application // stream and a destination where you want the in-application stream data to // be written. The destination can be an Amazon Kinesis stream or an Amazon // Kinesis Firehose delivery stream. // // You can configure your application to write output to up to five destinations. type Output struct { _ struct{} `type:"structure"` // Describes the data format when records are written to the destination. For // more information, see Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). DestinationSchema *DestinationSchema `type:"structure" required:"true"` // Identifies an Amazon Kinesis Firehose delivery stream as the destination. KinesisFirehoseOutput *KinesisFirehoseOutput `type:"structure"` // Identifies an Amazon Kinesis stream as the destination. KinesisStreamsOutput *KinesisStreamsOutput `type:"structure"` // Name of the in-application stream. Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s Output) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Output) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Output) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Output"} if s.DestinationSchema == nil { invalidParams.Add(request.NewErrParamRequired("DestinationSchema")) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.KinesisFirehoseOutput != nil { if err := s.KinesisFirehoseOutput.Validate(); err != nil { invalidParams.AddNested("KinesisFirehoseOutput", err.(request.ErrInvalidParams)) } } if s.KinesisStreamsOutput != nil { if err := s.KinesisStreamsOutput.Validate(); err != nil { invalidParams.AddNested("KinesisStreamsOutput", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the application output configuration, which includes the in-application // stream name and the destination where the stream data is written. The destination // can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream. type OutputDescription struct { _ struct{} `type:"structure"` // Data format used for writing data to the destination. DestinationSchema *DestinationSchema `type:"structure"` // Describes the Amazon Kinesis Firehose delivery stream configured as the destination // where output is written. KinesisFirehoseOutputDescription *KinesisFirehoseOutputDescription `type:"structure"` // Describes Amazon Kinesis stream configured as the destination where output // is written. KinesisStreamsOutputDescription *KinesisStreamsOutputDescription `type:"structure"` // Name of the in-application stream configured as output. Name *string `min:"1" type:"string"` // A unique identifier for the output configuration. OutputId *string `min:"1" type:"string"` } // String returns the string representation func (s OutputDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s OutputDescription) GoString() string { return s.String() } // Describes updates to the output configuration identified by the OutputId. type OutputUpdate struct { _ struct{} `type:"structure"` // Describes the data format when records are written to the destination. For // more information, see Configuring Application Output (http://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-output.html). DestinationSchemaUpdate *DestinationSchema `type:"structure"` // Describes a Amazon Kinesis Firehose delivery stream as the destination for // the output. KinesisFirehoseOutputUpdate *KinesisFirehoseOutputUpdate `type:"structure"` // Describes an Amazon Kinesis stream as the destination for the output. KinesisStreamsOutputUpdate *KinesisStreamsOutputUpdate `type:"structure"` // If you want to specify a different in-application stream for this output // configuration, use this field to specify the new in-application stream name. NameUpdate *string `min:"1" type:"string"` // Identifies the specific output configuration that you want to update. OutputId *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s OutputUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s OutputUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *OutputUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "OutputUpdate"} if s.NameUpdate != nil && len(*s.NameUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("NameUpdate", 1)) } if s.OutputId == nil { invalidParams.Add(request.NewErrParamRequired("OutputId")) } if s.OutputId != nil && len(*s.OutputId) < 1 { invalidParams.Add(request.NewErrParamMinLen("OutputId", 1)) } if s.KinesisFirehoseOutputUpdate != nil { if err := s.KinesisFirehoseOutputUpdate.Validate(); err != nil { invalidParams.AddNested("KinesisFirehoseOutputUpdate", err.(request.ErrInvalidParams)) } } if s.KinesisStreamsOutputUpdate != nil { if err := s.KinesisStreamsOutputUpdate.Validate(); err != nil { invalidParams.AddNested("KinesisStreamsOutputUpdate", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the mapping of each data element in the streaming source to the // corresponding column in the in-application stream. // // Also used to describe the format of the reference data source. type RecordColumn struct { _ struct{} `type:"structure"` // Reference to the data element in the streaming input of the reference data // source. Mapping *string `type:"string"` // Name of the column created in the in-application input stream or reference // table. Name *string `type:"string" required:"true"` // Type of column created in the in-application input stream or reference table. SqlType *string `type:"string" required:"true"` } // String returns the string representation func (s RecordColumn) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RecordColumn) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RecordColumn) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RecordColumn"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.SqlType == nil { invalidParams.Add(request.NewErrParamRequired("SqlType")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the record format and relevant mapping information that should // be applied to schematize the records on the stream. type RecordFormat struct { _ struct{} `type:"structure"` // When configuring application input at the time of creating or updating an // application, provides additional mapping information specific to the record // format (such as JSON, CSV, or record fields delimited by some delimiter) // on the streaming source. MappingParameters *MappingParameters `type:"structure"` // The type of record format. RecordFormatType *string `type:"string" required:"true" enum:"RecordFormatType"` } // String returns the string representation func (s RecordFormat) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RecordFormat) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RecordFormat) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RecordFormat"} if s.RecordFormatType == nil { invalidParams.Add(request.NewErrParamRequired("RecordFormatType")) } if s.MappingParameters != nil { if err := s.MappingParameters.Validate(); err != nil { invalidParams.AddNested("MappingParameters", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the reference data source by providing the source information (S3 // bucket name and object key name), the resulting in-application table name // that is created, and the necessary schema to map the data elements in the // Amazon S3 object to the in-application table. type ReferenceDataSource struct { _ struct{} `type:"structure"` // Describes the format of the data in the streaming source, and how each data // element maps to corresponding columns created in the in-application stream. ReferenceSchema *SourceSchema `type:"structure" required:"true"` // Identifies the S3 bucket and object that contains the reference data. Also // identifies the IAM role Amazon Kinesis Analytics can assume to read this // object on your behalf. // // An Amazon Kinesis Analytics application loads reference data only once. // If the data changes, you call the UpdateApplication operation to trigger // reloading of data into your application. S3ReferenceDataSource *S3ReferenceDataSource `type:"structure"` // Name of the in-application table to create. TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s ReferenceDataSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReferenceDataSource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ReferenceDataSource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ReferenceDataSource"} if s.ReferenceSchema == nil { invalidParams.Add(request.NewErrParamRequired("ReferenceSchema")) } if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } if s.TableName != nil && len(*s.TableName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if s.ReferenceSchema != nil { if err := s.ReferenceSchema.Validate(); err != nil { invalidParams.AddNested("ReferenceSchema", err.(request.ErrInvalidParams)) } } if s.S3ReferenceDataSource != nil { if err := s.S3ReferenceDataSource.Validate(); err != nil { invalidParams.AddNested("S3ReferenceDataSource", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the reference data source configured for an application. type ReferenceDataSourceDescription struct { _ struct{} `type:"structure"` // ID of the reference data source. This is the ID that Amazon Kinesis Analytics // assigns when you add the reference data source to your application using // the AddApplicationReferenceDataSource operation. ReferenceId *string `min:"1" type:"string" required:"true"` // Describes the format of the data in the streaming source, and how each data // element maps to corresponding columns created in the in-application stream. ReferenceSchema *SourceSchema `type:"structure"` // Provides the S3 bucket name, the object key name that contains the reference // data. It also provides the Amazon Resource Name (ARN) of the IAM role that // Amazon Kinesis Analytics can assume to read the Amazon S3 object and populate // the in-application reference table. S3ReferenceDataSourceDescription *S3ReferenceDataSourceDescription `type:"structure" required:"true"` // The in-application table name created by the specific reference data source // configuration. TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s ReferenceDataSourceDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReferenceDataSourceDescription) GoString() string { return s.String() } // When you update a reference data source configuration for an application, // this object provides all the updated values (such as the source bucket name // and object key name), the in-application table name that is created, and // updated mapping information that maps the data in the Amazon S3 object to // the in-application reference table that is created. type ReferenceDataSourceUpdate struct { _ struct{} `type:"structure"` // ID of the reference data source being updated. You can use the DescribeApplication // operation to get this value. ReferenceId *string `min:"1" type:"string" required:"true"` // Describes the format of the data in the streaming source, and how each data // element maps to corresponding columns created in the in-application stream. ReferenceSchemaUpdate *SourceSchema `type:"structure"` // Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis // Analytics can assume to read the Amazon S3 object on your behalf and populate // the in-application reference table. S3ReferenceDataSourceUpdate *S3ReferenceDataSourceUpdate `type:"structure"` // In-application table name that is created by this update. TableNameUpdate *string `min:"1" type:"string"` } // String returns the string representation func (s ReferenceDataSourceUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReferenceDataSourceUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ReferenceDataSourceUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ReferenceDataSourceUpdate"} if s.ReferenceId == nil { invalidParams.Add(request.NewErrParamRequired("ReferenceId")) } if s.ReferenceId != nil && len(*s.ReferenceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ReferenceId", 1)) } if s.TableNameUpdate != nil && len(*s.TableNameUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("TableNameUpdate", 1)) } if s.ReferenceSchemaUpdate != nil { if err := s.ReferenceSchemaUpdate.Validate(); err != nil { invalidParams.AddNested("ReferenceSchemaUpdate", err.(request.ErrInvalidParams)) } } if s.S3ReferenceDataSourceUpdate != nil { if err := s.S3ReferenceDataSourceUpdate.Validate(); err != nil { invalidParams.AddNested("S3ReferenceDataSourceUpdate", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // Identifies the S3 bucket and object that contains the reference data. Also // identifies the IAM role Amazon Kinesis Analytics can assume to read this // object on your behalf. // // An Amazon Kinesis Analytics application loads reference data only once. // If the data changes, you call the UpdateApplication operation to trigger // reloading of data into your application. type S3ReferenceDataSource struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the S3 bucket. BucketARN *string `min:"1" type:"string" required:"true"` // Object key name containing reference data. FileKey *string `type:"string" required:"true"` // ARN of the IAM role that the service can assume to read data on your behalf. // This role must have permission for the s3:GetObject action on the object // and trust policy that allows Amazon Kinesis Analytics service principal to // assume this role. ReferenceRoleARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s S3ReferenceDataSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s S3ReferenceDataSource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *S3ReferenceDataSource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "S3ReferenceDataSource"} if s.BucketARN == nil { invalidParams.Add(request.NewErrParamRequired("BucketARN")) } if s.BucketARN != nil && len(*s.BucketARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) } if s.FileKey == nil { invalidParams.Add(request.NewErrParamRequired("FileKey")) } if s.ReferenceRoleARN == nil { invalidParams.Add(request.NewErrParamRequired("ReferenceRoleARN")) } if s.ReferenceRoleARN != nil && len(*s.ReferenceRoleARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("ReferenceRoleARN", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Provides the bucket name and object key name that stores the reference data. type S3ReferenceDataSourceDescription struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the S3 bucket. BucketARN *string `min:"1" type:"string" required:"true"` // Amazon S3 object key name. FileKey *string `type:"string" required:"true"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to read the // Amazon S3 object on your behalf to populate the in-application reference // table. ReferenceRoleARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s S3ReferenceDataSourceDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s S3ReferenceDataSourceDescription) GoString() string { return s.String() } // Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis // Analytics can assume to read the Amazon S3 object on your behalf and populate // the in-application reference table. type S3ReferenceDataSourceUpdate struct { _ struct{} `type:"structure"` // Amazon Resource Name (ARN) of the S3 bucket. BucketARNUpdate *string `min:"1" type:"string"` // Object key name. FileKeyUpdate *string `type:"string"` // ARN of the IAM role that Amazon Kinesis Analytics can assume to read the // Amazon S3 object and populate the in-application. ReferenceRoleARNUpdate *string `min:"1" type:"string"` } // String returns the string representation func (s S3ReferenceDataSourceUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s S3ReferenceDataSourceUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *S3ReferenceDataSourceUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "S3ReferenceDataSourceUpdate"} if s.BucketARNUpdate != nil && len(*s.BucketARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("BucketARNUpdate", 1)) } if s.ReferenceRoleARNUpdate != nil && len(*s.ReferenceRoleARNUpdate) < 1 { invalidParams.Add(request.NewErrParamMinLen("ReferenceRoleARNUpdate", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Describes the format of the data in the streaming source, and how each data // element maps to corresponding columns created in the in-application stream. type SourceSchema struct { _ struct{} `type:"structure"` // A list of RecordColumn objects. RecordColumns []*RecordColumn `min:"1" type:"list" required:"true"` // Specifies the encoding of the records in the streaming source. For example, // UTF-8. RecordEncoding *string `type:"string"` // Specifies the format of the records on the streaming source. RecordFormat *RecordFormat `type:"structure" required:"true"` } // String returns the string representation func (s SourceSchema) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s SourceSchema) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *SourceSchema) Validate() error { invalidParams := request.ErrInvalidParams{Context: "SourceSchema"} if s.RecordColumns == nil { invalidParams.Add(request.NewErrParamRequired("RecordColumns")) } if s.RecordColumns != nil && len(s.RecordColumns) < 1 { invalidParams.Add(request.NewErrParamMinLen("RecordColumns", 1)) } if s.RecordFormat == nil { invalidParams.Add(request.NewErrParamRequired("RecordFormat")) } if s.RecordColumns != nil { for i, v := range s.RecordColumns { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RecordColumns", i), err.(request.ErrInvalidParams)) } } } if s.RecordFormat != nil { if err := s.RecordFormat.Validate(); err != nil { invalidParams.AddNested("RecordFormat", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type StartApplicationInput struct { _ struct{} `type:"structure"` // Name of the application. ApplicationName *string `min:"1" type:"string" required:"true"` // Identifies the specific input, by ID, that the application starts consuming. // Amazon Kinesis Analytics starts reading the streaming source associated with // the input. You can also specify where in the streaming source you want Amazon // Kinesis Analytics to start reading. InputConfigurations []*InputConfiguration `type:"list" required:"true"` } // String returns the string representation func (s StartApplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StartApplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StartApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartApplicationInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.InputConfigurations == nil { invalidParams.Add(request.NewErrParamRequired("InputConfigurations")) } if s.InputConfigurations != nil { for i, v := range s.InputConfigurations { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputConfigurations", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type StartApplicationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s StartApplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StartApplicationOutput) GoString() string { return s.String() } type StopApplicationInput struct { _ struct{} `type:"structure"` // Name of the running application to stop. ApplicationName *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s StopApplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StopApplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StopApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StopApplicationInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type StopApplicationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s StopApplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StopApplicationOutput) GoString() string { return s.String() } type UpdateApplicationInput struct { _ struct{} `type:"structure"` // Name of the Kinesis Analytics application to update. ApplicationName *string `min:"1" type:"string" required:"true"` // Describes application updates. ApplicationUpdate *ApplicationUpdate `type:"structure" required:"true"` // The current application version ID. You can use the DescribeApplication operation // to get this value. CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` } // String returns the string representation func (s UpdateApplicationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateApplicationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"} if s.ApplicationName == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationName")) } if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) } if s.ApplicationUpdate == nil { invalidParams.Add(request.NewErrParamRequired("ApplicationUpdate")) } if s.CurrentApplicationVersionId == nil { invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) } if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) } if s.ApplicationUpdate != nil { if err := s.ApplicationUpdate.Validate(); err != nil { invalidParams.AddNested("ApplicationUpdate", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } type UpdateApplicationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s UpdateApplicationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateApplicationOutput) GoString() string { return s.String() } const ( // @enum ApplicationStatus ApplicationStatusDeleting = "DELETING" // @enum ApplicationStatus ApplicationStatusStarting = "STARTING" // @enum ApplicationStatus ApplicationStatusStopping = "STOPPING" // @enum ApplicationStatus ApplicationStatusReady = "READY" // @enum ApplicationStatus ApplicationStatusRunning = "RUNNING" // @enum ApplicationStatus ApplicationStatusUpdating = "UPDATING" ) const ( // @enum InputStartingPosition InputStartingPositionNow = "NOW" // @enum InputStartingPosition InputStartingPositionTrimHorizon = "TRIM_HORIZON" // @enum InputStartingPosition InputStartingPositionLastStoppedPoint = "LAST_STOPPED_POINT" ) const ( // @enum RecordFormatType RecordFormatTypeJson = "JSON" // @enum RecordFormatType RecordFormatTypeCsv = "CSV" )