1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package firehose 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opCreateDeliveryStream = "CreateDeliveryStream" 17 18// CreateDeliveryStreamRequest generates a "aws/request.Request" representing the 19// client's request for the CreateDeliveryStream operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See CreateDeliveryStream for more information on using the CreateDeliveryStream 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the CreateDeliveryStreamRequest method. 34// req, resp := client.CreateDeliveryStreamRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/CreateDeliveryStream 42func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) (req *request.Request, output *CreateDeliveryStreamOutput) { 43 op := &request.Operation{ 44 Name: opCreateDeliveryStream, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateDeliveryStreamInput{} 51 } 52 53 output = &CreateDeliveryStreamOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateDeliveryStream API operation for Amazon Kinesis Firehose. 59// 60// Creates a Kinesis Data Firehose delivery stream. 61// 62// By default, you can create up to 50 delivery streams per AWS Region. 63// 64// This is an asynchronous operation that immediately returns. The initial status 65// of the delivery stream is CREATING. After the delivery stream is created, 66// its status is ACTIVE and it now accepts data. If the delivery stream creation 67// fails, the status transitions to CREATING_FAILED. Attempts to send data to 68// a delivery stream that is not in the ACTIVE state cause an exception. To 69// check the state of a delivery stream, use DescribeDeliveryStream. 70// 71// If the status of a delivery stream is CREATING_FAILED, this status doesn't 72// change, and you can't invoke CreateDeliveryStream again on it. However, you 73// can invoke the DeleteDeliveryStream operation to delete it. 74// 75// A Kinesis Data Firehose delivery stream can be configured to receive records 76// directly from providers using PutRecord or PutRecordBatch, or it can be configured 77// to use an existing Kinesis stream as its source. To specify a Kinesis data 78// stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, 79// and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in 80// the KinesisStreamSourceConfiguration parameter. 81// 82// To create a delivery stream with server-side encryption (SSE) enabled, include 83// DeliveryStreamEncryptionConfigurationInput in your request. This is optional. 84// You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing 85// delivery stream that doesn't have SSE enabled. 86// 87// A delivery stream is configured with a single destination: Amazon S3, Amazon 88// ES, Amazon Redshift, or Splunk. You must specify only one of the following 89// destination configuration parameters: ExtendedS3DestinationConfiguration, 90// S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, 91// or SplunkDestinationConfiguration. 92// 93// When you specify S3DestinationConfiguration, you can also provide the following 94// optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. 95// By default, if no BufferingHints value is provided, Kinesis Data Firehose 96// buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied 97// first. BufferingHints is a hint, so there are some cases where the service 98// cannot adhere to these conditions strictly. For example, record boundaries 99// might be such that the size is a little over or under the configured buffering 100// size. By default, no encryption is performed. We strongly recommend that 101// you enable encryption to ensure secure data storage in Amazon S3. 102// 103// A few notes about Amazon Redshift as a destination: 104// 105// * An Amazon Redshift destination requires an S3 bucket as intermediate 106// location. Kinesis Data Firehose first delivers data to Amazon S3 and then 107// uses COPY syntax to load data into an Amazon Redshift table. This is specified 108// in the RedshiftDestinationConfiguration.S3Configuration parameter. 109// 110// * The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration 111// because the Amazon Redshift COPY operation that reads from the S3 bucket 112// doesn't support these compression formats. 113// 114// * We strongly recommend that you use the user name and password you provide 115// exclusively with Kinesis Data Firehose, and that the permissions for the 116// account are restricted for Amazon Redshift INSERT permissions. 117// 118// Kinesis Data Firehose assumes the IAM role that is configured as part of 119// the destination. The role should allow the Kinesis Data Firehose principal 120// to assume the role, and the role should have permissions that allow the service 121// to deliver the data. For more information, see Grant Kinesis Data Firehose 122// Access to an Amazon S3 Destination (https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) 123// in the Amazon Kinesis Data Firehose Developer Guide. 124// 125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 126// with awserr.Error's Code and Message methods to get detailed information about 127// the error. 128// 129// See the AWS API reference guide for Amazon Kinesis Firehose's 130// API operation CreateDeliveryStream for usage and error information. 131// 132// Returned Error Types: 133// * InvalidArgumentException 134// The specified input parameter has a value that is not valid. 135// 136// * LimitExceededException 137// You have already reached the limit for a requested resource. 138// 139// * ResourceInUseException 140// The resource is already in use and not available for this operation. 141// 142// * InvalidKMSResourceException 143// Kinesis Data Firehose throws this exception when an attempt to put records 144// or to start or stop delivery stream encryption fails. This happens when the 145// KMS service throws one of the following exception types: AccessDeniedException, 146// InvalidStateException, DisabledException, or NotFoundException. 147// 148// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/CreateDeliveryStream 149func (c *Firehose) CreateDeliveryStream(input *CreateDeliveryStreamInput) (*CreateDeliveryStreamOutput, error) { 150 req, out := c.CreateDeliveryStreamRequest(input) 151 return out, req.Send() 152} 153 154// CreateDeliveryStreamWithContext is the same as CreateDeliveryStream with the addition of 155// the ability to pass a context and additional request options. 156// 157// See CreateDeliveryStream for details on how to use this API operation. 158// 159// The context must be non-nil and will be used for request cancellation. If 160// the context is nil a panic will occur. In the future the SDK may create 161// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 162// for more information on using Contexts. 163func (c *Firehose) CreateDeliveryStreamWithContext(ctx aws.Context, input *CreateDeliveryStreamInput, opts ...request.Option) (*CreateDeliveryStreamOutput, error) { 164 req, out := c.CreateDeliveryStreamRequest(input) 165 req.SetContext(ctx) 166 req.ApplyOptions(opts...) 167 return out, req.Send() 168} 169 170const opDeleteDeliveryStream = "DeleteDeliveryStream" 171 172// DeleteDeliveryStreamRequest generates a "aws/request.Request" representing the 173// client's request for the DeleteDeliveryStream operation. The "output" return 174// value will be populated with the request's response once the request completes 175// successfully. 176// 177// Use "Send" method on the returned Request to send the API call to the service. 178// the "output" return value is not valid until after Send returns without error. 179// 180// See DeleteDeliveryStream for more information on using the DeleteDeliveryStream 181// API call, and error handling. 182// 183// This method is useful when you want to inject custom logic or configuration 184// into the SDK's request lifecycle. Such as custom headers, or retry logic. 185// 186// 187// // Example sending a request using the DeleteDeliveryStreamRequest method. 188// req, resp := client.DeleteDeliveryStreamRequest(params) 189// 190// err := req.Send() 191// if err == nil { // resp is now filled 192// fmt.Println(resp) 193// } 194// 195// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeleteDeliveryStream 196func (c *Firehose) DeleteDeliveryStreamRequest(input *DeleteDeliveryStreamInput) (req *request.Request, output *DeleteDeliveryStreamOutput) { 197 op := &request.Operation{ 198 Name: opDeleteDeliveryStream, 199 HTTPMethod: "POST", 200 HTTPPath: "/", 201 } 202 203 if input == nil { 204 input = &DeleteDeliveryStreamInput{} 205 } 206 207 output = &DeleteDeliveryStreamOutput{} 208 req = c.newRequest(op, input, output) 209 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 210 return 211} 212 213// DeleteDeliveryStream API operation for Amazon Kinesis Firehose. 214// 215// Deletes a delivery stream and its data. 216// 217// To check the state of a delivery stream, use DescribeDeliveryStream. You 218// can delete a delivery stream only if it is in one of the following states: 219// ACTIVE, DELETING, CREATING_FAILED, or DELETING_FAILED. You can't delete a 220// delivery stream that is in the CREATING state. While the deletion request 221// is in process, the delivery stream is in the DELETING state. 222// 223// While the delivery stream is in the DELETING state, the service might continue 224// to accept records, but it doesn't make any guarantees with respect to delivering 225// the data. Therefore, as a best practice, first stop any applications that 226// are sending records before you delete a delivery stream. 227// 228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 229// with awserr.Error's Code and Message methods to get detailed information about 230// the error. 231// 232// See the AWS API reference guide for Amazon Kinesis Firehose's 233// API operation DeleteDeliveryStream for usage and error information. 234// 235// Returned Error Types: 236// * ResourceInUseException 237// The resource is already in use and not available for this operation. 238// 239// * ResourceNotFoundException 240// The specified resource could not be found. 241// 242// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeleteDeliveryStream 243func (c *Firehose) DeleteDeliveryStream(input *DeleteDeliveryStreamInput) (*DeleteDeliveryStreamOutput, error) { 244 req, out := c.DeleteDeliveryStreamRequest(input) 245 return out, req.Send() 246} 247 248// DeleteDeliveryStreamWithContext is the same as DeleteDeliveryStream with the addition of 249// the ability to pass a context and additional request options. 250// 251// See DeleteDeliveryStream for details on how to use this API operation. 252// 253// The context must be non-nil and will be used for request cancellation. If 254// the context is nil a panic will occur. In the future the SDK may create 255// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 256// for more information on using Contexts. 257func (c *Firehose) DeleteDeliveryStreamWithContext(ctx aws.Context, input *DeleteDeliveryStreamInput, opts ...request.Option) (*DeleteDeliveryStreamOutput, error) { 258 req, out := c.DeleteDeliveryStreamRequest(input) 259 req.SetContext(ctx) 260 req.ApplyOptions(opts...) 261 return out, req.Send() 262} 263 264const opDescribeDeliveryStream = "DescribeDeliveryStream" 265 266// DescribeDeliveryStreamRequest generates a "aws/request.Request" representing the 267// client's request for the DescribeDeliveryStream operation. The "output" return 268// value will be populated with the request's response once the request completes 269// successfully. 270// 271// Use "Send" method on the returned Request to send the API call to the service. 272// the "output" return value is not valid until after Send returns without error. 273// 274// See DescribeDeliveryStream for more information on using the DescribeDeliveryStream 275// API call, and error handling. 276// 277// This method is useful when you want to inject custom logic or configuration 278// into the SDK's request lifecycle. Such as custom headers, or retry logic. 279// 280// 281// // Example sending a request using the DescribeDeliveryStreamRequest method. 282// req, resp := client.DescribeDeliveryStreamRequest(params) 283// 284// err := req.Send() 285// if err == nil { // resp is now filled 286// fmt.Println(resp) 287// } 288// 289// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DescribeDeliveryStream 290func (c *Firehose) DescribeDeliveryStreamRequest(input *DescribeDeliveryStreamInput) (req *request.Request, output *DescribeDeliveryStreamOutput) { 291 op := &request.Operation{ 292 Name: opDescribeDeliveryStream, 293 HTTPMethod: "POST", 294 HTTPPath: "/", 295 } 296 297 if input == nil { 298 input = &DescribeDeliveryStreamInput{} 299 } 300 301 output = &DescribeDeliveryStreamOutput{} 302 req = c.newRequest(op, input, output) 303 return 304} 305 306// DescribeDeliveryStream API operation for Amazon Kinesis Firehose. 307// 308// Describes the specified delivery stream and its status. For example, after 309// your delivery stream is created, call DescribeDeliveryStream to see whether 310// the delivery stream is ACTIVE and therefore ready for data to be sent to 311// it. 312// 313// If the status of a delivery stream is CREATING_FAILED, this status doesn't 314// change, and you can't invoke CreateDeliveryStream again on it. However, you 315// can invoke the DeleteDeliveryStream operation to delete it. If the status 316// is DELETING_FAILED, you can force deletion by invoking DeleteDeliveryStream 317// again but with DeleteDeliveryStreamInput$AllowForceDelete set to true. 318// 319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 320// with awserr.Error's Code and Message methods to get detailed information about 321// the error. 322// 323// See the AWS API reference guide for Amazon Kinesis Firehose's 324// API operation DescribeDeliveryStream for usage and error information. 325// 326// Returned Error Types: 327// * ResourceNotFoundException 328// The specified resource could not be found. 329// 330// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DescribeDeliveryStream 331func (c *Firehose) DescribeDeliveryStream(input *DescribeDeliveryStreamInput) (*DescribeDeliveryStreamOutput, error) { 332 req, out := c.DescribeDeliveryStreamRequest(input) 333 return out, req.Send() 334} 335 336// DescribeDeliveryStreamWithContext is the same as DescribeDeliveryStream with the addition of 337// the ability to pass a context and additional request options. 338// 339// See DescribeDeliveryStream for details on how to use this API operation. 340// 341// The context must be non-nil and will be used for request cancellation. If 342// the context is nil a panic will occur. In the future the SDK may create 343// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 344// for more information on using Contexts. 345func (c *Firehose) DescribeDeliveryStreamWithContext(ctx aws.Context, input *DescribeDeliveryStreamInput, opts ...request.Option) (*DescribeDeliveryStreamOutput, error) { 346 req, out := c.DescribeDeliveryStreamRequest(input) 347 req.SetContext(ctx) 348 req.ApplyOptions(opts...) 349 return out, req.Send() 350} 351 352const opListDeliveryStreams = "ListDeliveryStreams" 353 354// ListDeliveryStreamsRequest generates a "aws/request.Request" representing the 355// client's request for the ListDeliveryStreams operation. The "output" return 356// value will be populated with the request's response once the request completes 357// successfully. 358// 359// Use "Send" method on the returned Request to send the API call to the service. 360// the "output" return value is not valid until after Send returns without error. 361// 362// See ListDeliveryStreams for more information on using the ListDeliveryStreams 363// API call, and error handling. 364// 365// This method is useful when you want to inject custom logic or configuration 366// into the SDK's request lifecycle. Such as custom headers, or retry logic. 367// 368// 369// // Example sending a request using the ListDeliveryStreamsRequest method. 370// req, resp := client.ListDeliveryStreamsRequest(params) 371// 372// err := req.Send() 373// if err == nil { // resp is now filled 374// fmt.Println(resp) 375// } 376// 377// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ListDeliveryStreams 378func (c *Firehose) ListDeliveryStreamsRequest(input *ListDeliveryStreamsInput) (req *request.Request, output *ListDeliveryStreamsOutput) { 379 op := &request.Operation{ 380 Name: opListDeliveryStreams, 381 HTTPMethod: "POST", 382 HTTPPath: "/", 383 } 384 385 if input == nil { 386 input = &ListDeliveryStreamsInput{} 387 } 388 389 output = &ListDeliveryStreamsOutput{} 390 req = c.newRequest(op, input, output) 391 return 392} 393 394// ListDeliveryStreams API operation for Amazon Kinesis Firehose. 395// 396// Lists your delivery streams in alphabetical order of their names. 397// 398// The number of delivery streams might be too large to return using a single 399// call to ListDeliveryStreams. You can limit the number of delivery streams 400// returned, using the Limit parameter. To determine whether there are more 401// delivery streams to list, check the value of HasMoreDeliveryStreams in the 402// output. If there are more delivery streams to list, you can request them 403// by calling this operation again and setting the ExclusiveStartDeliveryStreamName 404// parameter to the name of the last delivery stream returned in the last call. 405// 406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 407// with awserr.Error's Code and Message methods to get detailed information about 408// the error. 409// 410// See the AWS API reference guide for Amazon Kinesis Firehose's 411// API operation ListDeliveryStreams for usage and error information. 412// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ListDeliveryStreams 413func (c *Firehose) ListDeliveryStreams(input *ListDeliveryStreamsInput) (*ListDeliveryStreamsOutput, error) { 414 req, out := c.ListDeliveryStreamsRequest(input) 415 return out, req.Send() 416} 417 418// ListDeliveryStreamsWithContext is the same as ListDeliveryStreams with the addition of 419// the ability to pass a context and additional request options. 420// 421// See ListDeliveryStreams for details on how to use this API operation. 422// 423// The context must be non-nil and will be used for request cancellation. If 424// the context is nil a panic will occur. In the future the SDK may create 425// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 426// for more information on using Contexts. 427func (c *Firehose) ListDeliveryStreamsWithContext(ctx aws.Context, input *ListDeliveryStreamsInput, opts ...request.Option) (*ListDeliveryStreamsOutput, error) { 428 req, out := c.ListDeliveryStreamsRequest(input) 429 req.SetContext(ctx) 430 req.ApplyOptions(opts...) 431 return out, req.Send() 432} 433 434const opListTagsForDeliveryStream = "ListTagsForDeliveryStream" 435 436// ListTagsForDeliveryStreamRequest generates a "aws/request.Request" representing the 437// client's request for the ListTagsForDeliveryStream operation. The "output" return 438// value will be populated with the request's response once the request completes 439// successfully. 440// 441// Use "Send" method on the returned Request to send the API call to the service. 442// the "output" return value is not valid until after Send returns without error. 443// 444// See ListTagsForDeliveryStream for more information on using the ListTagsForDeliveryStream 445// API call, and error handling. 446// 447// This method is useful when you want to inject custom logic or configuration 448// into the SDK's request lifecycle. Such as custom headers, or retry logic. 449// 450// 451// // Example sending a request using the ListTagsForDeliveryStreamRequest method. 452// req, resp := client.ListTagsForDeliveryStreamRequest(params) 453// 454// err := req.Send() 455// if err == nil { // resp is now filled 456// fmt.Println(resp) 457// } 458// 459// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ListTagsForDeliveryStream 460func (c *Firehose) ListTagsForDeliveryStreamRequest(input *ListTagsForDeliveryStreamInput) (req *request.Request, output *ListTagsForDeliveryStreamOutput) { 461 op := &request.Operation{ 462 Name: opListTagsForDeliveryStream, 463 HTTPMethod: "POST", 464 HTTPPath: "/", 465 } 466 467 if input == nil { 468 input = &ListTagsForDeliveryStreamInput{} 469 } 470 471 output = &ListTagsForDeliveryStreamOutput{} 472 req = c.newRequest(op, input, output) 473 return 474} 475 476// ListTagsForDeliveryStream API operation for Amazon Kinesis Firehose. 477// 478// Lists the tags for the specified delivery stream. This operation has a limit 479// of five transactions per second per account. 480// 481// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 482// with awserr.Error's Code and Message methods to get detailed information about 483// the error. 484// 485// See the AWS API reference guide for Amazon Kinesis Firehose's 486// API operation ListTagsForDeliveryStream for usage and error information. 487// 488// Returned Error Types: 489// * ResourceNotFoundException 490// The specified resource could not be found. 491// 492// * InvalidArgumentException 493// The specified input parameter has a value that is not valid. 494// 495// * LimitExceededException 496// You have already reached the limit for a requested resource. 497// 498// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/ListTagsForDeliveryStream 499func (c *Firehose) ListTagsForDeliveryStream(input *ListTagsForDeliveryStreamInput) (*ListTagsForDeliveryStreamOutput, error) { 500 req, out := c.ListTagsForDeliveryStreamRequest(input) 501 return out, req.Send() 502} 503 504// ListTagsForDeliveryStreamWithContext is the same as ListTagsForDeliveryStream with the addition of 505// the ability to pass a context and additional request options. 506// 507// See ListTagsForDeliveryStream for details on how to use this API operation. 508// 509// The context must be non-nil and will be used for request cancellation. If 510// the context is nil a panic will occur. In the future the SDK may create 511// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 512// for more information on using Contexts. 513func (c *Firehose) ListTagsForDeliveryStreamWithContext(ctx aws.Context, input *ListTagsForDeliveryStreamInput, opts ...request.Option) (*ListTagsForDeliveryStreamOutput, error) { 514 req, out := c.ListTagsForDeliveryStreamRequest(input) 515 req.SetContext(ctx) 516 req.ApplyOptions(opts...) 517 return out, req.Send() 518} 519 520const opPutRecord = "PutRecord" 521 522// PutRecordRequest generates a "aws/request.Request" representing the 523// client's request for the PutRecord operation. The "output" return 524// value will be populated with the request's response once the request completes 525// successfully. 526// 527// Use "Send" method on the returned Request to send the API call to the service. 528// the "output" return value is not valid until after Send returns without error. 529// 530// See PutRecord for more information on using the PutRecord 531// API call, and error handling. 532// 533// This method is useful when you want to inject custom logic or configuration 534// into the SDK's request lifecycle. Such as custom headers, or retry logic. 535// 536// 537// // Example sending a request using the PutRecordRequest method. 538// req, resp := client.PutRecordRequest(params) 539// 540// err := req.Send() 541// if err == nil { // resp is now filled 542// fmt.Println(resp) 543// } 544// 545// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/PutRecord 546func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request, output *PutRecordOutput) { 547 op := &request.Operation{ 548 Name: opPutRecord, 549 HTTPMethod: "POST", 550 HTTPPath: "/", 551 } 552 553 if input == nil { 554 input = &PutRecordInput{} 555 } 556 557 output = &PutRecordOutput{} 558 req = c.newRequest(op, input, output) 559 return 560} 561 562// PutRecord API operation for Amazon Kinesis Firehose. 563// 564// Writes a single data record into an Amazon Kinesis Data Firehose delivery 565// stream. To write multiple data records into a delivery stream, use PutRecordBatch. 566// Applications using these operations are referred to as producers. 567// 568// By default, each delivery stream can take in up to 2,000 transactions per 569// second, 5,000 records per second, or 5 MB per second. If you use PutRecord 570// and PutRecordBatch, the limits are an aggregate across these two operations 571// for each delivery stream. For more information about limits and how to request 572// an increase, see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 573// 574// You must specify the name of the delivery stream and the data record when 575// using PutRecord. The data record consists of a data blob that can be up to 576// 1,000 KB in size, and any kind of data. For example, it can be a segment 577// from a log file, geographic location data, website clickstream data, and 578// so on. 579// 580// Kinesis Data Firehose buffers records before delivering them to the destination. 581// To disambiguate the data blobs at the destination, a common solution is to 582// use delimiters in the data, such as a newline (\n) or some other character 583// unique within the data. This allows the consumer application to parse individual 584// data items when reading the data from the destination. 585// 586// The PutRecord operation returns a RecordId, which is a unique string assigned 587// to each record. Producer applications can use this ID for purposes such as 588// auditability and investigation. 589// 590// If the PutRecord operation throws a ServiceUnavailableException, back off 591// and retry. If the exception persists, it is possible that the throughput 592// limits have been exceeded for the delivery stream. 593// 594// Data records sent to Kinesis Data Firehose are stored for 24 hours from the 595// time they are added to a delivery stream as it tries to send the records 596// to the destination. If the destination is unreachable for more than 24 hours, 597// the data is no longer available. 598// 599// Don't concatenate two or more base64 strings to form the data fields of your 600// records. Instead, concatenate the raw data, then perform base64 encoding. 601// 602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 603// with awserr.Error's Code and Message methods to get detailed information about 604// the error. 605// 606// See the AWS API reference guide for Amazon Kinesis Firehose's 607// API operation PutRecord for usage and error information. 608// 609// Returned Error Types: 610// * ResourceNotFoundException 611// The specified resource could not be found. 612// 613// * InvalidArgumentException 614// The specified input parameter has a value that is not valid. 615// 616// * InvalidKMSResourceException 617// Kinesis Data Firehose throws this exception when an attempt to put records 618// or to start or stop delivery stream encryption fails. This happens when the 619// KMS service throws one of the following exception types: AccessDeniedException, 620// InvalidStateException, DisabledException, or NotFoundException. 621// 622// * ServiceUnavailableException 623// The service is unavailable. Back off and retry the operation. If you continue 624// to see the exception, throughput limits for the delivery stream may have 625// been exceeded. For more information about limits and how to request an increase, 626// see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 627// 628// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/PutRecord 629func (c *Firehose) PutRecord(input *PutRecordInput) (*PutRecordOutput, error) { 630 req, out := c.PutRecordRequest(input) 631 return out, req.Send() 632} 633 634// PutRecordWithContext is the same as PutRecord with the addition of 635// the ability to pass a context and additional request options. 636// 637// See PutRecord for details on how to use this API operation. 638// 639// The context must be non-nil and will be used for request cancellation. If 640// the context is nil a panic will occur. In the future the SDK may create 641// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 642// for more information on using Contexts. 643func (c *Firehose) PutRecordWithContext(ctx aws.Context, input *PutRecordInput, opts ...request.Option) (*PutRecordOutput, error) { 644 req, out := c.PutRecordRequest(input) 645 req.SetContext(ctx) 646 req.ApplyOptions(opts...) 647 return out, req.Send() 648} 649 650const opPutRecordBatch = "PutRecordBatch" 651 652// PutRecordBatchRequest generates a "aws/request.Request" representing the 653// client's request for the PutRecordBatch operation. The "output" return 654// value will be populated with the request's response once the request completes 655// successfully. 656// 657// Use "Send" method on the returned Request to send the API call to the service. 658// the "output" return value is not valid until after Send returns without error. 659// 660// See PutRecordBatch for more information on using the PutRecordBatch 661// API call, and error handling. 662// 663// This method is useful when you want to inject custom logic or configuration 664// into the SDK's request lifecycle. Such as custom headers, or retry logic. 665// 666// 667// // Example sending a request using the PutRecordBatchRequest method. 668// req, resp := client.PutRecordBatchRequest(params) 669// 670// err := req.Send() 671// if err == nil { // resp is now filled 672// fmt.Println(resp) 673// } 674// 675// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/PutRecordBatch 676func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *request.Request, output *PutRecordBatchOutput) { 677 op := &request.Operation{ 678 Name: opPutRecordBatch, 679 HTTPMethod: "POST", 680 HTTPPath: "/", 681 } 682 683 if input == nil { 684 input = &PutRecordBatchInput{} 685 } 686 687 output = &PutRecordBatchOutput{} 688 req = c.newRequest(op, input, output) 689 return 690} 691 692// PutRecordBatch API operation for Amazon Kinesis Firehose. 693// 694// Writes multiple data records into a delivery stream in a single call, which 695// can achieve higher throughput per producer than when writing single records. 696// To write single data records into a delivery stream, use PutRecord. Applications 697// using these operations are referred to as producers. 698// 699// For information about service quota, see Amazon Kinesis Data Firehose Quota 700// (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 701// 702// Each PutRecordBatch request supports up to 500 records. Each record in the 703// request can be as large as 1,000 KB (before 64-bit encoding), up to a limit 704// of 4 MB for the entire request. These limits cannot be changed. 705// 706// You must specify the name of the delivery stream and the data record when 707// using PutRecord. The data record consists of a data blob that can be up to 708// 1,000 KB in size, and any kind of data. For example, it could be a segment 709// from a log file, geographic location data, website clickstream data, and 710// so on. 711// 712// Kinesis Data Firehose buffers records before delivering them to the destination. 713// To disambiguate the data blobs at the destination, a common solution is to 714// use delimiters in the data, such as a newline (\n) or some other character 715// unique within the data. This allows the consumer application to parse individual 716// data items when reading the data from the destination. 717// 718// The PutRecordBatch response includes a count of failed records, FailedPutCount, 719// and an array of responses, RequestResponses. Even if the PutRecordBatch call 720// succeeds, the value of FailedPutCount may be greater than 0, indicating that 721// there are records for which the operation didn't succeed. Each entry in the 722// RequestResponses array provides additional information about the processed 723// record. It directly correlates with a record in the request array using the 724// same ordering, from the top to the bottom. The response array always includes 725// the same number of records as the request array. RequestResponses includes 726// both successfully and unsuccessfully processed records. Kinesis Data Firehose 727// tries to process all records in each PutRecordBatch request. A single record 728// failure does not stop the processing of subsequent records. 729// 730// A successfully processed record includes a RecordId value, which is unique 731// for the record. An unsuccessfully processed record includes ErrorCode and 732// ErrorMessage values. ErrorCode reflects the type of error, and is one of 733// the following values: ServiceUnavailableException or InternalFailure. ErrorMessage 734// provides more detailed information about the error. 735// 736// If there is an internal server error or a timeout, the write might have completed 737// or it might have failed. If FailedPutCount is greater than 0, retry the request, 738// resending only those records that might have failed processing. This minimizes 739// the possible duplicate records and also reduces the total bytes sent (and 740// corresponding charges). We recommend that you handle any duplicates at the 741// destination. 742// 743// If PutRecordBatch throws ServiceUnavailableException, back off and retry. 744// If the exception persists, it is possible that the throughput limits have 745// been exceeded for the delivery stream. 746// 747// Data records sent to Kinesis Data Firehose are stored for 24 hours from the 748// time they are added to a delivery stream as it attempts to send the records 749// to the destination. If the destination is unreachable for more than 24 hours, 750// the data is no longer available. 751// 752// Don't concatenate two or more base64 strings to form the data fields of your 753// records. Instead, concatenate the raw data, then perform base64 encoding. 754// 755// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 756// with awserr.Error's Code and Message methods to get detailed information about 757// the error. 758// 759// See the AWS API reference guide for Amazon Kinesis Firehose's 760// API operation PutRecordBatch for usage and error information. 761// 762// Returned Error Types: 763// * ResourceNotFoundException 764// The specified resource could not be found. 765// 766// * InvalidArgumentException 767// The specified input parameter has a value that is not valid. 768// 769// * InvalidKMSResourceException 770// Kinesis Data Firehose throws this exception when an attempt to put records 771// or to start or stop delivery stream encryption fails. This happens when the 772// KMS service throws one of the following exception types: AccessDeniedException, 773// InvalidStateException, DisabledException, or NotFoundException. 774// 775// * ServiceUnavailableException 776// The service is unavailable. Back off and retry the operation. If you continue 777// to see the exception, throughput limits for the delivery stream may have 778// been exceeded. For more information about limits and how to request an increase, 779// see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 780// 781// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/PutRecordBatch 782func (c *Firehose) PutRecordBatch(input *PutRecordBatchInput) (*PutRecordBatchOutput, error) { 783 req, out := c.PutRecordBatchRequest(input) 784 return out, req.Send() 785} 786 787// PutRecordBatchWithContext is the same as PutRecordBatch with the addition of 788// the ability to pass a context and additional request options. 789// 790// See PutRecordBatch for details on how to use this API operation. 791// 792// The context must be non-nil and will be used for request cancellation. If 793// the context is nil a panic will occur. In the future the SDK may create 794// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 795// for more information on using Contexts. 796func (c *Firehose) PutRecordBatchWithContext(ctx aws.Context, input *PutRecordBatchInput, opts ...request.Option) (*PutRecordBatchOutput, error) { 797 req, out := c.PutRecordBatchRequest(input) 798 req.SetContext(ctx) 799 req.ApplyOptions(opts...) 800 return out, req.Send() 801} 802 803const opStartDeliveryStreamEncryption = "StartDeliveryStreamEncryption" 804 805// StartDeliveryStreamEncryptionRequest generates a "aws/request.Request" representing the 806// client's request for the StartDeliveryStreamEncryption operation. The "output" return 807// value will be populated with the request's response once the request completes 808// successfully. 809// 810// Use "Send" method on the returned Request to send the API call to the service. 811// the "output" return value is not valid until after Send returns without error. 812// 813// See StartDeliveryStreamEncryption for more information on using the StartDeliveryStreamEncryption 814// API call, and error handling. 815// 816// This method is useful when you want to inject custom logic or configuration 817// into the SDK's request lifecycle. Such as custom headers, or retry logic. 818// 819// 820// // Example sending a request using the StartDeliveryStreamEncryptionRequest method. 821// req, resp := client.StartDeliveryStreamEncryptionRequest(params) 822// 823// err := req.Send() 824// if err == nil { // resp is now filled 825// fmt.Println(resp) 826// } 827// 828// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/StartDeliveryStreamEncryption 829func (c *Firehose) StartDeliveryStreamEncryptionRequest(input *StartDeliveryStreamEncryptionInput) (req *request.Request, output *StartDeliveryStreamEncryptionOutput) { 830 op := &request.Operation{ 831 Name: opStartDeliveryStreamEncryption, 832 HTTPMethod: "POST", 833 HTTPPath: "/", 834 } 835 836 if input == nil { 837 input = &StartDeliveryStreamEncryptionInput{} 838 } 839 840 output = &StartDeliveryStreamEncryptionOutput{} 841 req = c.newRequest(op, input, output) 842 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 843 return 844} 845 846// StartDeliveryStreamEncryption API operation for Amazon Kinesis Firehose. 847// 848// Enables server-side encryption (SSE) for the delivery stream. 849// 850// This operation is asynchronous. It returns immediately. When you invoke it, 851// Kinesis Data Firehose first sets the encryption status of the stream to ENABLING, 852// and then to ENABLED. The encryption status of a delivery stream is the Status 853// property in DeliveryStreamEncryptionConfiguration. If the operation fails, 854// the encryption status changes to ENABLING_FAILED. You can continue to read 855// and write data to your delivery stream while the encryption status is ENABLING, 856// but the data is not encrypted. It can take up to 5 seconds after the encryption 857// status changes to ENABLED before all records written to the delivery stream 858// are encrypted. To find out whether a record or a batch of records was encrypted, 859// check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, 860// respectively. 861// 862// To check the encryption status of a delivery stream, use DescribeDeliveryStream. 863// 864// Even if encryption is currently enabled for a delivery stream, you can still 865// invoke this operation on it to change the ARN of the CMK or both its type 866// and ARN. If you invoke this method to change the CMK, and the old CMK is 867// of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose schedules the grant it 868// had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, 869// Kinesis Data Firehose creates a grant that enables it to use the new CMK 870// to encrypt and decrypt data and to manage the grant. 871// 872// If a delivery stream already has encryption enabled and then you invoke this 873// operation to change the ARN of the CMK or both its type and ARN and you get 874// ENABLING_FAILED, this only means that the attempt to change the CMK failed. 875// In this case, encryption remains enabled with the old CMK. 876// 877// If the encryption status of your delivery stream is ENABLING_FAILED, you 878// can invoke this operation again with a valid CMK. The CMK must be enabled 879// and the key policy mustn't explicitly deny the permission for Kinesis Data 880// Firehose to invoke KMS encrypt and decrypt operations. 881// 882// You can enable SSE for a delivery stream only if it's a delivery stream that 883// uses DirectPut as its source. 884// 885// The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations 886// have a combined limit of 25 calls per delivery stream per 24 hours. For example, 887// you reach the limit if you call StartDeliveryStreamEncryption 13 times and 888// StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour 889// period. 890// 891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 892// with awserr.Error's Code and Message methods to get detailed information about 893// the error. 894// 895// See the AWS API reference guide for Amazon Kinesis Firehose's 896// API operation StartDeliveryStreamEncryption for usage and error information. 897// 898// Returned Error Types: 899// * ResourceNotFoundException 900// The specified resource could not be found. 901// 902// * ResourceInUseException 903// The resource is already in use and not available for this operation. 904// 905// * InvalidArgumentException 906// The specified input parameter has a value that is not valid. 907// 908// * LimitExceededException 909// You have already reached the limit for a requested resource. 910// 911// * InvalidKMSResourceException 912// Kinesis Data Firehose throws this exception when an attempt to put records 913// or to start or stop delivery stream encryption fails. This happens when the 914// KMS service throws one of the following exception types: AccessDeniedException, 915// InvalidStateException, DisabledException, or NotFoundException. 916// 917// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/StartDeliveryStreamEncryption 918func (c *Firehose) StartDeliveryStreamEncryption(input *StartDeliveryStreamEncryptionInput) (*StartDeliveryStreamEncryptionOutput, error) { 919 req, out := c.StartDeliveryStreamEncryptionRequest(input) 920 return out, req.Send() 921} 922 923// StartDeliveryStreamEncryptionWithContext is the same as StartDeliveryStreamEncryption with the addition of 924// the ability to pass a context and additional request options. 925// 926// See StartDeliveryStreamEncryption for details on how to use this API operation. 927// 928// The context must be non-nil and will be used for request cancellation. If 929// the context is nil a panic will occur. In the future the SDK may create 930// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 931// for more information on using Contexts. 932func (c *Firehose) StartDeliveryStreamEncryptionWithContext(ctx aws.Context, input *StartDeliveryStreamEncryptionInput, opts ...request.Option) (*StartDeliveryStreamEncryptionOutput, error) { 933 req, out := c.StartDeliveryStreamEncryptionRequest(input) 934 req.SetContext(ctx) 935 req.ApplyOptions(opts...) 936 return out, req.Send() 937} 938 939const opStopDeliveryStreamEncryption = "StopDeliveryStreamEncryption" 940 941// StopDeliveryStreamEncryptionRequest generates a "aws/request.Request" representing the 942// client's request for the StopDeliveryStreamEncryption operation. The "output" return 943// value will be populated with the request's response once the request completes 944// successfully. 945// 946// Use "Send" method on the returned Request to send the API call to the service. 947// the "output" return value is not valid until after Send returns without error. 948// 949// See StopDeliveryStreamEncryption for more information on using the StopDeliveryStreamEncryption 950// API call, and error handling. 951// 952// This method is useful when you want to inject custom logic or configuration 953// into the SDK's request lifecycle. Such as custom headers, or retry logic. 954// 955// 956// // Example sending a request using the StopDeliveryStreamEncryptionRequest method. 957// req, resp := client.StopDeliveryStreamEncryptionRequest(params) 958// 959// err := req.Send() 960// if err == nil { // resp is now filled 961// fmt.Println(resp) 962// } 963// 964// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/StopDeliveryStreamEncryption 965func (c *Firehose) StopDeliveryStreamEncryptionRequest(input *StopDeliveryStreamEncryptionInput) (req *request.Request, output *StopDeliveryStreamEncryptionOutput) { 966 op := &request.Operation{ 967 Name: opStopDeliveryStreamEncryption, 968 HTTPMethod: "POST", 969 HTTPPath: "/", 970 } 971 972 if input == nil { 973 input = &StopDeliveryStreamEncryptionInput{} 974 } 975 976 output = &StopDeliveryStreamEncryptionOutput{} 977 req = c.newRequest(op, input, output) 978 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 979 return 980} 981 982// StopDeliveryStreamEncryption API operation for Amazon Kinesis Firehose. 983// 984// Disables server-side encryption (SSE) for the delivery stream. 985// 986// This operation is asynchronous. It returns immediately. When you invoke it, 987// Kinesis Data Firehose first sets the encryption status of the stream to DISABLING, 988// and then to DISABLED. You can continue to read and write data to your stream 989// while its status is DISABLING. It can take up to 5 seconds after the encryption 990// status changes to DISABLED before all records written to the delivery stream 991// are no longer subject to encryption. To find out whether a record or a batch 992// of records was encrypted, check the response elements PutRecordOutput$Encrypted 993// and PutRecordBatchOutput$Encrypted, respectively. 994// 995// To check the encryption state of a delivery stream, use DescribeDeliveryStream. 996// 997// If SSE is enabled using a customer managed CMK and then you invoke StopDeliveryStreamEncryption, 998// Kinesis Data Firehose schedules the related KMS grant for retirement and 999// then retires it after it ensures that it is finished delivering records to 1000// the destination. 1001// 1002// The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations 1003// have a combined limit of 25 calls per delivery stream per 24 hours. For example, 1004// you reach the limit if you call StartDeliveryStreamEncryption 13 times and 1005// StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour 1006// period. 1007// 1008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1009// with awserr.Error's Code and Message methods to get detailed information about 1010// the error. 1011// 1012// See the AWS API reference guide for Amazon Kinesis Firehose's 1013// API operation StopDeliveryStreamEncryption for usage and error information. 1014// 1015// Returned Error Types: 1016// * ResourceNotFoundException 1017// The specified resource could not be found. 1018// 1019// * ResourceInUseException 1020// The resource is already in use and not available for this operation. 1021// 1022// * InvalidArgumentException 1023// The specified input parameter has a value that is not valid. 1024// 1025// * LimitExceededException 1026// You have already reached the limit for a requested resource. 1027// 1028// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/StopDeliveryStreamEncryption 1029func (c *Firehose) StopDeliveryStreamEncryption(input *StopDeliveryStreamEncryptionInput) (*StopDeliveryStreamEncryptionOutput, error) { 1030 req, out := c.StopDeliveryStreamEncryptionRequest(input) 1031 return out, req.Send() 1032} 1033 1034// StopDeliveryStreamEncryptionWithContext is the same as StopDeliveryStreamEncryption with the addition of 1035// the ability to pass a context and additional request options. 1036// 1037// See StopDeliveryStreamEncryption for details on how to use this API operation. 1038// 1039// The context must be non-nil and will be used for request cancellation. If 1040// the context is nil a panic will occur. In the future the SDK may create 1041// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1042// for more information on using Contexts. 1043func (c *Firehose) StopDeliveryStreamEncryptionWithContext(ctx aws.Context, input *StopDeliveryStreamEncryptionInput, opts ...request.Option) (*StopDeliveryStreamEncryptionOutput, error) { 1044 req, out := c.StopDeliveryStreamEncryptionRequest(input) 1045 req.SetContext(ctx) 1046 req.ApplyOptions(opts...) 1047 return out, req.Send() 1048} 1049 1050const opTagDeliveryStream = "TagDeliveryStream" 1051 1052// TagDeliveryStreamRequest generates a "aws/request.Request" representing the 1053// client's request for the TagDeliveryStream operation. The "output" return 1054// value will be populated with the request's response once the request completes 1055// successfully. 1056// 1057// Use "Send" method on the returned Request to send the API call to the service. 1058// the "output" return value is not valid until after Send returns without error. 1059// 1060// See TagDeliveryStream for more information on using the TagDeliveryStream 1061// API call, and error handling. 1062// 1063// This method is useful when you want to inject custom logic or configuration 1064// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1065// 1066// 1067// // Example sending a request using the TagDeliveryStreamRequest method. 1068// req, resp := client.TagDeliveryStreamRequest(params) 1069// 1070// err := req.Send() 1071// if err == nil { // resp is now filled 1072// fmt.Println(resp) 1073// } 1074// 1075// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/TagDeliveryStream 1076func (c *Firehose) TagDeliveryStreamRequest(input *TagDeliveryStreamInput) (req *request.Request, output *TagDeliveryStreamOutput) { 1077 op := &request.Operation{ 1078 Name: opTagDeliveryStream, 1079 HTTPMethod: "POST", 1080 HTTPPath: "/", 1081 } 1082 1083 if input == nil { 1084 input = &TagDeliveryStreamInput{} 1085 } 1086 1087 output = &TagDeliveryStreamOutput{} 1088 req = c.newRequest(op, input, output) 1089 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1090 return 1091} 1092 1093// TagDeliveryStream API operation for Amazon Kinesis Firehose. 1094// 1095// Adds or updates tags for the specified delivery stream. A tag is a key-value 1096// pair that you can define and assign to AWS resources. If you specify a tag 1097// that already exists, the tag value is replaced with the value that you specify 1098// in the request. Tags are metadata. For example, you can add friendly names 1099// and descriptions or other types of information that can help you distinguish 1100// the delivery stream. For more information about tags, see Using Cost Allocation 1101// Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) 1102// in the AWS Billing and Cost Management User Guide. 1103// 1104// Each delivery stream can have up to 50 tags. 1105// 1106// This operation has a limit of five transactions per second per account. 1107// 1108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1109// with awserr.Error's Code and Message methods to get detailed information about 1110// the error. 1111// 1112// See the AWS API reference guide for Amazon Kinesis Firehose's 1113// API operation TagDeliveryStream for usage and error information. 1114// 1115// Returned Error Types: 1116// * ResourceNotFoundException 1117// The specified resource could not be found. 1118// 1119// * ResourceInUseException 1120// The resource is already in use and not available for this operation. 1121// 1122// * InvalidArgumentException 1123// The specified input parameter has a value that is not valid. 1124// 1125// * LimitExceededException 1126// You have already reached the limit for a requested resource. 1127// 1128// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/TagDeliveryStream 1129func (c *Firehose) TagDeliveryStream(input *TagDeliveryStreamInput) (*TagDeliveryStreamOutput, error) { 1130 req, out := c.TagDeliveryStreamRequest(input) 1131 return out, req.Send() 1132} 1133 1134// TagDeliveryStreamWithContext is the same as TagDeliveryStream with the addition of 1135// the ability to pass a context and additional request options. 1136// 1137// See TagDeliveryStream for details on how to use this API operation. 1138// 1139// The context must be non-nil and will be used for request cancellation. If 1140// the context is nil a panic will occur. In the future the SDK may create 1141// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1142// for more information on using Contexts. 1143func (c *Firehose) TagDeliveryStreamWithContext(ctx aws.Context, input *TagDeliveryStreamInput, opts ...request.Option) (*TagDeliveryStreamOutput, error) { 1144 req, out := c.TagDeliveryStreamRequest(input) 1145 req.SetContext(ctx) 1146 req.ApplyOptions(opts...) 1147 return out, req.Send() 1148} 1149 1150const opUntagDeliveryStream = "UntagDeliveryStream" 1151 1152// UntagDeliveryStreamRequest generates a "aws/request.Request" representing the 1153// client's request for the UntagDeliveryStream operation. The "output" return 1154// value will be populated with the request's response once the request completes 1155// successfully. 1156// 1157// Use "Send" method on the returned Request to send the API call to the service. 1158// the "output" return value is not valid until after Send returns without error. 1159// 1160// See UntagDeliveryStream for more information on using the UntagDeliveryStream 1161// API call, and error handling. 1162// 1163// This method is useful when you want to inject custom logic or configuration 1164// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1165// 1166// 1167// // Example sending a request using the UntagDeliveryStreamRequest method. 1168// req, resp := client.UntagDeliveryStreamRequest(params) 1169// 1170// err := req.Send() 1171// if err == nil { // resp is now filled 1172// fmt.Println(resp) 1173// } 1174// 1175// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/UntagDeliveryStream 1176func (c *Firehose) UntagDeliveryStreamRequest(input *UntagDeliveryStreamInput) (req *request.Request, output *UntagDeliveryStreamOutput) { 1177 op := &request.Operation{ 1178 Name: opUntagDeliveryStream, 1179 HTTPMethod: "POST", 1180 HTTPPath: "/", 1181 } 1182 1183 if input == nil { 1184 input = &UntagDeliveryStreamInput{} 1185 } 1186 1187 output = &UntagDeliveryStreamOutput{} 1188 req = c.newRequest(op, input, output) 1189 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1190 return 1191} 1192 1193// UntagDeliveryStream API operation for Amazon Kinesis Firehose. 1194// 1195// Removes tags from the specified delivery stream. Removed tags are deleted, 1196// and you can't recover them after this operation successfully completes. 1197// 1198// If you specify a tag that doesn't exist, the operation ignores it. 1199// 1200// This operation has a limit of five transactions per second per account. 1201// 1202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1203// with awserr.Error's Code and Message methods to get detailed information about 1204// the error. 1205// 1206// See the AWS API reference guide for Amazon Kinesis Firehose's 1207// API operation UntagDeliveryStream for usage and error information. 1208// 1209// Returned Error Types: 1210// * ResourceNotFoundException 1211// The specified resource could not be found. 1212// 1213// * ResourceInUseException 1214// The resource is already in use and not available for this operation. 1215// 1216// * InvalidArgumentException 1217// The specified input parameter has a value that is not valid. 1218// 1219// * LimitExceededException 1220// You have already reached the limit for a requested resource. 1221// 1222// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/UntagDeliveryStream 1223func (c *Firehose) UntagDeliveryStream(input *UntagDeliveryStreamInput) (*UntagDeliveryStreamOutput, error) { 1224 req, out := c.UntagDeliveryStreamRequest(input) 1225 return out, req.Send() 1226} 1227 1228// UntagDeliveryStreamWithContext is the same as UntagDeliveryStream with the addition of 1229// the ability to pass a context and additional request options. 1230// 1231// See UntagDeliveryStream for details on how to use this API operation. 1232// 1233// The context must be non-nil and will be used for request cancellation. If 1234// the context is nil a panic will occur. In the future the SDK may create 1235// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1236// for more information on using Contexts. 1237func (c *Firehose) UntagDeliveryStreamWithContext(ctx aws.Context, input *UntagDeliveryStreamInput, opts ...request.Option) (*UntagDeliveryStreamOutput, error) { 1238 req, out := c.UntagDeliveryStreamRequest(input) 1239 req.SetContext(ctx) 1240 req.ApplyOptions(opts...) 1241 return out, req.Send() 1242} 1243 1244const opUpdateDestination = "UpdateDestination" 1245 1246// UpdateDestinationRequest generates a "aws/request.Request" representing the 1247// client's request for the UpdateDestination operation. The "output" return 1248// value will be populated with the request's response once the request completes 1249// successfully. 1250// 1251// Use "Send" method on the returned Request to send the API call to the service. 1252// the "output" return value is not valid until after Send returns without error. 1253// 1254// See UpdateDestination for more information on using the UpdateDestination 1255// API call, and error handling. 1256// 1257// This method is useful when you want to inject custom logic or configuration 1258// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1259// 1260// 1261// // Example sending a request using the UpdateDestinationRequest method. 1262// req, resp := client.UpdateDestinationRequest(params) 1263// 1264// err := req.Send() 1265// if err == nil { // resp is now filled 1266// fmt.Println(resp) 1267// } 1268// 1269// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/UpdateDestination 1270func (c *Firehose) UpdateDestinationRequest(input *UpdateDestinationInput) (req *request.Request, output *UpdateDestinationOutput) { 1271 op := &request.Operation{ 1272 Name: opUpdateDestination, 1273 HTTPMethod: "POST", 1274 HTTPPath: "/", 1275 } 1276 1277 if input == nil { 1278 input = &UpdateDestinationInput{} 1279 } 1280 1281 output = &UpdateDestinationOutput{} 1282 req = c.newRequest(op, input, output) 1283 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1284 return 1285} 1286 1287// UpdateDestination API operation for Amazon Kinesis Firehose. 1288// 1289// Updates the specified destination of the specified delivery stream. 1290// 1291// Use this operation to change the destination type (for example, to replace 1292// the Amazon S3 destination with Amazon Redshift) or change the parameters 1293// associated with a destination (for example, to change the bucket name of 1294// the Amazon S3 destination). The update might not occur immediately. The target 1295// delivery stream remains active while the configurations are updated, so data 1296// writes to the delivery stream can continue during this process. The updated 1297// configurations are usually effective within a few minutes. 1298// 1299// Switching between Amazon ES and other services is not supported. For an Amazon 1300// ES destination, you can only update to another Amazon ES destination. 1301// 1302// If the destination type is the same, Kinesis Data Firehose merges the configuration 1303// parameters specified with the destination configuration that already exists 1304// on the delivery stream. If any of the parameters are not specified in the 1305// call, the existing values are retained. For example, in the Amazon S3 destination, 1306// if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration 1307// is maintained on the destination. 1308// 1309// If the destination type is not the same, for example, changing the destination 1310// from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any 1311// parameters. In this case, all parameters must be specified. 1312// 1313// Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions 1314// and conflicting merges. This is a required field, and the service updates 1315// the configuration only if the existing configuration has a version ID that 1316// matches. After the update is applied successfully, the version ID is updated, 1317// and can be retrieved using DescribeDeliveryStream. Use the new version ID 1318// to set CurrentDeliveryStreamVersionId in the next call. 1319// 1320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1321// with awserr.Error's Code and Message methods to get detailed information about 1322// the error. 1323// 1324// See the AWS API reference guide for Amazon Kinesis Firehose's 1325// API operation UpdateDestination for usage and error information. 1326// 1327// Returned Error Types: 1328// * InvalidArgumentException 1329// The specified input parameter has a value that is not valid. 1330// 1331// * ResourceInUseException 1332// The resource is already in use and not available for this operation. 1333// 1334// * ResourceNotFoundException 1335// The specified resource could not be found. 1336// 1337// * ConcurrentModificationException 1338// Another modification has already happened. Fetch VersionId again and use 1339// it to update the destination. 1340// 1341// See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/UpdateDestination 1342func (c *Firehose) UpdateDestination(input *UpdateDestinationInput) (*UpdateDestinationOutput, error) { 1343 req, out := c.UpdateDestinationRequest(input) 1344 return out, req.Send() 1345} 1346 1347// UpdateDestinationWithContext is the same as UpdateDestination with the addition of 1348// the ability to pass a context and additional request options. 1349// 1350// See UpdateDestination for details on how to use this API operation. 1351// 1352// The context must be non-nil and will be used for request cancellation. If 1353// the context is nil a panic will occur. In the future the SDK may create 1354// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1355// for more information on using Contexts. 1356func (c *Firehose) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDestinationInput, opts ...request.Option) (*UpdateDestinationOutput, error) { 1357 req, out := c.UpdateDestinationRequest(input) 1358 req.SetContext(ctx) 1359 req.ApplyOptions(opts...) 1360 return out, req.Send() 1361} 1362 1363// Describes hints for the buffering to perform before delivering data to the 1364// destination. These options are treated as hints, and therefore Kinesis Data 1365// Firehose might choose to use different values when it is optimal. The SizeInMBs 1366// and IntervalInSeconds parameters are optional. However, if specify a value 1367// for one of them, you must also provide a value for the other. 1368type BufferingHints struct { 1369 _ struct{} `type:"structure"` 1370 1371 // Buffer incoming data for the specified period of time, in seconds, before 1372 // delivering it to the destination. The default value is 300. This parameter 1373 // is optional but if you specify a value for it, you must also specify a value 1374 // for SizeInMBs, and vice versa. 1375 IntervalInSeconds *int64 `min:"60" type:"integer"` 1376 1377 // Buffer incoming data to the specified size, in MiBs, before delivering it 1378 // to the destination. The default value is 5. This parameter is optional but 1379 // if you specify a value for it, you must also specify a value for IntervalInSeconds, 1380 // and vice versa. 1381 // 1382 // We recommend setting this parameter to a value greater than the amount of 1383 // data you typically ingest into the delivery stream in 10 seconds. For example, 1384 // if you typically ingest data at 1 MiB/sec, the value should be 10 MiB or 1385 // higher. 1386 SizeInMBs *int64 `min:"1" type:"integer"` 1387} 1388 1389// String returns the string representation 1390func (s BufferingHints) String() string { 1391 return awsutil.Prettify(s) 1392} 1393 1394// GoString returns the string representation 1395func (s BufferingHints) GoString() string { 1396 return s.String() 1397} 1398 1399// Validate inspects the fields of the type to determine if they are valid. 1400func (s *BufferingHints) Validate() error { 1401 invalidParams := request.ErrInvalidParams{Context: "BufferingHints"} 1402 if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { 1403 invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) 1404 } 1405 if s.SizeInMBs != nil && *s.SizeInMBs < 1 { 1406 invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) 1407 } 1408 1409 if invalidParams.Len() > 0 { 1410 return invalidParams 1411 } 1412 return nil 1413} 1414 1415// SetIntervalInSeconds sets the IntervalInSeconds field's value. 1416func (s *BufferingHints) SetIntervalInSeconds(v int64) *BufferingHints { 1417 s.IntervalInSeconds = &v 1418 return s 1419} 1420 1421// SetSizeInMBs sets the SizeInMBs field's value. 1422func (s *BufferingHints) SetSizeInMBs(v int64) *BufferingHints { 1423 s.SizeInMBs = &v 1424 return s 1425} 1426 1427// Describes the Amazon CloudWatch logging options for your delivery stream. 1428type CloudWatchLoggingOptions struct { 1429 _ struct{} `type:"structure"` 1430 1431 // Enables or disables CloudWatch logging. 1432 Enabled *bool `type:"boolean"` 1433 1434 // The CloudWatch group name for logging. This value is required if CloudWatch 1435 // logging is enabled. 1436 LogGroupName *string `type:"string"` 1437 1438 // The CloudWatch log stream name for logging. This value is required if CloudWatch 1439 // logging is enabled. 1440 LogStreamName *string `type:"string"` 1441} 1442 1443// String returns the string representation 1444func (s CloudWatchLoggingOptions) String() string { 1445 return awsutil.Prettify(s) 1446} 1447 1448// GoString returns the string representation 1449func (s CloudWatchLoggingOptions) GoString() string { 1450 return s.String() 1451} 1452 1453// SetEnabled sets the Enabled field's value. 1454func (s *CloudWatchLoggingOptions) SetEnabled(v bool) *CloudWatchLoggingOptions { 1455 s.Enabled = &v 1456 return s 1457} 1458 1459// SetLogGroupName sets the LogGroupName field's value. 1460func (s *CloudWatchLoggingOptions) SetLogGroupName(v string) *CloudWatchLoggingOptions { 1461 s.LogGroupName = &v 1462 return s 1463} 1464 1465// SetLogStreamName sets the LogStreamName field's value. 1466func (s *CloudWatchLoggingOptions) SetLogStreamName(v string) *CloudWatchLoggingOptions { 1467 s.LogStreamName = &v 1468 return s 1469} 1470 1471// Another modification has already happened. Fetch VersionId again and use 1472// it to update the destination. 1473type ConcurrentModificationException struct { 1474 _ struct{} `type:"structure"` 1475 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1476 1477 // A message that provides information about the error. 1478 Message_ *string `locationName:"message" type:"string"` 1479} 1480 1481// String returns the string representation 1482func (s ConcurrentModificationException) String() string { 1483 return awsutil.Prettify(s) 1484} 1485 1486// GoString returns the string representation 1487func (s ConcurrentModificationException) GoString() string { 1488 return s.String() 1489} 1490 1491func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { 1492 return &ConcurrentModificationException{ 1493 RespMetadata: v, 1494 } 1495} 1496 1497// Code returns the exception type name. 1498func (s *ConcurrentModificationException) Code() string { 1499 return "ConcurrentModificationException" 1500} 1501 1502// Message returns the exception's message. 1503func (s *ConcurrentModificationException) Message() string { 1504 if s.Message_ != nil { 1505 return *s.Message_ 1506 } 1507 return "" 1508} 1509 1510// OrigErr always returns nil, satisfies awserr.Error interface. 1511func (s *ConcurrentModificationException) OrigErr() error { 1512 return nil 1513} 1514 1515func (s *ConcurrentModificationException) Error() string { 1516 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1517} 1518 1519// Status code returns the HTTP status code for the request's response error. 1520func (s *ConcurrentModificationException) StatusCode() int { 1521 return s.RespMetadata.StatusCode 1522} 1523 1524// RequestID returns the service's response RequestID for request. 1525func (s *ConcurrentModificationException) RequestID() string { 1526 return s.RespMetadata.RequestID 1527} 1528 1529// Describes a COPY command for Amazon Redshift. 1530type CopyCommand struct { 1531 _ struct{} `type:"structure"` 1532 1533 // Optional parameters to use with the Amazon Redshift COPY command. For more 1534 // information, see the "Optional Parameters" section of Amazon Redshift COPY 1535 // command (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html). Some 1536 // possible examples that would apply to Kinesis Data Firehose are as follows: 1537 // 1538 // delimiter '\t' lzop; - fields are delimited with "\t" (TAB character) and 1539 // compressed using lzop. 1540 // 1541 // delimiter '|' - fields are delimited with "|" (this is the default delimiter). 1542 // 1543 // delimiter '|' escape - the delimiter should be escaped. 1544 // 1545 // fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' 1546 // - fields are fixed width in the source, with each width specified after every 1547 // column in the table. 1548 // 1549 // JSON 's3://mybucket/jsonpaths.txt' - data is in JSON format, and the path 1550 // specified is the format of the data. 1551 // 1552 // For more examples, see Amazon Redshift COPY command examples (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html). 1553 CopyOptions *string `type:"string"` 1554 1555 // A comma-separated list of column names. 1556 DataTableColumns *string `type:"string"` 1557 1558 // The name of the target table. The table must already exist in the database. 1559 // 1560 // DataTableName is a required field 1561 DataTableName *string `min:"1" type:"string" required:"true"` 1562} 1563 1564// String returns the string representation 1565func (s CopyCommand) String() string { 1566 return awsutil.Prettify(s) 1567} 1568 1569// GoString returns the string representation 1570func (s CopyCommand) GoString() string { 1571 return s.String() 1572} 1573 1574// Validate inspects the fields of the type to determine if they are valid. 1575func (s *CopyCommand) Validate() error { 1576 invalidParams := request.ErrInvalidParams{Context: "CopyCommand"} 1577 if s.DataTableName == nil { 1578 invalidParams.Add(request.NewErrParamRequired("DataTableName")) 1579 } 1580 if s.DataTableName != nil && len(*s.DataTableName) < 1 { 1581 invalidParams.Add(request.NewErrParamMinLen("DataTableName", 1)) 1582 } 1583 1584 if invalidParams.Len() > 0 { 1585 return invalidParams 1586 } 1587 return nil 1588} 1589 1590// SetCopyOptions sets the CopyOptions field's value. 1591func (s *CopyCommand) SetCopyOptions(v string) *CopyCommand { 1592 s.CopyOptions = &v 1593 return s 1594} 1595 1596// SetDataTableColumns sets the DataTableColumns field's value. 1597func (s *CopyCommand) SetDataTableColumns(v string) *CopyCommand { 1598 s.DataTableColumns = &v 1599 return s 1600} 1601 1602// SetDataTableName sets the DataTableName field's value. 1603func (s *CopyCommand) SetDataTableName(v string) *CopyCommand { 1604 s.DataTableName = &v 1605 return s 1606} 1607 1608type CreateDeliveryStreamInput struct { 1609 _ struct{} `type:"structure"` 1610 1611 // Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 1612 // for Server-Side Encryption (SSE). 1613 DeliveryStreamEncryptionConfigurationInput *DeliveryStreamEncryptionConfigurationInput `type:"structure"` 1614 1615 // The name of the delivery stream. This name must be unique per AWS account 1616 // in the same AWS Region. If the delivery streams are in different accounts 1617 // or different Regions, you can have multiple delivery streams with the same 1618 // name. 1619 // 1620 // DeliveryStreamName is a required field 1621 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 1622 1623 // The delivery stream type. This parameter can be one of the following values: 1624 // 1625 // * DirectPut: Provider applications access the delivery stream directly. 1626 // 1627 // * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream 1628 // as a source. 1629 DeliveryStreamType *string `type:"string" enum:"DeliveryStreamType"` 1630 1631 // The destination in Amazon ES. You can specify only one destination. 1632 ElasticsearchDestinationConfiguration *ElasticsearchDestinationConfiguration `type:"structure"` 1633 1634 // The destination in Amazon S3. You can specify only one destination. 1635 ExtendedS3DestinationConfiguration *ExtendedS3DestinationConfiguration `type:"structure"` 1636 1637 // Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint 1638 // destination. You can specify only one destination. 1639 HttpEndpointDestinationConfiguration *HttpEndpointDestinationConfiguration `type:"structure"` 1640 1641 // When a Kinesis data stream is used as the source for the delivery stream, 1642 // a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon 1643 // Resource Name (ARN) and the role ARN for the source stream. 1644 KinesisStreamSourceConfiguration *KinesisStreamSourceConfiguration `type:"structure"` 1645 1646 // The destination in Amazon Redshift. You can specify only one destination. 1647 RedshiftDestinationConfiguration *RedshiftDestinationConfiguration `type:"structure"` 1648 1649 // [Deprecated] The destination in Amazon S3. You can specify only one destination. 1650 // 1651 // Deprecated: S3DestinationConfiguration has been deprecated 1652 S3DestinationConfiguration *S3DestinationConfiguration `deprecated:"true" type:"structure"` 1653 1654 // The destination in Splunk. You can specify only one destination. 1655 SplunkDestinationConfiguration *SplunkDestinationConfiguration `type:"structure"` 1656 1657 // A set of tags to assign to the delivery stream. A tag is a key-value pair 1658 // that you can define and assign to AWS resources. Tags are metadata. For example, 1659 // you can add friendly names and descriptions or other types of information 1660 // that can help you distinguish the delivery stream. For more information about 1661 // tags, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) 1662 // in the AWS Billing and Cost Management User Guide. 1663 // 1664 // You can specify up to 50 tags when creating a delivery stream. 1665 Tags []*Tag `min:"1" type:"list"` 1666} 1667 1668// String returns the string representation 1669func (s CreateDeliveryStreamInput) String() string { 1670 return awsutil.Prettify(s) 1671} 1672 1673// GoString returns the string representation 1674func (s CreateDeliveryStreamInput) GoString() string { 1675 return s.String() 1676} 1677 1678// Validate inspects the fields of the type to determine if they are valid. 1679func (s *CreateDeliveryStreamInput) Validate() error { 1680 invalidParams := request.ErrInvalidParams{Context: "CreateDeliveryStreamInput"} 1681 if s.DeliveryStreamName == nil { 1682 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 1683 } 1684 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 1685 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 1686 } 1687 if s.Tags != nil && len(s.Tags) < 1 { 1688 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 1689 } 1690 if s.DeliveryStreamEncryptionConfigurationInput != nil { 1691 if err := s.DeliveryStreamEncryptionConfigurationInput.Validate(); err != nil { 1692 invalidParams.AddNested("DeliveryStreamEncryptionConfigurationInput", err.(request.ErrInvalidParams)) 1693 } 1694 } 1695 if s.ElasticsearchDestinationConfiguration != nil { 1696 if err := s.ElasticsearchDestinationConfiguration.Validate(); err != nil { 1697 invalidParams.AddNested("ElasticsearchDestinationConfiguration", err.(request.ErrInvalidParams)) 1698 } 1699 } 1700 if s.ExtendedS3DestinationConfiguration != nil { 1701 if err := s.ExtendedS3DestinationConfiguration.Validate(); err != nil { 1702 invalidParams.AddNested("ExtendedS3DestinationConfiguration", err.(request.ErrInvalidParams)) 1703 } 1704 } 1705 if s.HttpEndpointDestinationConfiguration != nil { 1706 if err := s.HttpEndpointDestinationConfiguration.Validate(); err != nil { 1707 invalidParams.AddNested("HttpEndpointDestinationConfiguration", err.(request.ErrInvalidParams)) 1708 } 1709 } 1710 if s.KinesisStreamSourceConfiguration != nil { 1711 if err := s.KinesisStreamSourceConfiguration.Validate(); err != nil { 1712 invalidParams.AddNested("KinesisStreamSourceConfiguration", err.(request.ErrInvalidParams)) 1713 } 1714 } 1715 if s.RedshiftDestinationConfiguration != nil { 1716 if err := s.RedshiftDestinationConfiguration.Validate(); err != nil { 1717 invalidParams.AddNested("RedshiftDestinationConfiguration", err.(request.ErrInvalidParams)) 1718 } 1719 } 1720 if s.S3DestinationConfiguration != nil { 1721 if err := s.S3DestinationConfiguration.Validate(); err != nil { 1722 invalidParams.AddNested("S3DestinationConfiguration", err.(request.ErrInvalidParams)) 1723 } 1724 } 1725 if s.SplunkDestinationConfiguration != nil { 1726 if err := s.SplunkDestinationConfiguration.Validate(); err != nil { 1727 invalidParams.AddNested("SplunkDestinationConfiguration", err.(request.ErrInvalidParams)) 1728 } 1729 } 1730 if s.Tags != nil { 1731 for i, v := range s.Tags { 1732 if v == nil { 1733 continue 1734 } 1735 if err := v.Validate(); err != nil { 1736 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 1737 } 1738 } 1739 } 1740 1741 if invalidParams.Len() > 0 { 1742 return invalidParams 1743 } 1744 return nil 1745} 1746 1747// SetDeliveryStreamEncryptionConfigurationInput sets the DeliveryStreamEncryptionConfigurationInput field's value. 1748func (s *CreateDeliveryStreamInput) SetDeliveryStreamEncryptionConfigurationInput(v *DeliveryStreamEncryptionConfigurationInput) *CreateDeliveryStreamInput { 1749 s.DeliveryStreamEncryptionConfigurationInput = v 1750 return s 1751} 1752 1753// SetDeliveryStreamName sets the DeliveryStreamName field's value. 1754func (s *CreateDeliveryStreamInput) SetDeliveryStreamName(v string) *CreateDeliveryStreamInput { 1755 s.DeliveryStreamName = &v 1756 return s 1757} 1758 1759// SetDeliveryStreamType sets the DeliveryStreamType field's value. 1760func (s *CreateDeliveryStreamInput) SetDeliveryStreamType(v string) *CreateDeliveryStreamInput { 1761 s.DeliveryStreamType = &v 1762 return s 1763} 1764 1765// SetElasticsearchDestinationConfiguration sets the ElasticsearchDestinationConfiguration field's value. 1766func (s *CreateDeliveryStreamInput) SetElasticsearchDestinationConfiguration(v *ElasticsearchDestinationConfiguration) *CreateDeliveryStreamInput { 1767 s.ElasticsearchDestinationConfiguration = v 1768 return s 1769} 1770 1771// SetExtendedS3DestinationConfiguration sets the ExtendedS3DestinationConfiguration field's value. 1772func (s *CreateDeliveryStreamInput) SetExtendedS3DestinationConfiguration(v *ExtendedS3DestinationConfiguration) *CreateDeliveryStreamInput { 1773 s.ExtendedS3DestinationConfiguration = v 1774 return s 1775} 1776 1777// SetHttpEndpointDestinationConfiguration sets the HttpEndpointDestinationConfiguration field's value. 1778func (s *CreateDeliveryStreamInput) SetHttpEndpointDestinationConfiguration(v *HttpEndpointDestinationConfiguration) *CreateDeliveryStreamInput { 1779 s.HttpEndpointDestinationConfiguration = v 1780 return s 1781} 1782 1783// SetKinesisStreamSourceConfiguration sets the KinesisStreamSourceConfiguration field's value. 1784func (s *CreateDeliveryStreamInput) SetKinesisStreamSourceConfiguration(v *KinesisStreamSourceConfiguration) *CreateDeliveryStreamInput { 1785 s.KinesisStreamSourceConfiguration = v 1786 return s 1787} 1788 1789// SetRedshiftDestinationConfiguration sets the RedshiftDestinationConfiguration field's value. 1790func (s *CreateDeliveryStreamInput) SetRedshiftDestinationConfiguration(v *RedshiftDestinationConfiguration) *CreateDeliveryStreamInput { 1791 s.RedshiftDestinationConfiguration = v 1792 return s 1793} 1794 1795// SetS3DestinationConfiguration sets the S3DestinationConfiguration field's value. 1796func (s *CreateDeliveryStreamInput) SetS3DestinationConfiguration(v *S3DestinationConfiguration) *CreateDeliveryStreamInput { 1797 s.S3DestinationConfiguration = v 1798 return s 1799} 1800 1801// SetSplunkDestinationConfiguration sets the SplunkDestinationConfiguration field's value. 1802func (s *CreateDeliveryStreamInput) SetSplunkDestinationConfiguration(v *SplunkDestinationConfiguration) *CreateDeliveryStreamInput { 1803 s.SplunkDestinationConfiguration = v 1804 return s 1805} 1806 1807// SetTags sets the Tags field's value. 1808func (s *CreateDeliveryStreamInput) SetTags(v []*Tag) *CreateDeliveryStreamInput { 1809 s.Tags = v 1810 return s 1811} 1812 1813type CreateDeliveryStreamOutput struct { 1814 _ struct{} `type:"structure"` 1815 1816 // The ARN of the delivery stream. 1817 DeliveryStreamARN *string `min:"1" type:"string"` 1818} 1819 1820// String returns the string representation 1821func (s CreateDeliveryStreamOutput) String() string { 1822 return awsutil.Prettify(s) 1823} 1824 1825// GoString returns the string representation 1826func (s CreateDeliveryStreamOutput) GoString() string { 1827 return s.String() 1828} 1829 1830// SetDeliveryStreamARN sets the DeliveryStreamARN field's value. 1831func (s *CreateDeliveryStreamOutput) SetDeliveryStreamARN(v string) *CreateDeliveryStreamOutput { 1832 s.DeliveryStreamARN = &v 1833 return s 1834} 1835 1836// Specifies that you want Kinesis Data Firehose to convert data from the JSON 1837// format to the Parquet or ORC format before writing it to Amazon S3. Kinesis 1838// Data Firehose uses the serializer and deserializer that you specify, in addition 1839// to the column information from the AWS Glue table, to deserialize your input 1840// data from JSON and then serialize it to the Parquet or ORC format. For more 1841// information, see Kinesis Data Firehose Record Format Conversion (https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html). 1842type DataFormatConversionConfiguration struct { 1843 _ struct{} `type:"structure"` 1844 1845 // Defaults to true. Set it to false if you want to disable format conversion 1846 // while preserving the configuration details. 1847 Enabled *bool `type:"boolean"` 1848 1849 // Specifies the deserializer that you want Kinesis Data Firehose to use to 1850 // convert the format of your data from JSON. This parameter is required if 1851 // Enabled is set to true. 1852 InputFormatConfiguration *InputFormatConfiguration `type:"structure"` 1853 1854 // Specifies the serializer that you want Kinesis Data Firehose to use to convert 1855 // the format of your data to the Parquet or ORC format. This parameter is required 1856 // if Enabled is set to true. 1857 OutputFormatConfiguration *OutputFormatConfiguration `type:"structure"` 1858 1859 // Specifies the AWS Glue Data Catalog table that contains the column information. 1860 // This parameter is required if Enabled is set to true. 1861 SchemaConfiguration *SchemaConfiguration `type:"structure"` 1862} 1863 1864// String returns the string representation 1865func (s DataFormatConversionConfiguration) String() string { 1866 return awsutil.Prettify(s) 1867} 1868 1869// GoString returns the string representation 1870func (s DataFormatConversionConfiguration) GoString() string { 1871 return s.String() 1872} 1873 1874// Validate inspects the fields of the type to determine if they are valid. 1875func (s *DataFormatConversionConfiguration) Validate() error { 1876 invalidParams := request.ErrInvalidParams{Context: "DataFormatConversionConfiguration"} 1877 if s.OutputFormatConfiguration != nil { 1878 if err := s.OutputFormatConfiguration.Validate(); err != nil { 1879 invalidParams.AddNested("OutputFormatConfiguration", err.(request.ErrInvalidParams)) 1880 } 1881 } 1882 if s.SchemaConfiguration != nil { 1883 if err := s.SchemaConfiguration.Validate(); err != nil { 1884 invalidParams.AddNested("SchemaConfiguration", err.(request.ErrInvalidParams)) 1885 } 1886 } 1887 1888 if invalidParams.Len() > 0 { 1889 return invalidParams 1890 } 1891 return nil 1892} 1893 1894// SetEnabled sets the Enabled field's value. 1895func (s *DataFormatConversionConfiguration) SetEnabled(v bool) *DataFormatConversionConfiguration { 1896 s.Enabled = &v 1897 return s 1898} 1899 1900// SetInputFormatConfiguration sets the InputFormatConfiguration field's value. 1901func (s *DataFormatConversionConfiguration) SetInputFormatConfiguration(v *InputFormatConfiguration) *DataFormatConversionConfiguration { 1902 s.InputFormatConfiguration = v 1903 return s 1904} 1905 1906// SetOutputFormatConfiguration sets the OutputFormatConfiguration field's value. 1907func (s *DataFormatConversionConfiguration) SetOutputFormatConfiguration(v *OutputFormatConfiguration) *DataFormatConversionConfiguration { 1908 s.OutputFormatConfiguration = v 1909 return s 1910} 1911 1912// SetSchemaConfiguration sets the SchemaConfiguration field's value. 1913func (s *DataFormatConversionConfiguration) SetSchemaConfiguration(v *SchemaConfiguration) *DataFormatConversionConfiguration { 1914 s.SchemaConfiguration = v 1915 return s 1916} 1917 1918type DeleteDeliveryStreamInput struct { 1919 _ struct{} `type:"structure"` 1920 1921 // Set this to true if you want to delete the delivery stream even if Kinesis 1922 // Data Firehose is unable to retire the grant for the CMK. Kinesis Data Firehose 1923 // might be unable to retire the grant due to a customer error, such as when 1924 // the CMK or the grant are in an invalid state. If you force deletion, you 1925 // can then use the RevokeGrant (https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html) 1926 // operation to revoke the grant you gave to Kinesis Data Firehose. If a failure 1927 // to retire the grant happens due to an AWS KMS issue, Kinesis Data Firehose 1928 // keeps retrying the delete operation. 1929 // 1930 // The default value is false. 1931 AllowForceDelete *bool `type:"boolean"` 1932 1933 // The name of the delivery stream. 1934 // 1935 // DeliveryStreamName is a required field 1936 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 1937} 1938 1939// String returns the string representation 1940func (s DeleteDeliveryStreamInput) String() string { 1941 return awsutil.Prettify(s) 1942} 1943 1944// GoString returns the string representation 1945func (s DeleteDeliveryStreamInput) GoString() string { 1946 return s.String() 1947} 1948 1949// Validate inspects the fields of the type to determine if they are valid. 1950func (s *DeleteDeliveryStreamInput) Validate() error { 1951 invalidParams := request.ErrInvalidParams{Context: "DeleteDeliveryStreamInput"} 1952 if s.DeliveryStreamName == nil { 1953 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 1954 } 1955 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 1956 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 1957 } 1958 1959 if invalidParams.Len() > 0 { 1960 return invalidParams 1961 } 1962 return nil 1963} 1964 1965// SetAllowForceDelete sets the AllowForceDelete field's value. 1966func (s *DeleteDeliveryStreamInput) SetAllowForceDelete(v bool) *DeleteDeliveryStreamInput { 1967 s.AllowForceDelete = &v 1968 return s 1969} 1970 1971// SetDeliveryStreamName sets the DeliveryStreamName field's value. 1972func (s *DeleteDeliveryStreamInput) SetDeliveryStreamName(v string) *DeleteDeliveryStreamInput { 1973 s.DeliveryStreamName = &v 1974 return s 1975} 1976 1977type DeleteDeliveryStreamOutput struct { 1978 _ struct{} `type:"structure"` 1979} 1980 1981// String returns the string representation 1982func (s DeleteDeliveryStreamOutput) String() string { 1983 return awsutil.Prettify(s) 1984} 1985 1986// GoString returns the string representation 1987func (s DeleteDeliveryStreamOutput) GoString() string { 1988 return s.String() 1989} 1990 1991// Contains information about a delivery stream. 1992type DeliveryStreamDescription struct { 1993 _ struct{} `type:"structure"` 1994 1995 // The date and time that the delivery stream was created. 1996 CreateTimestamp *time.Time `type:"timestamp"` 1997 1998 // The Amazon Resource Name (ARN) of the delivery stream. For more information, 1999 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 2000 // 2001 // DeliveryStreamARN is a required field 2002 DeliveryStreamARN *string `min:"1" type:"string" required:"true"` 2003 2004 // Indicates the server-side encryption (SSE) status for the delivery stream. 2005 DeliveryStreamEncryptionConfiguration *DeliveryStreamEncryptionConfiguration `type:"structure"` 2006 2007 // The name of the delivery stream. 2008 // 2009 // DeliveryStreamName is a required field 2010 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 2011 2012 // The status of the delivery stream. If the status of a delivery stream is 2013 // CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream 2014 // again on it. However, you can invoke the DeleteDeliveryStream operation to 2015 // delete it. 2016 // 2017 // DeliveryStreamStatus is a required field 2018 DeliveryStreamStatus *string `type:"string" required:"true" enum:"DeliveryStreamStatus"` 2019 2020 // The delivery stream type. This can be one of the following values: 2021 // 2022 // * DirectPut: Provider applications access the delivery stream directly. 2023 // 2024 // * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream 2025 // as a source. 2026 // 2027 // DeliveryStreamType is a required field 2028 DeliveryStreamType *string `type:"string" required:"true" enum:"DeliveryStreamType"` 2029 2030 // The destinations. 2031 // 2032 // Destinations is a required field 2033 Destinations []*DestinationDescription `type:"list" required:"true"` 2034 2035 // Provides details in case one of the following operations fails due to an 2036 // error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, 2037 // StopDeliveryStreamEncryption. 2038 FailureDescription *FailureDescription `type:"structure"` 2039 2040 // Indicates whether there are more destinations available to list. 2041 // 2042 // HasMoreDestinations is a required field 2043 HasMoreDestinations *bool `type:"boolean" required:"true"` 2044 2045 // The date and time that the delivery stream was last updated. 2046 LastUpdateTimestamp *time.Time `type:"timestamp"` 2047 2048 // If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription 2049 // object describing the source Kinesis data stream. 2050 Source *SourceDescription `type:"structure"` 2051 2052 // Each time the destination is updated for a delivery stream, the version ID 2053 // is changed, and the current version ID is required when updating the destination. 2054 // This is so that the service knows it is applying the changes to the correct 2055 // version of the delivery stream. 2056 // 2057 // VersionId is a required field 2058 VersionId *string `min:"1" type:"string" required:"true"` 2059} 2060 2061// String returns the string representation 2062func (s DeliveryStreamDescription) String() string { 2063 return awsutil.Prettify(s) 2064} 2065 2066// GoString returns the string representation 2067func (s DeliveryStreamDescription) GoString() string { 2068 return s.String() 2069} 2070 2071// SetCreateTimestamp sets the CreateTimestamp field's value. 2072func (s *DeliveryStreamDescription) SetCreateTimestamp(v time.Time) *DeliveryStreamDescription { 2073 s.CreateTimestamp = &v 2074 return s 2075} 2076 2077// SetDeliveryStreamARN sets the DeliveryStreamARN field's value. 2078func (s *DeliveryStreamDescription) SetDeliveryStreamARN(v string) *DeliveryStreamDescription { 2079 s.DeliveryStreamARN = &v 2080 return s 2081} 2082 2083// SetDeliveryStreamEncryptionConfiguration sets the DeliveryStreamEncryptionConfiguration field's value. 2084func (s *DeliveryStreamDescription) SetDeliveryStreamEncryptionConfiguration(v *DeliveryStreamEncryptionConfiguration) *DeliveryStreamDescription { 2085 s.DeliveryStreamEncryptionConfiguration = v 2086 return s 2087} 2088 2089// SetDeliveryStreamName sets the DeliveryStreamName field's value. 2090func (s *DeliveryStreamDescription) SetDeliveryStreamName(v string) *DeliveryStreamDescription { 2091 s.DeliveryStreamName = &v 2092 return s 2093} 2094 2095// SetDeliveryStreamStatus sets the DeliveryStreamStatus field's value. 2096func (s *DeliveryStreamDescription) SetDeliveryStreamStatus(v string) *DeliveryStreamDescription { 2097 s.DeliveryStreamStatus = &v 2098 return s 2099} 2100 2101// SetDeliveryStreamType sets the DeliveryStreamType field's value. 2102func (s *DeliveryStreamDescription) SetDeliveryStreamType(v string) *DeliveryStreamDescription { 2103 s.DeliveryStreamType = &v 2104 return s 2105} 2106 2107// SetDestinations sets the Destinations field's value. 2108func (s *DeliveryStreamDescription) SetDestinations(v []*DestinationDescription) *DeliveryStreamDescription { 2109 s.Destinations = v 2110 return s 2111} 2112 2113// SetFailureDescription sets the FailureDescription field's value. 2114func (s *DeliveryStreamDescription) SetFailureDescription(v *FailureDescription) *DeliveryStreamDescription { 2115 s.FailureDescription = v 2116 return s 2117} 2118 2119// SetHasMoreDestinations sets the HasMoreDestinations field's value. 2120func (s *DeliveryStreamDescription) SetHasMoreDestinations(v bool) *DeliveryStreamDescription { 2121 s.HasMoreDestinations = &v 2122 return s 2123} 2124 2125// SetLastUpdateTimestamp sets the LastUpdateTimestamp field's value. 2126func (s *DeliveryStreamDescription) SetLastUpdateTimestamp(v time.Time) *DeliveryStreamDescription { 2127 s.LastUpdateTimestamp = &v 2128 return s 2129} 2130 2131// SetSource sets the Source field's value. 2132func (s *DeliveryStreamDescription) SetSource(v *SourceDescription) *DeliveryStreamDescription { 2133 s.Source = v 2134 return s 2135} 2136 2137// SetVersionId sets the VersionId field's value. 2138func (s *DeliveryStreamDescription) SetVersionId(v string) *DeliveryStreamDescription { 2139 s.VersionId = &v 2140 return s 2141} 2142 2143// Contains information about the server-side encryption (SSE) status for the 2144// delivery stream, the type customer master key (CMK) in use, if any, and the 2145// ARN of the CMK. You can get DeliveryStreamEncryptionConfiguration by invoking 2146// the DescribeDeliveryStream operation. 2147type DeliveryStreamEncryptionConfiguration struct { 2148 _ struct{} `type:"structure"` 2149 2150 // Provides details in case one of the following operations fails due to an 2151 // error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, 2152 // StopDeliveryStreamEncryption. 2153 FailureDescription *FailureDescription `type:"structure"` 2154 2155 // If KeyType is CUSTOMER_MANAGED_CMK, this field contains the ARN of the customer 2156 // managed CMK. If KeyType is AWS_OWNED_CMK, DeliveryStreamEncryptionConfiguration 2157 // doesn't contain a value for KeyARN. 2158 KeyARN *string `min:"1" type:"string"` 2159 2160 // Indicates the type of customer master key (CMK) that is used for encryption. 2161 // The default setting is AWS_OWNED_CMK. For more information about CMKs, see 2162 // Customer Master Keys (CMKs) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). 2163 KeyType *string `type:"string" enum:"KeyType"` 2164 2165 // This is the server-side encryption (SSE) status for the delivery stream. 2166 // For a full description of the different values of this status, see StartDeliveryStreamEncryption 2167 // and StopDeliveryStreamEncryption. If this status is ENABLING_FAILED or DISABLING_FAILED, 2168 // it is the status of the most recent attempt to enable or disable SSE, respectively. 2169 Status *string `type:"string" enum:"DeliveryStreamEncryptionStatus"` 2170} 2171 2172// String returns the string representation 2173func (s DeliveryStreamEncryptionConfiguration) String() string { 2174 return awsutil.Prettify(s) 2175} 2176 2177// GoString returns the string representation 2178func (s DeliveryStreamEncryptionConfiguration) GoString() string { 2179 return s.String() 2180} 2181 2182// SetFailureDescription sets the FailureDescription field's value. 2183func (s *DeliveryStreamEncryptionConfiguration) SetFailureDescription(v *FailureDescription) *DeliveryStreamEncryptionConfiguration { 2184 s.FailureDescription = v 2185 return s 2186} 2187 2188// SetKeyARN sets the KeyARN field's value. 2189func (s *DeliveryStreamEncryptionConfiguration) SetKeyARN(v string) *DeliveryStreamEncryptionConfiguration { 2190 s.KeyARN = &v 2191 return s 2192} 2193 2194// SetKeyType sets the KeyType field's value. 2195func (s *DeliveryStreamEncryptionConfiguration) SetKeyType(v string) *DeliveryStreamEncryptionConfiguration { 2196 s.KeyType = &v 2197 return s 2198} 2199 2200// SetStatus sets the Status field's value. 2201func (s *DeliveryStreamEncryptionConfiguration) SetStatus(v string) *DeliveryStreamEncryptionConfiguration { 2202 s.Status = &v 2203 return s 2204} 2205 2206// Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side 2207// Encryption (SSE). 2208type DeliveryStreamEncryptionConfigurationInput struct { 2209 _ struct{} `type:"structure"` 2210 2211 // If you set KeyType to CUSTOMER_MANAGED_CMK, you must specify the Amazon Resource 2212 // Name (ARN) of the CMK. If you set KeyType to AWS_OWNED_CMK, Kinesis Data 2213 // Firehose uses a service-account CMK. 2214 KeyARN *string `min:"1" type:"string"` 2215 2216 // Indicates the type of customer master key (CMK) to use for encryption. The 2217 // default setting is AWS_OWNED_CMK. For more information about CMKs, see Customer 2218 // Master Keys (CMKs) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). 2219 // When you invoke CreateDeliveryStream or StartDeliveryStreamEncryption with 2220 // KeyType set to CUSTOMER_MANAGED_CMK, Kinesis Data Firehose invokes the Amazon 2221 // KMS operation CreateGrant (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 2222 // to create a grant that allows the Kinesis Data Firehose service to use the 2223 // customer managed CMK to perform encryption and decryption. Kinesis Data Firehose 2224 // manages that grant. 2225 // 2226 // When you invoke StartDeliveryStreamEncryption to change the CMK for a delivery 2227 // stream that is encrypted with a customer managed CMK, Kinesis Data Firehose 2228 // schedules the grant it had on the old CMK for retirement. 2229 // 2230 // You can use a CMK of type CUSTOMER_MANAGED_CMK to encrypt up to 500 delivery 2231 // streams. If a CreateDeliveryStream or StartDeliveryStreamEncryption operation 2232 // exceeds this limit, Kinesis Data Firehose throws a LimitExceededException. 2233 // 2234 // To encrypt your delivery stream, use symmetric CMKs. Kinesis Data Firehose 2235 // doesn't support asymmetric CMKs. For information about symmetric and asymmetric 2236 // CMKs, see About Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html) 2237 // in the AWS Key Management Service developer guide. 2238 // 2239 // KeyType is a required field 2240 KeyType *string `type:"string" required:"true" enum:"KeyType"` 2241} 2242 2243// String returns the string representation 2244func (s DeliveryStreamEncryptionConfigurationInput) String() string { 2245 return awsutil.Prettify(s) 2246} 2247 2248// GoString returns the string representation 2249func (s DeliveryStreamEncryptionConfigurationInput) GoString() string { 2250 return s.String() 2251} 2252 2253// Validate inspects the fields of the type to determine if they are valid. 2254func (s *DeliveryStreamEncryptionConfigurationInput) Validate() error { 2255 invalidParams := request.ErrInvalidParams{Context: "DeliveryStreamEncryptionConfigurationInput"} 2256 if s.KeyARN != nil && len(*s.KeyARN) < 1 { 2257 invalidParams.Add(request.NewErrParamMinLen("KeyARN", 1)) 2258 } 2259 if s.KeyType == nil { 2260 invalidParams.Add(request.NewErrParamRequired("KeyType")) 2261 } 2262 2263 if invalidParams.Len() > 0 { 2264 return invalidParams 2265 } 2266 return nil 2267} 2268 2269// SetKeyARN sets the KeyARN field's value. 2270func (s *DeliveryStreamEncryptionConfigurationInput) SetKeyARN(v string) *DeliveryStreamEncryptionConfigurationInput { 2271 s.KeyARN = &v 2272 return s 2273} 2274 2275// SetKeyType sets the KeyType field's value. 2276func (s *DeliveryStreamEncryptionConfigurationInput) SetKeyType(v string) *DeliveryStreamEncryptionConfigurationInput { 2277 s.KeyType = &v 2278 return s 2279} 2280 2281type DescribeDeliveryStreamInput struct { 2282 _ struct{} `type:"structure"` 2283 2284 // The name of the delivery stream. 2285 // 2286 // DeliveryStreamName is a required field 2287 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 2288 2289 // The ID of the destination to start returning the destination information. 2290 // Kinesis Data Firehose supports one destination per delivery stream. 2291 ExclusiveStartDestinationId *string `min:"1" type:"string"` 2292 2293 // The limit on the number of destinations to return. You can have one destination 2294 // per delivery stream. 2295 Limit *int64 `min:"1" type:"integer"` 2296} 2297 2298// String returns the string representation 2299func (s DescribeDeliveryStreamInput) String() string { 2300 return awsutil.Prettify(s) 2301} 2302 2303// GoString returns the string representation 2304func (s DescribeDeliveryStreamInput) GoString() string { 2305 return s.String() 2306} 2307 2308// Validate inspects the fields of the type to determine if they are valid. 2309func (s *DescribeDeliveryStreamInput) Validate() error { 2310 invalidParams := request.ErrInvalidParams{Context: "DescribeDeliveryStreamInput"} 2311 if s.DeliveryStreamName == nil { 2312 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 2313 } 2314 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 2315 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 2316 } 2317 if s.ExclusiveStartDestinationId != nil && len(*s.ExclusiveStartDestinationId) < 1 { 2318 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartDestinationId", 1)) 2319 } 2320 if s.Limit != nil && *s.Limit < 1 { 2321 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 2322 } 2323 2324 if invalidParams.Len() > 0 { 2325 return invalidParams 2326 } 2327 return nil 2328} 2329 2330// SetDeliveryStreamName sets the DeliveryStreamName field's value. 2331func (s *DescribeDeliveryStreamInput) SetDeliveryStreamName(v string) *DescribeDeliveryStreamInput { 2332 s.DeliveryStreamName = &v 2333 return s 2334} 2335 2336// SetExclusiveStartDestinationId sets the ExclusiveStartDestinationId field's value. 2337func (s *DescribeDeliveryStreamInput) SetExclusiveStartDestinationId(v string) *DescribeDeliveryStreamInput { 2338 s.ExclusiveStartDestinationId = &v 2339 return s 2340} 2341 2342// SetLimit sets the Limit field's value. 2343func (s *DescribeDeliveryStreamInput) SetLimit(v int64) *DescribeDeliveryStreamInput { 2344 s.Limit = &v 2345 return s 2346} 2347 2348type DescribeDeliveryStreamOutput struct { 2349 _ struct{} `type:"structure"` 2350 2351 // Information about the delivery stream. 2352 // 2353 // DeliveryStreamDescription is a required field 2354 DeliveryStreamDescription *DeliveryStreamDescription `type:"structure" required:"true"` 2355} 2356 2357// String returns the string representation 2358func (s DescribeDeliveryStreamOutput) String() string { 2359 return awsutil.Prettify(s) 2360} 2361 2362// GoString returns the string representation 2363func (s DescribeDeliveryStreamOutput) GoString() string { 2364 return s.String() 2365} 2366 2367// SetDeliveryStreamDescription sets the DeliveryStreamDescription field's value. 2368func (s *DescribeDeliveryStreamOutput) SetDeliveryStreamDescription(v *DeliveryStreamDescription) *DescribeDeliveryStreamOutput { 2369 s.DeliveryStreamDescription = v 2370 return s 2371} 2372 2373// The deserializer you want Kinesis Data Firehose to use for converting the 2374// input data from JSON. Kinesis Data Firehose then serializes the data to its 2375// final format using the Serializer. Kinesis Data Firehose supports two types 2376// of deserializers: the Apache Hive JSON SerDe (https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-JSON) 2377// and the OpenX JSON SerDe (https://github.com/rcongiu/Hive-JSON-Serde). 2378type Deserializer struct { 2379 _ struct{} `type:"structure"` 2380 2381 // The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing 2382 // data, which means converting it from the JSON format in preparation for serializing 2383 // it to the Parquet or ORC format. This is one of two deserializers you can 2384 // choose, depending on which one offers the functionality you need. The other 2385 // option is the OpenX SerDe. 2386 HiveJsonSerDe *HiveJsonSerDe `type:"structure"` 2387 2388 // The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which 2389 // means converting it from the JSON format in preparation for serializing it 2390 // to the Parquet or ORC format. This is one of two deserializers you can choose, 2391 // depending on which one offers the functionality you need. The other option 2392 // is the native Hive / HCatalog JsonSerDe. 2393 OpenXJsonSerDe *OpenXJsonSerDe `type:"structure"` 2394} 2395 2396// String returns the string representation 2397func (s Deserializer) String() string { 2398 return awsutil.Prettify(s) 2399} 2400 2401// GoString returns the string representation 2402func (s Deserializer) GoString() string { 2403 return s.String() 2404} 2405 2406// SetHiveJsonSerDe sets the HiveJsonSerDe field's value. 2407func (s *Deserializer) SetHiveJsonSerDe(v *HiveJsonSerDe) *Deserializer { 2408 s.HiveJsonSerDe = v 2409 return s 2410} 2411 2412// SetOpenXJsonSerDe sets the OpenXJsonSerDe field's value. 2413func (s *Deserializer) SetOpenXJsonSerDe(v *OpenXJsonSerDe) *Deserializer { 2414 s.OpenXJsonSerDe = v 2415 return s 2416} 2417 2418// Describes the destination for a delivery stream. 2419type DestinationDescription struct { 2420 _ struct{} `type:"structure"` 2421 2422 // The ID of the destination. 2423 // 2424 // DestinationId is a required field 2425 DestinationId *string `min:"1" type:"string" required:"true"` 2426 2427 // The destination in Amazon ES. 2428 ElasticsearchDestinationDescription *ElasticsearchDestinationDescription `type:"structure"` 2429 2430 // The destination in Amazon S3. 2431 ExtendedS3DestinationDescription *ExtendedS3DestinationDescription `type:"structure"` 2432 2433 // Describes the specified HTTP endpoint destination. 2434 HttpEndpointDestinationDescription *HttpEndpointDestinationDescription `type:"structure"` 2435 2436 // The destination in Amazon Redshift. 2437 RedshiftDestinationDescription *RedshiftDestinationDescription `type:"structure"` 2438 2439 // [Deprecated] The destination in Amazon S3. 2440 S3DestinationDescription *S3DestinationDescription `type:"structure"` 2441 2442 // The destination in Splunk. 2443 SplunkDestinationDescription *SplunkDestinationDescription `type:"structure"` 2444} 2445 2446// String returns the string representation 2447func (s DestinationDescription) String() string { 2448 return awsutil.Prettify(s) 2449} 2450 2451// GoString returns the string representation 2452func (s DestinationDescription) GoString() string { 2453 return s.String() 2454} 2455 2456// SetDestinationId sets the DestinationId field's value. 2457func (s *DestinationDescription) SetDestinationId(v string) *DestinationDescription { 2458 s.DestinationId = &v 2459 return s 2460} 2461 2462// SetElasticsearchDestinationDescription sets the ElasticsearchDestinationDescription field's value. 2463func (s *DestinationDescription) SetElasticsearchDestinationDescription(v *ElasticsearchDestinationDescription) *DestinationDescription { 2464 s.ElasticsearchDestinationDescription = v 2465 return s 2466} 2467 2468// SetExtendedS3DestinationDescription sets the ExtendedS3DestinationDescription field's value. 2469func (s *DestinationDescription) SetExtendedS3DestinationDescription(v *ExtendedS3DestinationDescription) *DestinationDescription { 2470 s.ExtendedS3DestinationDescription = v 2471 return s 2472} 2473 2474// SetHttpEndpointDestinationDescription sets the HttpEndpointDestinationDescription field's value. 2475func (s *DestinationDescription) SetHttpEndpointDestinationDescription(v *HttpEndpointDestinationDescription) *DestinationDescription { 2476 s.HttpEndpointDestinationDescription = v 2477 return s 2478} 2479 2480// SetRedshiftDestinationDescription sets the RedshiftDestinationDescription field's value. 2481func (s *DestinationDescription) SetRedshiftDestinationDescription(v *RedshiftDestinationDescription) *DestinationDescription { 2482 s.RedshiftDestinationDescription = v 2483 return s 2484} 2485 2486// SetS3DestinationDescription sets the S3DestinationDescription field's value. 2487func (s *DestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *DestinationDescription { 2488 s.S3DestinationDescription = v 2489 return s 2490} 2491 2492// SetSplunkDestinationDescription sets the SplunkDestinationDescription field's value. 2493func (s *DestinationDescription) SetSplunkDestinationDescription(v *SplunkDestinationDescription) *DestinationDescription { 2494 s.SplunkDestinationDescription = v 2495 return s 2496} 2497 2498// Describes the buffering to perform before delivering data to the Amazon ES 2499// destination. 2500type ElasticsearchBufferingHints struct { 2501 _ struct{} `type:"structure"` 2502 2503 // Buffer incoming data for the specified period of time, in seconds, before 2504 // delivering it to the destination. The default value is 300 (5 minutes). 2505 IntervalInSeconds *int64 `min:"60" type:"integer"` 2506 2507 // Buffer incoming data to the specified size, in MBs, before delivering it 2508 // to the destination. The default value is 5. 2509 // 2510 // We recommend setting this parameter to a value greater than the amount of 2511 // data you typically ingest into the delivery stream in 10 seconds. For example, 2512 // if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher. 2513 SizeInMBs *int64 `min:"1" type:"integer"` 2514} 2515 2516// String returns the string representation 2517func (s ElasticsearchBufferingHints) String() string { 2518 return awsutil.Prettify(s) 2519} 2520 2521// GoString returns the string representation 2522func (s ElasticsearchBufferingHints) GoString() string { 2523 return s.String() 2524} 2525 2526// Validate inspects the fields of the type to determine if they are valid. 2527func (s *ElasticsearchBufferingHints) Validate() error { 2528 invalidParams := request.ErrInvalidParams{Context: "ElasticsearchBufferingHints"} 2529 if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { 2530 invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) 2531 } 2532 if s.SizeInMBs != nil && *s.SizeInMBs < 1 { 2533 invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) 2534 } 2535 2536 if invalidParams.Len() > 0 { 2537 return invalidParams 2538 } 2539 return nil 2540} 2541 2542// SetIntervalInSeconds sets the IntervalInSeconds field's value. 2543func (s *ElasticsearchBufferingHints) SetIntervalInSeconds(v int64) *ElasticsearchBufferingHints { 2544 s.IntervalInSeconds = &v 2545 return s 2546} 2547 2548// SetSizeInMBs sets the SizeInMBs field's value. 2549func (s *ElasticsearchBufferingHints) SetSizeInMBs(v int64) *ElasticsearchBufferingHints { 2550 s.SizeInMBs = &v 2551 return s 2552} 2553 2554// Describes the configuration of a destination in Amazon ES. 2555type ElasticsearchDestinationConfiguration struct { 2556 _ struct{} `type:"structure"` 2557 2558 // The buffering options. If no value is specified, the default values for ElasticsearchBufferingHints 2559 // are used. 2560 BufferingHints *ElasticsearchBufferingHints `type:"structure"` 2561 2562 // The Amazon CloudWatch logging options for your delivery stream. 2563 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 2564 2565 // The endpoint to use when communicating with the cluster. Specify either this 2566 // ClusterEndpoint or the DomainARN field. 2567 ClusterEndpoint *string `min:"1" type:"string"` 2568 2569 // The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, 2570 // DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after 2571 // assuming the role specified in RoleARN. For more information, see Amazon 2572 // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 2573 // 2574 // Specify either ClusterEndpoint or DomainARN. 2575 DomainARN *string `min:"1" type:"string"` 2576 2577 // The Elasticsearch index name. 2578 // 2579 // IndexName is a required field 2580 IndexName *string `min:"1" type:"string" required:"true"` 2581 2582 // The Elasticsearch index rotation period. Index rotation appends a timestamp 2583 // to the IndexName to facilitate the expiration of old data. For more information, 2584 // see Index Rotation for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). 2585 // The default value is OneDay. 2586 IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` 2587 2588 // The data processing configuration. 2589 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 2590 2591 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 2592 // to Amazon ES. The default value is 300 (5 minutes). 2593 RetryOptions *ElasticsearchRetryOptions `type:"structure"` 2594 2595 // The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 2596 // Firehose for calling the Amazon ES Configuration API and for indexing documents. 2597 // For more information, see Grant Kinesis Data Firehose Access to an Amazon 2598 // S3 Destination (https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) 2599 // and Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 2600 // 2601 // RoleARN is a required field 2602 RoleARN *string `min:"1" type:"string" required:"true"` 2603 2604 // Defines how documents should be delivered to Amazon S3. When it is set to 2605 // FailedDocumentsOnly, Kinesis Data Firehose writes any documents that could 2606 // not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ 2607 // appended to the key prefix. When set to AllDocuments, Kinesis Data Firehose 2608 // delivers all incoming records to Amazon S3, and also writes failed documents 2609 // with elasticsearch-failed/ appended to the prefix. For more information, 2610 // see Amazon S3 Backup for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup). 2611 // Default value is FailedDocumentsOnly. 2612 // 2613 // You can't change this backup mode after you create the delivery stream. 2614 S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` 2615 2616 // The configuration for the backup Amazon S3 location. 2617 // 2618 // S3Configuration is a required field 2619 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 2620 2621 // The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 2622 // type per index. If you try to specify a new type for an existing index that 2623 // already has another type, Kinesis Data Firehose returns an error during run 2624 // time. 2625 // 2626 // For Elasticsearch 7.x, don't specify a TypeName. 2627 TypeName *string `type:"string"` 2628 2629 // The details of the VPC of the Amazon ES destination. 2630 VpcConfiguration *VpcConfiguration `type:"structure"` 2631} 2632 2633// String returns the string representation 2634func (s ElasticsearchDestinationConfiguration) String() string { 2635 return awsutil.Prettify(s) 2636} 2637 2638// GoString returns the string representation 2639func (s ElasticsearchDestinationConfiguration) GoString() string { 2640 return s.String() 2641} 2642 2643// Validate inspects the fields of the type to determine if they are valid. 2644func (s *ElasticsearchDestinationConfiguration) Validate() error { 2645 invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDestinationConfiguration"} 2646 if s.ClusterEndpoint != nil && len(*s.ClusterEndpoint) < 1 { 2647 invalidParams.Add(request.NewErrParamMinLen("ClusterEndpoint", 1)) 2648 } 2649 if s.DomainARN != nil && len(*s.DomainARN) < 1 { 2650 invalidParams.Add(request.NewErrParamMinLen("DomainARN", 1)) 2651 } 2652 if s.IndexName == nil { 2653 invalidParams.Add(request.NewErrParamRequired("IndexName")) 2654 } 2655 if s.IndexName != nil && len(*s.IndexName) < 1 { 2656 invalidParams.Add(request.NewErrParamMinLen("IndexName", 1)) 2657 } 2658 if s.RoleARN == nil { 2659 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 2660 } 2661 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 2662 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 2663 } 2664 if s.S3Configuration == nil { 2665 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 2666 } 2667 if s.BufferingHints != nil { 2668 if err := s.BufferingHints.Validate(); err != nil { 2669 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 2670 } 2671 } 2672 if s.ProcessingConfiguration != nil { 2673 if err := s.ProcessingConfiguration.Validate(); err != nil { 2674 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 2675 } 2676 } 2677 if s.S3Configuration != nil { 2678 if err := s.S3Configuration.Validate(); err != nil { 2679 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 2680 } 2681 } 2682 if s.VpcConfiguration != nil { 2683 if err := s.VpcConfiguration.Validate(); err != nil { 2684 invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) 2685 } 2686 } 2687 2688 if invalidParams.Len() > 0 { 2689 return invalidParams 2690 } 2691 return nil 2692} 2693 2694// SetBufferingHints sets the BufferingHints field's value. 2695func (s *ElasticsearchDestinationConfiguration) SetBufferingHints(v *ElasticsearchBufferingHints) *ElasticsearchDestinationConfiguration { 2696 s.BufferingHints = v 2697 return s 2698} 2699 2700// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 2701func (s *ElasticsearchDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ElasticsearchDestinationConfiguration { 2702 s.CloudWatchLoggingOptions = v 2703 return s 2704} 2705 2706// SetClusterEndpoint sets the ClusterEndpoint field's value. 2707func (s *ElasticsearchDestinationConfiguration) SetClusterEndpoint(v string) *ElasticsearchDestinationConfiguration { 2708 s.ClusterEndpoint = &v 2709 return s 2710} 2711 2712// SetDomainARN sets the DomainARN field's value. 2713func (s *ElasticsearchDestinationConfiguration) SetDomainARN(v string) *ElasticsearchDestinationConfiguration { 2714 s.DomainARN = &v 2715 return s 2716} 2717 2718// SetIndexName sets the IndexName field's value. 2719func (s *ElasticsearchDestinationConfiguration) SetIndexName(v string) *ElasticsearchDestinationConfiguration { 2720 s.IndexName = &v 2721 return s 2722} 2723 2724// SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 2725func (s *ElasticsearchDestinationConfiguration) SetIndexRotationPeriod(v string) *ElasticsearchDestinationConfiguration { 2726 s.IndexRotationPeriod = &v 2727 return s 2728} 2729 2730// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 2731func (s *ElasticsearchDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *ElasticsearchDestinationConfiguration { 2732 s.ProcessingConfiguration = v 2733 return s 2734} 2735 2736// SetRetryOptions sets the RetryOptions field's value. 2737func (s *ElasticsearchDestinationConfiguration) SetRetryOptions(v *ElasticsearchRetryOptions) *ElasticsearchDestinationConfiguration { 2738 s.RetryOptions = v 2739 return s 2740} 2741 2742// SetRoleARN sets the RoleARN field's value. 2743func (s *ElasticsearchDestinationConfiguration) SetRoleARN(v string) *ElasticsearchDestinationConfiguration { 2744 s.RoleARN = &v 2745 return s 2746} 2747 2748// SetS3BackupMode sets the S3BackupMode field's value. 2749func (s *ElasticsearchDestinationConfiguration) SetS3BackupMode(v string) *ElasticsearchDestinationConfiguration { 2750 s.S3BackupMode = &v 2751 return s 2752} 2753 2754// SetS3Configuration sets the S3Configuration field's value. 2755func (s *ElasticsearchDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *ElasticsearchDestinationConfiguration { 2756 s.S3Configuration = v 2757 return s 2758} 2759 2760// SetTypeName sets the TypeName field's value. 2761func (s *ElasticsearchDestinationConfiguration) SetTypeName(v string) *ElasticsearchDestinationConfiguration { 2762 s.TypeName = &v 2763 return s 2764} 2765 2766// SetVpcConfiguration sets the VpcConfiguration field's value. 2767func (s *ElasticsearchDestinationConfiguration) SetVpcConfiguration(v *VpcConfiguration) *ElasticsearchDestinationConfiguration { 2768 s.VpcConfiguration = v 2769 return s 2770} 2771 2772// The destination description in Amazon ES. 2773type ElasticsearchDestinationDescription struct { 2774 _ struct{} `type:"structure"` 2775 2776 // The buffering options. 2777 BufferingHints *ElasticsearchBufferingHints `type:"structure"` 2778 2779 // The Amazon CloudWatch logging options. 2780 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 2781 2782 // The endpoint to use when communicating with the cluster. Kinesis Data Firehose 2783 // uses either this ClusterEndpoint or the DomainARN field to send data to Amazon 2784 // ES. 2785 ClusterEndpoint *string `min:"1" type:"string"` 2786 2787 // The ARN of the Amazon ES domain. For more information, see Amazon Resource 2788 // Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 2789 // 2790 // Kinesis Data Firehose uses either ClusterEndpoint or DomainARN to send data 2791 // to Amazon ES. 2792 DomainARN *string `min:"1" type:"string"` 2793 2794 // The Elasticsearch index name. 2795 IndexName *string `min:"1" type:"string"` 2796 2797 // The Elasticsearch index rotation period 2798 IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` 2799 2800 // The data processing configuration. 2801 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 2802 2803 // The Amazon ES retry options. 2804 RetryOptions *ElasticsearchRetryOptions `type:"structure"` 2805 2806 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 2807 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 2808 RoleARN *string `min:"1" type:"string"` 2809 2810 // The Amazon S3 backup mode. 2811 S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` 2812 2813 // The Amazon S3 destination. 2814 S3DestinationDescription *S3DestinationDescription `type:"structure"` 2815 2816 // The Elasticsearch type name. This applies to Elasticsearch 6.x and lower 2817 // versions. For Elasticsearch 7.x, there's no value for TypeName. 2818 TypeName *string `type:"string"` 2819 2820 // The details of the VPC of the Amazon ES destination. 2821 VpcConfigurationDescription *VpcConfigurationDescription `type:"structure"` 2822} 2823 2824// String returns the string representation 2825func (s ElasticsearchDestinationDescription) String() string { 2826 return awsutil.Prettify(s) 2827} 2828 2829// GoString returns the string representation 2830func (s ElasticsearchDestinationDescription) GoString() string { 2831 return s.String() 2832} 2833 2834// SetBufferingHints sets the BufferingHints field's value. 2835func (s *ElasticsearchDestinationDescription) SetBufferingHints(v *ElasticsearchBufferingHints) *ElasticsearchDestinationDescription { 2836 s.BufferingHints = v 2837 return s 2838} 2839 2840// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 2841func (s *ElasticsearchDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ElasticsearchDestinationDescription { 2842 s.CloudWatchLoggingOptions = v 2843 return s 2844} 2845 2846// SetClusterEndpoint sets the ClusterEndpoint field's value. 2847func (s *ElasticsearchDestinationDescription) SetClusterEndpoint(v string) *ElasticsearchDestinationDescription { 2848 s.ClusterEndpoint = &v 2849 return s 2850} 2851 2852// SetDomainARN sets the DomainARN field's value. 2853func (s *ElasticsearchDestinationDescription) SetDomainARN(v string) *ElasticsearchDestinationDescription { 2854 s.DomainARN = &v 2855 return s 2856} 2857 2858// SetIndexName sets the IndexName field's value. 2859func (s *ElasticsearchDestinationDescription) SetIndexName(v string) *ElasticsearchDestinationDescription { 2860 s.IndexName = &v 2861 return s 2862} 2863 2864// SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 2865func (s *ElasticsearchDestinationDescription) SetIndexRotationPeriod(v string) *ElasticsearchDestinationDescription { 2866 s.IndexRotationPeriod = &v 2867 return s 2868} 2869 2870// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 2871func (s *ElasticsearchDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *ElasticsearchDestinationDescription { 2872 s.ProcessingConfiguration = v 2873 return s 2874} 2875 2876// SetRetryOptions sets the RetryOptions field's value. 2877func (s *ElasticsearchDestinationDescription) SetRetryOptions(v *ElasticsearchRetryOptions) *ElasticsearchDestinationDescription { 2878 s.RetryOptions = v 2879 return s 2880} 2881 2882// SetRoleARN sets the RoleARN field's value. 2883func (s *ElasticsearchDestinationDescription) SetRoleARN(v string) *ElasticsearchDestinationDescription { 2884 s.RoleARN = &v 2885 return s 2886} 2887 2888// SetS3BackupMode sets the S3BackupMode field's value. 2889func (s *ElasticsearchDestinationDescription) SetS3BackupMode(v string) *ElasticsearchDestinationDescription { 2890 s.S3BackupMode = &v 2891 return s 2892} 2893 2894// SetS3DestinationDescription sets the S3DestinationDescription field's value. 2895func (s *ElasticsearchDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *ElasticsearchDestinationDescription { 2896 s.S3DestinationDescription = v 2897 return s 2898} 2899 2900// SetTypeName sets the TypeName field's value. 2901func (s *ElasticsearchDestinationDescription) SetTypeName(v string) *ElasticsearchDestinationDescription { 2902 s.TypeName = &v 2903 return s 2904} 2905 2906// SetVpcConfigurationDescription sets the VpcConfigurationDescription field's value. 2907func (s *ElasticsearchDestinationDescription) SetVpcConfigurationDescription(v *VpcConfigurationDescription) *ElasticsearchDestinationDescription { 2908 s.VpcConfigurationDescription = v 2909 return s 2910} 2911 2912// Describes an update for a destination in Amazon ES. 2913type ElasticsearchDestinationUpdate struct { 2914 _ struct{} `type:"structure"` 2915 2916 // The buffering options. If no value is specified, ElasticsearchBufferingHints 2917 // object default values are used. 2918 BufferingHints *ElasticsearchBufferingHints `type:"structure"` 2919 2920 // The CloudWatch logging options for your delivery stream. 2921 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 2922 2923 // The endpoint to use when communicating with the cluster. Specify either this 2924 // ClusterEndpoint or the DomainARN field. 2925 ClusterEndpoint *string `min:"1" type:"string"` 2926 2927 // The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, 2928 // DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after 2929 // assuming the IAM role specified in RoleARN. For more information, see Amazon 2930 // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 2931 // 2932 // Specify either ClusterEndpoint or DomainARN. 2933 DomainARN *string `min:"1" type:"string"` 2934 2935 // The Elasticsearch index name. 2936 IndexName *string `min:"1" type:"string"` 2937 2938 // The Elasticsearch index rotation period. Index rotation appends a timestamp 2939 // to IndexName to facilitate the expiration of old data. For more information, 2940 // see Index Rotation for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). 2941 // Default value is OneDay. 2942 IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` 2943 2944 // The data processing configuration. 2945 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 2946 2947 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 2948 // to Amazon ES. The default value is 300 (5 minutes). 2949 RetryOptions *ElasticsearchRetryOptions `type:"structure"` 2950 2951 // The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 2952 // Firehose for calling the Amazon ES Configuration API and for indexing documents. 2953 // For more information, see Grant Kinesis Data Firehose Access to an Amazon 2954 // S3 Destination (https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) 2955 // and Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 2956 RoleARN *string `min:"1" type:"string"` 2957 2958 // The Amazon S3 destination. 2959 S3Update *S3DestinationUpdate `type:"structure"` 2960 2961 // The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 2962 // type per index. If you try to specify a new type for an existing index that 2963 // already has another type, Kinesis Data Firehose returns an error during runtime. 2964 // 2965 // If you upgrade Elasticsearch from 6.x to 7.x and don’t update your delivery 2966 // stream, Kinesis Data Firehose still delivers data to Elasticsearch with the 2967 // old index name and type name. If you want to update your delivery stream 2968 // with a new index name, provide an empty string for TypeName. 2969 TypeName *string `type:"string"` 2970} 2971 2972// String returns the string representation 2973func (s ElasticsearchDestinationUpdate) String() string { 2974 return awsutil.Prettify(s) 2975} 2976 2977// GoString returns the string representation 2978func (s ElasticsearchDestinationUpdate) GoString() string { 2979 return s.String() 2980} 2981 2982// Validate inspects the fields of the type to determine if they are valid. 2983func (s *ElasticsearchDestinationUpdate) Validate() error { 2984 invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDestinationUpdate"} 2985 if s.ClusterEndpoint != nil && len(*s.ClusterEndpoint) < 1 { 2986 invalidParams.Add(request.NewErrParamMinLen("ClusterEndpoint", 1)) 2987 } 2988 if s.DomainARN != nil && len(*s.DomainARN) < 1 { 2989 invalidParams.Add(request.NewErrParamMinLen("DomainARN", 1)) 2990 } 2991 if s.IndexName != nil && len(*s.IndexName) < 1 { 2992 invalidParams.Add(request.NewErrParamMinLen("IndexName", 1)) 2993 } 2994 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 2995 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 2996 } 2997 if s.BufferingHints != nil { 2998 if err := s.BufferingHints.Validate(); err != nil { 2999 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 3000 } 3001 } 3002 if s.ProcessingConfiguration != nil { 3003 if err := s.ProcessingConfiguration.Validate(); err != nil { 3004 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 3005 } 3006 } 3007 if s.S3Update != nil { 3008 if err := s.S3Update.Validate(); err != nil { 3009 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 3010 } 3011 } 3012 3013 if invalidParams.Len() > 0 { 3014 return invalidParams 3015 } 3016 return nil 3017} 3018 3019// SetBufferingHints sets the BufferingHints field's value. 3020func (s *ElasticsearchDestinationUpdate) SetBufferingHints(v *ElasticsearchBufferingHints) *ElasticsearchDestinationUpdate { 3021 s.BufferingHints = v 3022 return s 3023} 3024 3025// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 3026func (s *ElasticsearchDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ElasticsearchDestinationUpdate { 3027 s.CloudWatchLoggingOptions = v 3028 return s 3029} 3030 3031// SetClusterEndpoint sets the ClusterEndpoint field's value. 3032func (s *ElasticsearchDestinationUpdate) SetClusterEndpoint(v string) *ElasticsearchDestinationUpdate { 3033 s.ClusterEndpoint = &v 3034 return s 3035} 3036 3037// SetDomainARN sets the DomainARN field's value. 3038func (s *ElasticsearchDestinationUpdate) SetDomainARN(v string) *ElasticsearchDestinationUpdate { 3039 s.DomainARN = &v 3040 return s 3041} 3042 3043// SetIndexName sets the IndexName field's value. 3044func (s *ElasticsearchDestinationUpdate) SetIndexName(v string) *ElasticsearchDestinationUpdate { 3045 s.IndexName = &v 3046 return s 3047} 3048 3049// SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 3050func (s *ElasticsearchDestinationUpdate) SetIndexRotationPeriod(v string) *ElasticsearchDestinationUpdate { 3051 s.IndexRotationPeriod = &v 3052 return s 3053} 3054 3055// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 3056func (s *ElasticsearchDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *ElasticsearchDestinationUpdate { 3057 s.ProcessingConfiguration = v 3058 return s 3059} 3060 3061// SetRetryOptions sets the RetryOptions field's value. 3062func (s *ElasticsearchDestinationUpdate) SetRetryOptions(v *ElasticsearchRetryOptions) *ElasticsearchDestinationUpdate { 3063 s.RetryOptions = v 3064 return s 3065} 3066 3067// SetRoleARN sets the RoleARN field's value. 3068func (s *ElasticsearchDestinationUpdate) SetRoleARN(v string) *ElasticsearchDestinationUpdate { 3069 s.RoleARN = &v 3070 return s 3071} 3072 3073// SetS3Update sets the S3Update field's value. 3074func (s *ElasticsearchDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *ElasticsearchDestinationUpdate { 3075 s.S3Update = v 3076 return s 3077} 3078 3079// SetTypeName sets the TypeName field's value. 3080func (s *ElasticsearchDestinationUpdate) SetTypeName(v string) *ElasticsearchDestinationUpdate { 3081 s.TypeName = &v 3082 return s 3083} 3084 3085// Configures retry behavior in case Kinesis Data Firehose is unable to deliver 3086// documents to Amazon ES. 3087type ElasticsearchRetryOptions struct { 3088 _ struct{} `type:"structure"` 3089 3090 // After an initial failure to deliver to Amazon ES, the total amount of time 3091 // during which Kinesis Data Firehose retries delivery (including the first 3092 // attempt). After this time has elapsed, the failed documents are written to 3093 // Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) 3094 // results in no retries. 3095 DurationInSeconds *int64 `type:"integer"` 3096} 3097 3098// String returns the string representation 3099func (s ElasticsearchRetryOptions) String() string { 3100 return awsutil.Prettify(s) 3101} 3102 3103// GoString returns the string representation 3104func (s ElasticsearchRetryOptions) GoString() string { 3105 return s.String() 3106} 3107 3108// SetDurationInSeconds sets the DurationInSeconds field's value. 3109func (s *ElasticsearchRetryOptions) SetDurationInSeconds(v int64) *ElasticsearchRetryOptions { 3110 s.DurationInSeconds = &v 3111 return s 3112} 3113 3114// Describes the encryption for a destination in Amazon S3. 3115type EncryptionConfiguration struct { 3116 _ struct{} `type:"structure"` 3117 3118 // The encryption key. 3119 KMSEncryptionConfig *KMSEncryptionConfig `type:"structure"` 3120 3121 // Specifically override existing encryption information to ensure that no encryption 3122 // is used. 3123 NoEncryptionConfig *string `type:"string" enum:"NoEncryptionConfig"` 3124} 3125 3126// String returns the string representation 3127func (s EncryptionConfiguration) String() string { 3128 return awsutil.Prettify(s) 3129} 3130 3131// GoString returns the string representation 3132func (s EncryptionConfiguration) GoString() string { 3133 return s.String() 3134} 3135 3136// Validate inspects the fields of the type to determine if they are valid. 3137func (s *EncryptionConfiguration) Validate() error { 3138 invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} 3139 if s.KMSEncryptionConfig != nil { 3140 if err := s.KMSEncryptionConfig.Validate(); err != nil { 3141 invalidParams.AddNested("KMSEncryptionConfig", err.(request.ErrInvalidParams)) 3142 } 3143 } 3144 3145 if invalidParams.Len() > 0 { 3146 return invalidParams 3147 } 3148 return nil 3149} 3150 3151// SetKMSEncryptionConfig sets the KMSEncryptionConfig field's value. 3152func (s *EncryptionConfiguration) SetKMSEncryptionConfig(v *KMSEncryptionConfig) *EncryptionConfiguration { 3153 s.KMSEncryptionConfig = v 3154 return s 3155} 3156 3157// SetNoEncryptionConfig sets the NoEncryptionConfig field's value. 3158func (s *EncryptionConfiguration) SetNoEncryptionConfig(v string) *EncryptionConfiguration { 3159 s.NoEncryptionConfig = &v 3160 return s 3161} 3162 3163// Describes the configuration of a destination in Amazon S3. 3164type ExtendedS3DestinationConfiguration struct { 3165 _ struct{} `type:"structure"` 3166 3167 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 3168 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3169 // 3170 // BucketARN is a required field 3171 BucketARN *string `min:"1" type:"string" required:"true"` 3172 3173 // The buffering option. 3174 BufferingHints *BufferingHints `type:"structure"` 3175 3176 // The Amazon CloudWatch logging options for your delivery stream. 3177 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 3178 3179 // The compression format. If no value is specified, the default is UNCOMPRESSED. 3180 CompressionFormat *string `type:"string" enum:"CompressionFormat"` 3181 3182 // The serializer, deserializer, and schema for converting data from the JSON 3183 // format to the Parquet or ORC format before writing it to Amazon S3. 3184 DataFormatConversionConfiguration *DataFormatConversionConfiguration `type:"structure"` 3185 3186 // The encryption configuration. If no value is specified, the default is no 3187 // encryption. 3188 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 3189 3190 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 3191 // before writing them to S3. This prefix appears immediately following the 3192 // bucket name. For information about how to specify this prefix, see Custom 3193 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 3194 ErrorOutputPrefix *string `type:"string"` 3195 3196 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 3197 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 3198 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 3199 Prefix *string `type:"string"` 3200 3201 // The data processing configuration. 3202 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 3203 3204 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 3205 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3206 // 3207 // RoleARN is a required field 3208 RoleARN *string `min:"1" type:"string" required:"true"` 3209 3210 // The configuration for backup in Amazon S3. 3211 S3BackupConfiguration *S3DestinationConfiguration `type:"structure"` 3212 3213 // The Amazon S3 backup mode. After you create a delivery stream, you can update 3214 // it to enable Amazon S3 backup if it is disabled. If backup is enabled, you 3215 // can't update the delivery stream to disable it. 3216 S3BackupMode *string `type:"string" enum:"S3BackupMode"` 3217} 3218 3219// String returns the string representation 3220func (s ExtendedS3DestinationConfiguration) String() string { 3221 return awsutil.Prettify(s) 3222} 3223 3224// GoString returns the string representation 3225func (s ExtendedS3DestinationConfiguration) GoString() string { 3226 return s.String() 3227} 3228 3229// Validate inspects the fields of the type to determine if they are valid. 3230func (s *ExtendedS3DestinationConfiguration) Validate() error { 3231 invalidParams := request.ErrInvalidParams{Context: "ExtendedS3DestinationConfiguration"} 3232 if s.BucketARN == nil { 3233 invalidParams.Add(request.NewErrParamRequired("BucketARN")) 3234 } 3235 if s.BucketARN != nil && len(*s.BucketARN) < 1 { 3236 invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) 3237 } 3238 if s.RoleARN == nil { 3239 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 3240 } 3241 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 3242 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 3243 } 3244 if s.BufferingHints != nil { 3245 if err := s.BufferingHints.Validate(); err != nil { 3246 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 3247 } 3248 } 3249 if s.DataFormatConversionConfiguration != nil { 3250 if err := s.DataFormatConversionConfiguration.Validate(); err != nil { 3251 invalidParams.AddNested("DataFormatConversionConfiguration", err.(request.ErrInvalidParams)) 3252 } 3253 } 3254 if s.EncryptionConfiguration != nil { 3255 if err := s.EncryptionConfiguration.Validate(); err != nil { 3256 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 3257 } 3258 } 3259 if s.ProcessingConfiguration != nil { 3260 if err := s.ProcessingConfiguration.Validate(); err != nil { 3261 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 3262 } 3263 } 3264 if s.S3BackupConfiguration != nil { 3265 if err := s.S3BackupConfiguration.Validate(); err != nil { 3266 invalidParams.AddNested("S3BackupConfiguration", err.(request.ErrInvalidParams)) 3267 } 3268 } 3269 3270 if invalidParams.Len() > 0 { 3271 return invalidParams 3272 } 3273 return nil 3274} 3275 3276// SetBucketARN sets the BucketARN field's value. 3277func (s *ExtendedS3DestinationConfiguration) SetBucketARN(v string) *ExtendedS3DestinationConfiguration { 3278 s.BucketARN = &v 3279 return s 3280} 3281 3282// SetBufferingHints sets the BufferingHints field's value. 3283func (s *ExtendedS3DestinationConfiguration) SetBufferingHints(v *BufferingHints) *ExtendedS3DestinationConfiguration { 3284 s.BufferingHints = v 3285 return s 3286} 3287 3288// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 3289func (s *ExtendedS3DestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ExtendedS3DestinationConfiguration { 3290 s.CloudWatchLoggingOptions = v 3291 return s 3292} 3293 3294// SetCompressionFormat sets the CompressionFormat field's value. 3295func (s *ExtendedS3DestinationConfiguration) SetCompressionFormat(v string) *ExtendedS3DestinationConfiguration { 3296 s.CompressionFormat = &v 3297 return s 3298} 3299 3300// SetDataFormatConversionConfiguration sets the DataFormatConversionConfiguration field's value. 3301func (s *ExtendedS3DestinationConfiguration) SetDataFormatConversionConfiguration(v *DataFormatConversionConfiguration) *ExtendedS3DestinationConfiguration { 3302 s.DataFormatConversionConfiguration = v 3303 return s 3304} 3305 3306// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 3307func (s *ExtendedS3DestinationConfiguration) SetEncryptionConfiguration(v *EncryptionConfiguration) *ExtendedS3DestinationConfiguration { 3308 s.EncryptionConfiguration = v 3309 return s 3310} 3311 3312// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 3313func (s *ExtendedS3DestinationConfiguration) SetErrorOutputPrefix(v string) *ExtendedS3DestinationConfiguration { 3314 s.ErrorOutputPrefix = &v 3315 return s 3316} 3317 3318// SetPrefix sets the Prefix field's value. 3319func (s *ExtendedS3DestinationConfiguration) SetPrefix(v string) *ExtendedS3DestinationConfiguration { 3320 s.Prefix = &v 3321 return s 3322} 3323 3324// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 3325func (s *ExtendedS3DestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *ExtendedS3DestinationConfiguration { 3326 s.ProcessingConfiguration = v 3327 return s 3328} 3329 3330// SetRoleARN sets the RoleARN field's value. 3331func (s *ExtendedS3DestinationConfiguration) SetRoleARN(v string) *ExtendedS3DestinationConfiguration { 3332 s.RoleARN = &v 3333 return s 3334} 3335 3336// SetS3BackupConfiguration sets the S3BackupConfiguration field's value. 3337func (s *ExtendedS3DestinationConfiguration) SetS3BackupConfiguration(v *S3DestinationConfiguration) *ExtendedS3DestinationConfiguration { 3338 s.S3BackupConfiguration = v 3339 return s 3340} 3341 3342// SetS3BackupMode sets the S3BackupMode field's value. 3343func (s *ExtendedS3DestinationConfiguration) SetS3BackupMode(v string) *ExtendedS3DestinationConfiguration { 3344 s.S3BackupMode = &v 3345 return s 3346} 3347 3348// Describes a destination in Amazon S3. 3349type ExtendedS3DestinationDescription struct { 3350 _ struct{} `type:"structure"` 3351 3352 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 3353 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3354 // 3355 // BucketARN is a required field 3356 BucketARN *string `min:"1" type:"string" required:"true"` 3357 3358 // The buffering option. 3359 // 3360 // BufferingHints is a required field 3361 BufferingHints *BufferingHints `type:"structure" required:"true"` 3362 3363 // The Amazon CloudWatch logging options for your delivery stream. 3364 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 3365 3366 // The compression format. If no value is specified, the default is UNCOMPRESSED. 3367 // 3368 // CompressionFormat is a required field 3369 CompressionFormat *string `type:"string" required:"true" enum:"CompressionFormat"` 3370 3371 // The serializer, deserializer, and schema for converting data from the JSON 3372 // format to the Parquet or ORC format before writing it to Amazon S3. 3373 DataFormatConversionConfiguration *DataFormatConversionConfiguration `type:"structure"` 3374 3375 // The encryption configuration. If no value is specified, the default is no 3376 // encryption. 3377 // 3378 // EncryptionConfiguration is a required field 3379 EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` 3380 3381 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 3382 // before writing them to S3. This prefix appears immediately following the 3383 // bucket name. For information about how to specify this prefix, see Custom 3384 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 3385 ErrorOutputPrefix *string `type:"string"` 3386 3387 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 3388 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 3389 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 3390 Prefix *string `type:"string"` 3391 3392 // The data processing configuration. 3393 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 3394 3395 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 3396 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3397 // 3398 // RoleARN is a required field 3399 RoleARN *string `min:"1" type:"string" required:"true"` 3400 3401 // The configuration for backup in Amazon S3. 3402 S3BackupDescription *S3DestinationDescription `type:"structure"` 3403 3404 // The Amazon S3 backup mode. 3405 S3BackupMode *string `type:"string" enum:"S3BackupMode"` 3406} 3407 3408// String returns the string representation 3409func (s ExtendedS3DestinationDescription) String() string { 3410 return awsutil.Prettify(s) 3411} 3412 3413// GoString returns the string representation 3414func (s ExtendedS3DestinationDescription) GoString() string { 3415 return s.String() 3416} 3417 3418// SetBucketARN sets the BucketARN field's value. 3419func (s *ExtendedS3DestinationDescription) SetBucketARN(v string) *ExtendedS3DestinationDescription { 3420 s.BucketARN = &v 3421 return s 3422} 3423 3424// SetBufferingHints sets the BufferingHints field's value. 3425func (s *ExtendedS3DestinationDescription) SetBufferingHints(v *BufferingHints) *ExtendedS3DestinationDescription { 3426 s.BufferingHints = v 3427 return s 3428} 3429 3430// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 3431func (s *ExtendedS3DestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ExtendedS3DestinationDescription { 3432 s.CloudWatchLoggingOptions = v 3433 return s 3434} 3435 3436// SetCompressionFormat sets the CompressionFormat field's value. 3437func (s *ExtendedS3DestinationDescription) SetCompressionFormat(v string) *ExtendedS3DestinationDescription { 3438 s.CompressionFormat = &v 3439 return s 3440} 3441 3442// SetDataFormatConversionConfiguration sets the DataFormatConversionConfiguration field's value. 3443func (s *ExtendedS3DestinationDescription) SetDataFormatConversionConfiguration(v *DataFormatConversionConfiguration) *ExtendedS3DestinationDescription { 3444 s.DataFormatConversionConfiguration = v 3445 return s 3446} 3447 3448// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 3449func (s *ExtendedS3DestinationDescription) SetEncryptionConfiguration(v *EncryptionConfiguration) *ExtendedS3DestinationDescription { 3450 s.EncryptionConfiguration = v 3451 return s 3452} 3453 3454// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 3455func (s *ExtendedS3DestinationDescription) SetErrorOutputPrefix(v string) *ExtendedS3DestinationDescription { 3456 s.ErrorOutputPrefix = &v 3457 return s 3458} 3459 3460// SetPrefix sets the Prefix field's value. 3461func (s *ExtendedS3DestinationDescription) SetPrefix(v string) *ExtendedS3DestinationDescription { 3462 s.Prefix = &v 3463 return s 3464} 3465 3466// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 3467func (s *ExtendedS3DestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *ExtendedS3DestinationDescription { 3468 s.ProcessingConfiguration = v 3469 return s 3470} 3471 3472// SetRoleARN sets the RoleARN field's value. 3473func (s *ExtendedS3DestinationDescription) SetRoleARN(v string) *ExtendedS3DestinationDescription { 3474 s.RoleARN = &v 3475 return s 3476} 3477 3478// SetS3BackupDescription sets the S3BackupDescription field's value. 3479func (s *ExtendedS3DestinationDescription) SetS3BackupDescription(v *S3DestinationDescription) *ExtendedS3DestinationDescription { 3480 s.S3BackupDescription = v 3481 return s 3482} 3483 3484// SetS3BackupMode sets the S3BackupMode field's value. 3485func (s *ExtendedS3DestinationDescription) SetS3BackupMode(v string) *ExtendedS3DestinationDescription { 3486 s.S3BackupMode = &v 3487 return s 3488} 3489 3490// Describes an update for a destination in Amazon S3. 3491type ExtendedS3DestinationUpdate struct { 3492 _ struct{} `type:"structure"` 3493 3494 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 3495 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3496 BucketARN *string `min:"1" type:"string"` 3497 3498 // The buffering option. 3499 BufferingHints *BufferingHints `type:"structure"` 3500 3501 // The Amazon CloudWatch logging options for your delivery stream. 3502 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 3503 3504 // The compression format. If no value is specified, the default is UNCOMPRESSED. 3505 CompressionFormat *string `type:"string" enum:"CompressionFormat"` 3506 3507 // The serializer, deserializer, and schema for converting data from the JSON 3508 // format to the Parquet or ORC format before writing it to Amazon S3. 3509 DataFormatConversionConfiguration *DataFormatConversionConfiguration `type:"structure"` 3510 3511 // The encryption configuration. If no value is specified, the default is no 3512 // encryption. 3513 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 3514 3515 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 3516 // before writing them to S3. This prefix appears immediately following the 3517 // bucket name. For information about how to specify this prefix, see Custom 3518 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 3519 ErrorOutputPrefix *string `type:"string"` 3520 3521 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 3522 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 3523 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 3524 Prefix *string `type:"string"` 3525 3526 // The data processing configuration. 3527 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 3528 3529 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 3530 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3531 RoleARN *string `min:"1" type:"string"` 3532 3533 // You can update a delivery stream to enable Amazon S3 backup if it is disabled. 3534 // If backup is enabled, you can't update the delivery stream to disable it. 3535 S3BackupMode *string `type:"string" enum:"S3BackupMode"` 3536 3537 // The Amazon S3 destination for backup. 3538 S3BackupUpdate *S3DestinationUpdate `type:"structure"` 3539} 3540 3541// String returns the string representation 3542func (s ExtendedS3DestinationUpdate) String() string { 3543 return awsutil.Prettify(s) 3544} 3545 3546// GoString returns the string representation 3547func (s ExtendedS3DestinationUpdate) GoString() string { 3548 return s.String() 3549} 3550 3551// Validate inspects the fields of the type to determine if they are valid. 3552func (s *ExtendedS3DestinationUpdate) Validate() error { 3553 invalidParams := request.ErrInvalidParams{Context: "ExtendedS3DestinationUpdate"} 3554 if s.BucketARN != nil && len(*s.BucketARN) < 1 { 3555 invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) 3556 } 3557 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 3558 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 3559 } 3560 if s.BufferingHints != nil { 3561 if err := s.BufferingHints.Validate(); err != nil { 3562 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 3563 } 3564 } 3565 if s.DataFormatConversionConfiguration != nil { 3566 if err := s.DataFormatConversionConfiguration.Validate(); err != nil { 3567 invalidParams.AddNested("DataFormatConversionConfiguration", err.(request.ErrInvalidParams)) 3568 } 3569 } 3570 if s.EncryptionConfiguration != nil { 3571 if err := s.EncryptionConfiguration.Validate(); err != nil { 3572 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 3573 } 3574 } 3575 if s.ProcessingConfiguration != nil { 3576 if err := s.ProcessingConfiguration.Validate(); err != nil { 3577 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 3578 } 3579 } 3580 if s.S3BackupUpdate != nil { 3581 if err := s.S3BackupUpdate.Validate(); err != nil { 3582 invalidParams.AddNested("S3BackupUpdate", err.(request.ErrInvalidParams)) 3583 } 3584 } 3585 3586 if invalidParams.Len() > 0 { 3587 return invalidParams 3588 } 3589 return nil 3590} 3591 3592// SetBucketARN sets the BucketARN field's value. 3593func (s *ExtendedS3DestinationUpdate) SetBucketARN(v string) *ExtendedS3DestinationUpdate { 3594 s.BucketARN = &v 3595 return s 3596} 3597 3598// SetBufferingHints sets the BufferingHints field's value. 3599func (s *ExtendedS3DestinationUpdate) SetBufferingHints(v *BufferingHints) *ExtendedS3DestinationUpdate { 3600 s.BufferingHints = v 3601 return s 3602} 3603 3604// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 3605func (s *ExtendedS3DestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ExtendedS3DestinationUpdate { 3606 s.CloudWatchLoggingOptions = v 3607 return s 3608} 3609 3610// SetCompressionFormat sets the CompressionFormat field's value. 3611func (s *ExtendedS3DestinationUpdate) SetCompressionFormat(v string) *ExtendedS3DestinationUpdate { 3612 s.CompressionFormat = &v 3613 return s 3614} 3615 3616// SetDataFormatConversionConfiguration sets the DataFormatConversionConfiguration field's value. 3617func (s *ExtendedS3DestinationUpdate) SetDataFormatConversionConfiguration(v *DataFormatConversionConfiguration) *ExtendedS3DestinationUpdate { 3618 s.DataFormatConversionConfiguration = v 3619 return s 3620} 3621 3622// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 3623func (s *ExtendedS3DestinationUpdate) SetEncryptionConfiguration(v *EncryptionConfiguration) *ExtendedS3DestinationUpdate { 3624 s.EncryptionConfiguration = v 3625 return s 3626} 3627 3628// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 3629func (s *ExtendedS3DestinationUpdate) SetErrorOutputPrefix(v string) *ExtendedS3DestinationUpdate { 3630 s.ErrorOutputPrefix = &v 3631 return s 3632} 3633 3634// SetPrefix sets the Prefix field's value. 3635func (s *ExtendedS3DestinationUpdate) SetPrefix(v string) *ExtendedS3DestinationUpdate { 3636 s.Prefix = &v 3637 return s 3638} 3639 3640// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 3641func (s *ExtendedS3DestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *ExtendedS3DestinationUpdate { 3642 s.ProcessingConfiguration = v 3643 return s 3644} 3645 3646// SetRoleARN sets the RoleARN field's value. 3647func (s *ExtendedS3DestinationUpdate) SetRoleARN(v string) *ExtendedS3DestinationUpdate { 3648 s.RoleARN = &v 3649 return s 3650} 3651 3652// SetS3BackupMode sets the S3BackupMode field's value. 3653func (s *ExtendedS3DestinationUpdate) SetS3BackupMode(v string) *ExtendedS3DestinationUpdate { 3654 s.S3BackupMode = &v 3655 return s 3656} 3657 3658// SetS3BackupUpdate sets the S3BackupUpdate field's value. 3659func (s *ExtendedS3DestinationUpdate) SetS3BackupUpdate(v *S3DestinationUpdate) *ExtendedS3DestinationUpdate { 3660 s.S3BackupUpdate = v 3661 return s 3662} 3663 3664// Provides details in case one of the following operations fails due to an 3665// error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, 3666// StopDeliveryStreamEncryption. 3667type FailureDescription struct { 3668 _ struct{} `type:"structure"` 3669 3670 // A message providing details about the error that caused the failure. 3671 // 3672 // Details is a required field 3673 Details *string `min:"1" type:"string" required:"true"` 3674 3675 // The type of error that caused the failure. 3676 // 3677 // Type is a required field 3678 Type *string `type:"string" required:"true" enum:"DeliveryStreamFailureType"` 3679} 3680 3681// String returns the string representation 3682func (s FailureDescription) String() string { 3683 return awsutil.Prettify(s) 3684} 3685 3686// GoString returns the string representation 3687func (s FailureDescription) GoString() string { 3688 return s.String() 3689} 3690 3691// SetDetails sets the Details field's value. 3692func (s *FailureDescription) SetDetails(v string) *FailureDescription { 3693 s.Details = &v 3694 return s 3695} 3696 3697// SetType sets the Type field's value. 3698func (s *FailureDescription) SetType(v string) *FailureDescription { 3699 s.Type = &v 3700 return s 3701} 3702 3703// The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing 3704// data, which means converting it from the JSON format in preparation for serializing 3705// it to the Parquet or ORC format. This is one of two deserializers you can 3706// choose, depending on which one offers the functionality you need. The other 3707// option is the OpenX SerDe. 3708type HiveJsonSerDe struct { 3709 _ struct{} `type:"structure"` 3710 3711 // Indicates how you want Kinesis Data Firehose to parse the date and timestamps 3712 // that may be present in your input data JSON. To specify these format strings, 3713 // follow the pattern syntax of JodaTime's DateTimeFormat format strings. For 3714 // more information, see Class DateTimeFormat (https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html). 3715 // You can also use the special value millis to parse timestamps in epoch milliseconds. 3716 // If you don't specify a format, Kinesis Data Firehose uses java.sql.Timestamp::valueOf 3717 // by default. 3718 TimestampFormats []*string `type:"list"` 3719} 3720 3721// String returns the string representation 3722func (s HiveJsonSerDe) String() string { 3723 return awsutil.Prettify(s) 3724} 3725 3726// GoString returns the string representation 3727func (s HiveJsonSerDe) GoString() string { 3728 return s.String() 3729} 3730 3731// SetTimestampFormats sets the TimestampFormats field's value. 3732func (s *HiveJsonSerDe) SetTimestampFormats(v []*string) *HiveJsonSerDe { 3733 s.TimestampFormats = v 3734 return s 3735} 3736 3737// Describes the buffering options that can be applied before data is delivered 3738// to the HTTP endpoint destination. Kinesis Data Firehose treats these options 3739// as hints, and it might choose to use more optimal values. The SizeInMBs and 3740// IntervalInSeconds parameters are optional. However, if specify a value for 3741// one of them, you must also provide a value for the other. 3742type HttpEndpointBufferingHints struct { 3743 _ struct{} `type:"structure"` 3744 3745 // Buffer incoming data for the specified period of time, in seconds, before 3746 // delivering it to the destination. The default value is 300 (5 minutes). 3747 IntervalInSeconds *int64 `min:"60" type:"integer"` 3748 3749 // Buffer incoming data to the specified size, in MBs, before delivering it 3750 // to the destination. The default value is 5. 3751 // 3752 // We recommend setting this parameter to a value greater than the amount of 3753 // data you typically ingest into the delivery stream in 10 seconds. For example, 3754 // if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher. 3755 SizeInMBs *int64 `min:"1" type:"integer"` 3756} 3757 3758// String returns the string representation 3759func (s HttpEndpointBufferingHints) String() string { 3760 return awsutil.Prettify(s) 3761} 3762 3763// GoString returns the string representation 3764func (s HttpEndpointBufferingHints) GoString() string { 3765 return s.String() 3766} 3767 3768// Validate inspects the fields of the type to determine if they are valid. 3769func (s *HttpEndpointBufferingHints) Validate() error { 3770 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointBufferingHints"} 3771 if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { 3772 invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) 3773 } 3774 if s.SizeInMBs != nil && *s.SizeInMBs < 1 { 3775 invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) 3776 } 3777 3778 if invalidParams.Len() > 0 { 3779 return invalidParams 3780 } 3781 return nil 3782} 3783 3784// SetIntervalInSeconds sets the IntervalInSeconds field's value. 3785func (s *HttpEndpointBufferingHints) SetIntervalInSeconds(v int64) *HttpEndpointBufferingHints { 3786 s.IntervalInSeconds = &v 3787 return s 3788} 3789 3790// SetSizeInMBs sets the SizeInMBs field's value. 3791func (s *HttpEndpointBufferingHints) SetSizeInMBs(v int64) *HttpEndpointBufferingHints { 3792 s.SizeInMBs = &v 3793 return s 3794} 3795 3796// Describes the metadata that's delivered to the specified HTTP endpoint destination. 3797type HttpEndpointCommonAttribute struct { 3798 _ struct{} `type:"structure"` 3799 3800 // The name of the HTTP endpoint common attribute. 3801 // 3802 // AttributeName is a required field 3803 AttributeName *string `min:"1" type:"string" required:"true" sensitive:"true"` 3804 3805 // The value of the HTTP endpoint common attribute. 3806 // 3807 // AttributeValue is a required field 3808 AttributeValue *string `type:"string" required:"true" sensitive:"true"` 3809} 3810 3811// String returns the string representation 3812func (s HttpEndpointCommonAttribute) String() string { 3813 return awsutil.Prettify(s) 3814} 3815 3816// GoString returns the string representation 3817func (s HttpEndpointCommonAttribute) GoString() string { 3818 return s.String() 3819} 3820 3821// Validate inspects the fields of the type to determine if they are valid. 3822func (s *HttpEndpointCommonAttribute) Validate() error { 3823 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointCommonAttribute"} 3824 if s.AttributeName == nil { 3825 invalidParams.Add(request.NewErrParamRequired("AttributeName")) 3826 } 3827 if s.AttributeName != nil && len(*s.AttributeName) < 1 { 3828 invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) 3829 } 3830 if s.AttributeValue == nil { 3831 invalidParams.Add(request.NewErrParamRequired("AttributeValue")) 3832 } 3833 3834 if invalidParams.Len() > 0 { 3835 return invalidParams 3836 } 3837 return nil 3838} 3839 3840// SetAttributeName sets the AttributeName field's value. 3841func (s *HttpEndpointCommonAttribute) SetAttributeName(v string) *HttpEndpointCommonAttribute { 3842 s.AttributeName = &v 3843 return s 3844} 3845 3846// SetAttributeValue sets the AttributeValue field's value. 3847func (s *HttpEndpointCommonAttribute) SetAttributeValue(v string) *HttpEndpointCommonAttribute { 3848 s.AttributeValue = &v 3849 return s 3850} 3851 3852// Describes the configuration of the HTTP endpoint to which Kinesis Firehose 3853// delivers data. 3854type HttpEndpointConfiguration struct { 3855 _ struct{} `type:"structure"` 3856 3857 // The access key required for Kinesis Firehose to authenticate with the HTTP 3858 // endpoint selected as the destination. 3859 AccessKey *string `type:"string" sensitive:"true"` 3860 3861 // The name of the HTTP endpoint selected as the destination. 3862 Name *string `min:"1" type:"string"` 3863 3864 // The URL of the HTTP endpoint selected as the destination. 3865 // 3866 // Url is a required field 3867 Url *string `min:"1" type:"string" required:"true" sensitive:"true"` 3868} 3869 3870// String returns the string representation 3871func (s HttpEndpointConfiguration) String() string { 3872 return awsutil.Prettify(s) 3873} 3874 3875// GoString returns the string representation 3876func (s HttpEndpointConfiguration) GoString() string { 3877 return s.String() 3878} 3879 3880// Validate inspects the fields of the type to determine if they are valid. 3881func (s *HttpEndpointConfiguration) Validate() error { 3882 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointConfiguration"} 3883 if s.Name != nil && len(*s.Name) < 1 { 3884 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3885 } 3886 if s.Url == nil { 3887 invalidParams.Add(request.NewErrParamRequired("Url")) 3888 } 3889 if s.Url != nil && len(*s.Url) < 1 { 3890 invalidParams.Add(request.NewErrParamMinLen("Url", 1)) 3891 } 3892 3893 if invalidParams.Len() > 0 { 3894 return invalidParams 3895 } 3896 return nil 3897} 3898 3899// SetAccessKey sets the AccessKey field's value. 3900func (s *HttpEndpointConfiguration) SetAccessKey(v string) *HttpEndpointConfiguration { 3901 s.AccessKey = &v 3902 return s 3903} 3904 3905// SetName sets the Name field's value. 3906func (s *HttpEndpointConfiguration) SetName(v string) *HttpEndpointConfiguration { 3907 s.Name = &v 3908 return s 3909} 3910 3911// SetUrl sets the Url field's value. 3912func (s *HttpEndpointConfiguration) SetUrl(v string) *HttpEndpointConfiguration { 3913 s.Url = &v 3914 return s 3915} 3916 3917// Describes the HTTP endpoint selected as the destination. 3918type HttpEndpointDescription struct { 3919 _ struct{} `type:"structure"` 3920 3921 // The name of the HTTP endpoint selected as the destination. 3922 Name *string `min:"1" type:"string"` 3923 3924 // The URL of the HTTP endpoint selected as the destination. 3925 Url *string `min:"1" type:"string" sensitive:"true"` 3926} 3927 3928// String returns the string representation 3929func (s HttpEndpointDescription) String() string { 3930 return awsutil.Prettify(s) 3931} 3932 3933// GoString returns the string representation 3934func (s HttpEndpointDescription) GoString() string { 3935 return s.String() 3936} 3937 3938// SetName sets the Name field's value. 3939func (s *HttpEndpointDescription) SetName(v string) *HttpEndpointDescription { 3940 s.Name = &v 3941 return s 3942} 3943 3944// SetUrl sets the Url field's value. 3945func (s *HttpEndpointDescription) SetUrl(v string) *HttpEndpointDescription { 3946 s.Url = &v 3947 return s 3948} 3949 3950// Describes the configuration of the HTTP endpoint destination. 3951type HttpEndpointDestinationConfiguration struct { 3952 _ struct{} `type:"structure"` 3953 3954 // The buffering options that can be used before data is delivered to the specified 3955 // destination. Kinesis Data Firehose treats these options as hints, and it 3956 // might choose to use more optimal values. The SizeInMBs and IntervalInSeconds 3957 // parameters are optional. However, if you specify a value for one of them, 3958 // you must also provide a value for the other. 3959 BufferingHints *HttpEndpointBufferingHints `type:"structure"` 3960 3961 // Describes the Amazon CloudWatch logging options for your delivery stream. 3962 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 3963 3964 // The configuration of the HTTP endpoint selected as the destination. 3965 // 3966 // EndpointConfiguration is a required field 3967 EndpointConfiguration *HttpEndpointConfiguration `type:"structure" required:"true"` 3968 3969 // Describes a data processing configuration. 3970 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 3971 3972 // The configuration of the requeste sent to the HTTP endpoint specified as 3973 // the destination. 3974 RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` 3975 3976 // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver 3977 // data to the specified HTTP endpoint destination, or if it doesn't receive 3978 // a valid acknowledgment of receipt from the specified HTTP endpoint destination. 3979 RetryOptions *HttpEndpointRetryOptions `type:"structure"` 3980 3981 // Kinesis Data Firehose uses this IAM role for all the permissions that the 3982 // delivery stream needs. 3983 RoleARN *string `min:"1" type:"string"` 3984 3985 // Describes the S3 bucket backup options for the data that Kinesis Data Firehose 3986 // delivers to the HTTP endpoint destination. You can back up all documents 3987 // (AllData) or only the documents that Kinesis Data Firehose could not deliver 3988 // to the specified HTTP endpoint destination (FailedDataOnly). 3989 S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` 3990 3991 // Describes the configuration of a destination in Amazon S3. 3992 // 3993 // S3Configuration is a required field 3994 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 3995} 3996 3997// String returns the string representation 3998func (s HttpEndpointDestinationConfiguration) String() string { 3999 return awsutil.Prettify(s) 4000} 4001 4002// GoString returns the string representation 4003func (s HttpEndpointDestinationConfiguration) GoString() string { 4004 return s.String() 4005} 4006 4007// Validate inspects the fields of the type to determine if they are valid. 4008func (s *HttpEndpointDestinationConfiguration) Validate() error { 4009 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointDestinationConfiguration"} 4010 if s.EndpointConfiguration == nil { 4011 invalidParams.Add(request.NewErrParamRequired("EndpointConfiguration")) 4012 } 4013 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 4014 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 4015 } 4016 if s.S3Configuration == nil { 4017 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 4018 } 4019 if s.BufferingHints != nil { 4020 if err := s.BufferingHints.Validate(); err != nil { 4021 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 4022 } 4023 } 4024 if s.EndpointConfiguration != nil { 4025 if err := s.EndpointConfiguration.Validate(); err != nil { 4026 invalidParams.AddNested("EndpointConfiguration", err.(request.ErrInvalidParams)) 4027 } 4028 } 4029 if s.ProcessingConfiguration != nil { 4030 if err := s.ProcessingConfiguration.Validate(); err != nil { 4031 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 4032 } 4033 } 4034 if s.RequestConfiguration != nil { 4035 if err := s.RequestConfiguration.Validate(); err != nil { 4036 invalidParams.AddNested("RequestConfiguration", err.(request.ErrInvalidParams)) 4037 } 4038 } 4039 if s.S3Configuration != nil { 4040 if err := s.S3Configuration.Validate(); err != nil { 4041 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 4042 } 4043 } 4044 4045 if invalidParams.Len() > 0 { 4046 return invalidParams 4047 } 4048 return nil 4049} 4050 4051// SetBufferingHints sets the BufferingHints field's value. 4052func (s *HttpEndpointDestinationConfiguration) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationConfiguration { 4053 s.BufferingHints = v 4054 return s 4055} 4056 4057// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 4058func (s *HttpEndpointDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationConfiguration { 4059 s.CloudWatchLoggingOptions = v 4060 return s 4061} 4062 4063// SetEndpointConfiguration sets the EndpointConfiguration field's value. 4064func (s *HttpEndpointDestinationConfiguration) SetEndpointConfiguration(v *HttpEndpointConfiguration) *HttpEndpointDestinationConfiguration { 4065 s.EndpointConfiguration = v 4066 return s 4067} 4068 4069// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 4070func (s *HttpEndpointDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationConfiguration { 4071 s.ProcessingConfiguration = v 4072 return s 4073} 4074 4075// SetRequestConfiguration sets the RequestConfiguration field's value. 4076func (s *HttpEndpointDestinationConfiguration) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationConfiguration { 4077 s.RequestConfiguration = v 4078 return s 4079} 4080 4081// SetRetryOptions sets the RetryOptions field's value. 4082func (s *HttpEndpointDestinationConfiguration) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationConfiguration { 4083 s.RetryOptions = v 4084 return s 4085} 4086 4087// SetRoleARN sets the RoleARN field's value. 4088func (s *HttpEndpointDestinationConfiguration) SetRoleARN(v string) *HttpEndpointDestinationConfiguration { 4089 s.RoleARN = &v 4090 return s 4091} 4092 4093// SetS3BackupMode sets the S3BackupMode field's value. 4094func (s *HttpEndpointDestinationConfiguration) SetS3BackupMode(v string) *HttpEndpointDestinationConfiguration { 4095 s.S3BackupMode = &v 4096 return s 4097} 4098 4099// SetS3Configuration sets the S3Configuration field's value. 4100func (s *HttpEndpointDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *HttpEndpointDestinationConfiguration { 4101 s.S3Configuration = v 4102 return s 4103} 4104 4105// Describes the HTTP endpoint destination. 4106type HttpEndpointDestinationDescription struct { 4107 _ struct{} `type:"structure"` 4108 4109 // Describes buffering options that can be applied to the data before it is 4110 // delivered to the HTTPS endpoint destination. Kinesis Data Firehose teats 4111 // these options as hints, and it might choose to use more optimal values. The 4112 // SizeInMBs and IntervalInSeconds parameters are optional. However, if specify 4113 // a value for one of them, you must also provide a value for the other. 4114 BufferingHints *HttpEndpointBufferingHints `type:"structure"` 4115 4116 // Describes the Amazon CloudWatch logging options for your delivery stream. 4117 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 4118 4119 // The configuration of the specified HTTP endpoint destination. 4120 EndpointConfiguration *HttpEndpointDescription `type:"structure"` 4121 4122 // Describes a data processing configuration. 4123 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 4124 4125 // The configuration of request sent to the HTTP endpoint specified as the destination. 4126 RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` 4127 4128 // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver 4129 // data to the specified HTTP endpoint destination, or if it doesn't receive 4130 // a valid acknowledgment of receipt from the specified HTTP endpoint destination. 4131 RetryOptions *HttpEndpointRetryOptions `type:"structure"` 4132 4133 // Kinesis Data Firehose uses this IAM role for all the permissions that the 4134 // delivery stream needs. 4135 RoleARN *string `min:"1" type:"string"` 4136 4137 // Describes the S3 bucket backup options for the data that Kinesis Firehose 4138 // delivers to the HTTP endpoint destination. You can back up all documents 4139 // (AllData) or only the documents that Kinesis Data Firehose could not deliver 4140 // to the specified HTTP endpoint destination (FailedDataOnly). 4141 S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` 4142 4143 // Describes a destination in Amazon S3. 4144 S3DestinationDescription *S3DestinationDescription `type:"structure"` 4145} 4146 4147// String returns the string representation 4148func (s HttpEndpointDestinationDescription) String() string { 4149 return awsutil.Prettify(s) 4150} 4151 4152// GoString returns the string representation 4153func (s HttpEndpointDestinationDescription) GoString() string { 4154 return s.String() 4155} 4156 4157// SetBufferingHints sets the BufferingHints field's value. 4158func (s *HttpEndpointDestinationDescription) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationDescription { 4159 s.BufferingHints = v 4160 return s 4161} 4162 4163// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 4164func (s *HttpEndpointDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationDescription { 4165 s.CloudWatchLoggingOptions = v 4166 return s 4167} 4168 4169// SetEndpointConfiguration sets the EndpointConfiguration field's value. 4170func (s *HttpEndpointDestinationDescription) SetEndpointConfiguration(v *HttpEndpointDescription) *HttpEndpointDestinationDescription { 4171 s.EndpointConfiguration = v 4172 return s 4173} 4174 4175// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 4176func (s *HttpEndpointDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationDescription { 4177 s.ProcessingConfiguration = v 4178 return s 4179} 4180 4181// SetRequestConfiguration sets the RequestConfiguration field's value. 4182func (s *HttpEndpointDestinationDescription) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationDescription { 4183 s.RequestConfiguration = v 4184 return s 4185} 4186 4187// SetRetryOptions sets the RetryOptions field's value. 4188func (s *HttpEndpointDestinationDescription) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationDescription { 4189 s.RetryOptions = v 4190 return s 4191} 4192 4193// SetRoleARN sets the RoleARN field's value. 4194func (s *HttpEndpointDestinationDescription) SetRoleARN(v string) *HttpEndpointDestinationDescription { 4195 s.RoleARN = &v 4196 return s 4197} 4198 4199// SetS3BackupMode sets the S3BackupMode field's value. 4200func (s *HttpEndpointDestinationDescription) SetS3BackupMode(v string) *HttpEndpointDestinationDescription { 4201 s.S3BackupMode = &v 4202 return s 4203} 4204 4205// SetS3DestinationDescription sets the S3DestinationDescription field's value. 4206func (s *HttpEndpointDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *HttpEndpointDestinationDescription { 4207 s.S3DestinationDescription = v 4208 return s 4209} 4210 4211// Updates the specified HTTP endpoint destination. 4212type HttpEndpointDestinationUpdate struct { 4213 _ struct{} `type:"structure"` 4214 4215 // Describes buffering options that can be applied to the data before it is 4216 // delivered to the HTTPS endpoint destination. Kinesis Data Firehose teats 4217 // these options as hints, and it might choose to use more optimal values. The 4218 // SizeInMBs and IntervalInSeconds parameters are optional. However, if specify 4219 // a value for one of them, you must also provide a value for the other. 4220 BufferingHints *HttpEndpointBufferingHints `type:"structure"` 4221 4222 // Describes the Amazon CloudWatch logging options for your delivery stream. 4223 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 4224 4225 // Describes the configuration of the HTTP endpoint destination. 4226 EndpointConfiguration *HttpEndpointConfiguration `type:"structure"` 4227 4228 // Describes a data processing configuration. 4229 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 4230 4231 // The configuration of the request sent to the HTTP endpoint specified as the 4232 // destination. 4233 RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` 4234 4235 // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver 4236 // data to the specified HTTP endpoint destination, or if it doesn't receive 4237 // a valid acknowledgment of receipt from the specified HTTP endpoint destination. 4238 RetryOptions *HttpEndpointRetryOptions `type:"structure"` 4239 4240 // Kinesis Data Firehose uses this IAM role for all the permissions that the 4241 // delivery stream needs. 4242 RoleARN *string `min:"1" type:"string"` 4243 4244 // Describes the S3 bucket backup options for the data that Kinesis Firehose 4245 // delivers to the HTTP endpoint destination. You can back up all documents 4246 // (AllData) or only the documents that Kinesis Data Firehose could not deliver 4247 // to the specified HTTP endpoint destination (FailedDataOnly). 4248 S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` 4249 4250 // Describes an update for a destination in Amazon S3. 4251 S3Update *S3DestinationUpdate `type:"structure"` 4252} 4253 4254// String returns the string representation 4255func (s HttpEndpointDestinationUpdate) String() string { 4256 return awsutil.Prettify(s) 4257} 4258 4259// GoString returns the string representation 4260func (s HttpEndpointDestinationUpdate) GoString() string { 4261 return s.String() 4262} 4263 4264// Validate inspects the fields of the type to determine if they are valid. 4265func (s *HttpEndpointDestinationUpdate) Validate() error { 4266 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointDestinationUpdate"} 4267 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 4268 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 4269 } 4270 if s.BufferingHints != nil { 4271 if err := s.BufferingHints.Validate(); err != nil { 4272 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 4273 } 4274 } 4275 if s.EndpointConfiguration != nil { 4276 if err := s.EndpointConfiguration.Validate(); err != nil { 4277 invalidParams.AddNested("EndpointConfiguration", err.(request.ErrInvalidParams)) 4278 } 4279 } 4280 if s.ProcessingConfiguration != nil { 4281 if err := s.ProcessingConfiguration.Validate(); err != nil { 4282 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 4283 } 4284 } 4285 if s.RequestConfiguration != nil { 4286 if err := s.RequestConfiguration.Validate(); err != nil { 4287 invalidParams.AddNested("RequestConfiguration", err.(request.ErrInvalidParams)) 4288 } 4289 } 4290 if s.S3Update != nil { 4291 if err := s.S3Update.Validate(); err != nil { 4292 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 4293 } 4294 } 4295 4296 if invalidParams.Len() > 0 { 4297 return invalidParams 4298 } 4299 return nil 4300} 4301 4302// SetBufferingHints sets the BufferingHints field's value. 4303func (s *HttpEndpointDestinationUpdate) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationUpdate { 4304 s.BufferingHints = v 4305 return s 4306} 4307 4308// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 4309func (s *HttpEndpointDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationUpdate { 4310 s.CloudWatchLoggingOptions = v 4311 return s 4312} 4313 4314// SetEndpointConfiguration sets the EndpointConfiguration field's value. 4315func (s *HttpEndpointDestinationUpdate) SetEndpointConfiguration(v *HttpEndpointConfiguration) *HttpEndpointDestinationUpdate { 4316 s.EndpointConfiguration = v 4317 return s 4318} 4319 4320// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 4321func (s *HttpEndpointDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationUpdate { 4322 s.ProcessingConfiguration = v 4323 return s 4324} 4325 4326// SetRequestConfiguration sets the RequestConfiguration field's value. 4327func (s *HttpEndpointDestinationUpdate) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationUpdate { 4328 s.RequestConfiguration = v 4329 return s 4330} 4331 4332// SetRetryOptions sets the RetryOptions field's value. 4333func (s *HttpEndpointDestinationUpdate) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationUpdate { 4334 s.RetryOptions = v 4335 return s 4336} 4337 4338// SetRoleARN sets the RoleARN field's value. 4339func (s *HttpEndpointDestinationUpdate) SetRoleARN(v string) *HttpEndpointDestinationUpdate { 4340 s.RoleARN = &v 4341 return s 4342} 4343 4344// SetS3BackupMode sets the S3BackupMode field's value. 4345func (s *HttpEndpointDestinationUpdate) SetS3BackupMode(v string) *HttpEndpointDestinationUpdate { 4346 s.S3BackupMode = &v 4347 return s 4348} 4349 4350// SetS3Update sets the S3Update field's value. 4351func (s *HttpEndpointDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *HttpEndpointDestinationUpdate { 4352 s.S3Update = v 4353 return s 4354} 4355 4356// The configuration of the HTTP endpoint request. 4357type HttpEndpointRequestConfiguration struct { 4358 _ struct{} `type:"structure"` 4359 4360 // Describes the metadata sent to the HTTP endpoint destination. 4361 CommonAttributes []*HttpEndpointCommonAttribute `type:"list"` 4362 4363 // Kinesis Data Firehose uses the content encoding to compress the body of a 4364 // request before sending the request to the destination. For more information, 4365 // see Content-Encoding (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding) 4366 // in MDN Web Docs, the official Mozilla documentation. 4367 ContentEncoding *string `type:"string" enum:"ContentEncoding"` 4368} 4369 4370// String returns the string representation 4371func (s HttpEndpointRequestConfiguration) String() string { 4372 return awsutil.Prettify(s) 4373} 4374 4375// GoString returns the string representation 4376func (s HttpEndpointRequestConfiguration) GoString() string { 4377 return s.String() 4378} 4379 4380// Validate inspects the fields of the type to determine if they are valid. 4381func (s *HttpEndpointRequestConfiguration) Validate() error { 4382 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointRequestConfiguration"} 4383 if s.CommonAttributes != nil { 4384 for i, v := range s.CommonAttributes { 4385 if v == nil { 4386 continue 4387 } 4388 if err := v.Validate(); err != nil { 4389 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CommonAttributes", i), err.(request.ErrInvalidParams)) 4390 } 4391 } 4392 } 4393 4394 if invalidParams.Len() > 0 { 4395 return invalidParams 4396 } 4397 return nil 4398} 4399 4400// SetCommonAttributes sets the CommonAttributes field's value. 4401func (s *HttpEndpointRequestConfiguration) SetCommonAttributes(v []*HttpEndpointCommonAttribute) *HttpEndpointRequestConfiguration { 4402 s.CommonAttributes = v 4403 return s 4404} 4405 4406// SetContentEncoding sets the ContentEncoding field's value. 4407func (s *HttpEndpointRequestConfiguration) SetContentEncoding(v string) *HttpEndpointRequestConfiguration { 4408 s.ContentEncoding = &v 4409 return s 4410} 4411 4412// Describes the retry behavior in case Kinesis Data Firehose is unable to deliver 4413// data to the specified HTTP endpoint destination, or if it doesn't receive 4414// a valid acknowledgment of receipt from the specified HTTP endpoint destination. 4415type HttpEndpointRetryOptions struct { 4416 _ struct{} `type:"structure"` 4417 4418 // The total amount of time that Kinesis Data Firehose spends on retries. This 4419 // duration starts after the initial attempt to send data to the custom destination 4420 // via HTTPS endpoint fails. It doesn't include the periods during which Kinesis 4421 // Data Firehose waits for acknowledgment from the specified destination after 4422 // each attempt. 4423 DurationInSeconds *int64 `type:"integer"` 4424} 4425 4426// String returns the string representation 4427func (s HttpEndpointRetryOptions) String() string { 4428 return awsutil.Prettify(s) 4429} 4430 4431// GoString returns the string representation 4432func (s HttpEndpointRetryOptions) GoString() string { 4433 return s.String() 4434} 4435 4436// SetDurationInSeconds sets the DurationInSeconds field's value. 4437func (s *HttpEndpointRetryOptions) SetDurationInSeconds(v int64) *HttpEndpointRetryOptions { 4438 s.DurationInSeconds = &v 4439 return s 4440} 4441 4442// Specifies the deserializer you want to use to convert the format of the input 4443// data. This parameter is required if Enabled is set to true. 4444type InputFormatConfiguration struct { 4445 _ struct{} `type:"structure"` 4446 4447 // Specifies which deserializer to use. You can choose either the Apache Hive 4448 // JSON SerDe or the OpenX JSON SerDe. If both are non-null, the server rejects 4449 // the request. 4450 Deserializer *Deserializer `type:"structure"` 4451} 4452 4453// String returns the string representation 4454func (s InputFormatConfiguration) String() string { 4455 return awsutil.Prettify(s) 4456} 4457 4458// GoString returns the string representation 4459func (s InputFormatConfiguration) GoString() string { 4460 return s.String() 4461} 4462 4463// SetDeserializer sets the Deserializer field's value. 4464func (s *InputFormatConfiguration) SetDeserializer(v *Deserializer) *InputFormatConfiguration { 4465 s.Deserializer = v 4466 return s 4467} 4468 4469// The specified input parameter has a value that is not valid. 4470type InvalidArgumentException struct { 4471 _ struct{} `type:"structure"` 4472 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4473 4474 // A message that provides information about the error. 4475 Message_ *string `locationName:"message" type:"string"` 4476} 4477 4478// String returns the string representation 4479func (s InvalidArgumentException) String() string { 4480 return awsutil.Prettify(s) 4481} 4482 4483// GoString returns the string representation 4484func (s InvalidArgumentException) GoString() string { 4485 return s.String() 4486} 4487 4488func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error { 4489 return &InvalidArgumentException{ 4490 RespMetadata: v, 4491 } 4492} 4493 4494// Code returns the exception type name. 4495func (s *InvalidArgumentException) Code() string { 4496 return "InvalidArgumentException" 4497} 4498 4499// Message returns the exception's message. 4500func (s *InvalidArgumentException) Message() string { 4501 if s.Message_ != nil { 4502 return *s.Message_ 4503 } 4504 return "" 4505} 4506 4507// OrigErr always returns nil, satisfies awserr.Error interface. 4508func (s *InvalidArgumentException) OrigErr() error { 4509 return nil 4510} 4511 4512func (s *InvalidArgumentException) Error() string { 4513 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4514} 4515 4516// Status code returns the HTTP status code for the request's response error. 4517func (s *InvalidArgumentException) StatusCode() int { 4518 return s.RespMetadata.StatusCode 4519} 4520 4521// RequestID returns the service's response RequestID for request. 4522func (s *InvalidArgumentException) RequestID() string { 4523 return s.RespMetadata.RequestID 4524} 4525 4526// Kinesis Data Firehose throws this exception when an attempt to put records 4527// or to start or stop delivery stream encryption fails. This happens when the 4528// KMS service throws one of the following exception types: AccessDeniedException, 4529// InvalidStateException, DisabledException, or NotFoundException. 4530type InvalidKMSResourceException struct { 4531 _ struct{} `type:"structure"` 4532 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4533 4534 Code_ *string `locationName:"code" type:"string"` 4535 4536 Message_ *string `locationName:"message" type:"string"` 4537} 4538 4539// String returns the string representation 4540func (s InvalidKMSResourceException) String() string { 4541 return awsutil.Prettify(s) 4542} 4543 4544// GoString returns the string representation 4545func (s InvalidKMSResourceException) GoString() string { 4546 return s.String() 4547} 4548 4549func newErrorInvalidKMSResourceException(v protocol.ResponseMetadata) error { 4550 return &InvalidKMSResourceException{ 4551 RespMetadata: v, 4552 } 4553} 4554 4555// Code returns the exception type name. 4556func (s *InvalidKMSResourceException) Code() string { 4557 return "InvalidKMSResourceException" 4558} 4559 4560// Message returns the exception's message. 4561func (s *InvalidKMSResourceException) Message() string { 4562 if s.Message_ != nil { 4563 return *s.Message_ 4564 } 4565 return "" 4566} 4567 4568// OrigErr always returns nil, satisfies awserr.Error interface. 4569func (s *InvalidKMSResourceException) OrigErr() error { 4570 return nil 4571} 4572 4573func (s *InvalidKMSResourceException) Error() string { 4574 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4575} 4576 4577// Status code returns the HTTP status code for the request's response error. 4578func (s *InvalidKMSResourceException) StatusCode() int { 4579 return s.RespMetadata.StatusCode 4580} 4581 4582// RequestID returns the service's response RequestID for request. 4583func (s *InvalidKMSResourceException) RequestID() string { 4584 return s.RespMetadata.RequestID 4585} 4586 4587// Describes an encryption key for a destination in Amazon S3. 4588type KMSEncryptionConfig struct { 4589 _ struct{} `type:"structure"` 4590 4591 // The Amazon Resource Name (ARN) of the encryption key. Must belong to the 4592 // same AWS Region as the destination Amazon S3 bucket. For more information, 4593 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 4594 // 4595 // AWSKMSKeyARN is a required field 4596 AWSKMSKeyARN *string `min:"1" type:"string" required:"true"` 4597} 4598 4599// String returns the string representation 4600func (s KMSEncryptionConfig) String() string { 4601 return awsutil.Prettify(s) 4602} 4603 4604// GoString returns the string representation 4605func (s KMSEncryptionConfig) GoString() string { 4606 return s.String() 4607} 4608 4609// Validate inspects the fields of the type to determine if they are valid. 4610func (s *KMSEncryptionConfig) Validate() error { 4611 invalidParams := request.ErrInvalidParams{Context: "KMSEncryptionConfig"} 4612 if s.AWSKMSKeyARN == nil { 4613 invalidParams.Add(request.NewErrParamRequired("AWSKMSKeyARN")) 4614 } 4615 if s.AWSKMSKeyARN != nil && len(*s.AWSKMSKeyARN) < 1 { 4616 invalidParams.Add(request.NewErrParamMinLen("AWSKMSKeyARN", 1)) 4617 } 4618 4619 if invalidParams.Len() > 0 { 4620 return invalidParams 4621 } 4622 return nil 4623} 4624 4625// SetAWSKMSKeyARN sets the AWSKMSKeyARN field's value. 4626func (s *KMSEncryptionConfig) SetAWSKMSKeyARN(v string) *KMSEncryptionConfig { 4627 s.AWSKMSKeyARN = &v 4628 return s 4629} 4630 4631// The stream and role Amazon Resource Names (ARNs) for a Kinesis data stream 4632// used as the source for a delivery stream. 4633type KinesisStreamSourceConfiguration struct { 4634 _ struct{} `type:"structure"` 4635 4636 // The ARN of the source Kinesis data stream. For more information, see Amazon 4637 // Kinesis Data Streams ARN Format (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). 4638 // 4639 // KinesisStreamARN is a required field 4640 KinesisStreamARN *string `min:"1" type:"string" required:"true"` 4641 4642 // The ARN of the role that provides access to the source Kinesis data stream. 4643 // For more information, see AWS Identity and Access Management (IAM) ARN Format 4644 // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam). 4645 // 4646 // RoleARN is a required field 4647 RoleARN *string `min:"1" type:"string" required:"true"` 4648} 4649 4650// String returns the string representation 4651func (s KinesisStreamSourceConfiguration) String() string { 4652 return awsutil.Prettify(s) 4653} 4654 4655// GoString returns the string representation 4656func (s KinesisStreamSourceConfiguration) GoString() string { 4657 return s.String() 4658} 4659 4660// Validate inspects the fields of the type to determine if they are valid. 4661func (s *KinesisStreamSourceConfiguration) Validate() error { 4662 invalidParams := request.ErrInvalidParams{Context: "KinesisStreamSourceConfiguration"} 4663 if s.KinesisStreamARN == nil { 4664 invalidParams.Add(request.NewErrParamRequired("KinesisStreamARN")) 4665 } 4666 if s.KinesisStreamARN != nil && len(*s.KinesisStreamARN) < 1 { 4667 invalidParams.Add(request.NewErrParamMinLen("KinesisStreamARN", 1)) 4668 } 4669 if s.RoleARN == nil { 4670 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 4671 } 4672 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 4673 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 4674 } 4675 4676 if invalidParams.Len() > 0 { 4677 return invalidParams 4678 } 4679 return nil 4680} 4681 4682// SetKinesisStreamARN sets the KinesisStreamARN field's value. 4683func (s *KinesisStreamSourceConfiguration) SetKinesisStreamARN(v string) *KinesisStreamSourceConfiguration { 4684 s.KinesisStreamARN = &v 4685 return s 4686} 4687 4688// SetRoleARN sets the RoleARN field's value. 4689func (s *KinesisStreamSourceConfiguration) SetRoleARN(v string) *KinesisStreamSourceConfiguration { 4690 s.RoleARN = &v 4691 return s 4692} 4693 4694// Details about a Kinesis data stream used as the source for a Kinesis Data 4695// Firehose delivery stream. 4696type KinesisStreamSourceDescription struct { 4697 _ struct{} `type:"structure"` 4698 4699 // Kinesis Data Firehose starts retrieving records from the Kinesis data stream 4700 // starting with this timestamp. 4701 DeliveryStartTimestamp *time.Time `type:"timestamp"` 4702 4703 // The Amazon Resource Name (ARN) of the source Kinesis data stream. For more 4704 // information, see Amazon Kinesis Data Streams ARN Format (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). 4705 KinesisStreamARN *string `min:"1" type:"string"` 4706 4707 // The ARN of the role used by the source Kinesis data stream. For more information, 4708 // see AWS Identity and Access Management (IAM) ARN Format (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam). 4709 RoleARN *string `min:"1" type:"string"` 4710} 4711 4712// String returns the string representation 4713func (s KinesisStreamSourceDescription) String() string { 4714 return awsutil.Prettify(s) 4715} 4716 4717// GoString returns the string representation 4718func (s KinesisStreamSourceDescription) GoString() string { 4719 return s.String() 4720} 4721 4722// SetDeliveryStartTimestamp sets the DeliveryStartTimestamp field's value. 4723func (s *KinesisStreamSourceDescription) SetDeliveryStartTimestamp(v time.Time) *KinesisStreamSourceDescription { 4724 s.DeliveryStartTimestamp = &v 4725 return s 4726} 4727 4728// SetKinesisStreamARN sets the KinesisStreamARN field's value. 4729func (s *KinesisStreamSourceDescription) SetKinesisStreamARN(v string) *KinesisStreamSourceDescription { 4730 s.KinesisStreamARN = &v 4731 return s 4732} 4733 4734// SetRoleARN sets the RoleARN field's value. 4735func (s *KinesisStreamSourceDescription) SetRoleARN(v string) *KinesisStreamSourceDescription { 4736 s.RoleARN = &v 4737 return s 4738} 4739 4740// You have already reached the limit for a requested resource. 4741type LimitExceededException struct { 4742 _ struct{} `type:"structure"` 4743 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4744 4745 // A message that provides information about the error. 4746 Message_ *string `locationName:"message" type:"string"` 4747} 4748 4749// String returns the string representation 4750func (s LimitExceededException) String() string { 4751 return awsutil.Prettify(s) 4752} 4753 4754// GoString returns the string representation 4755func (s LimitExceededException) GoString() string { 4756 return s.String() 4757} 4758 4759func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 4760 return &LimitExceededException{ 4761 RespMetadata: v, 4762 } 4763} 4764 4765// Code returns the exception type name. 4766func (s *LimitExceededException) Code() string { 4767 return "LimitExceededException" 4768} 4769 4770// Message returns the exception's message. 4771func (s *LimitExceededException) Message() string { 4772 if s.Message_ != nil { 4773 return *s.Message_ 4774 } 4775 return "" 4776} 4777 4778// OrigErr always returns nil, satisfies awserr.Error interface. 4779func (s *LimitExceededException) OrigErr() error { 4780 return nil 4781} 4782 4783func (s *LimitExceededException) Error() string { 4784 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4785} 4786 4787// Status code returns the HTTP status code for the request's response error. 4788func (s *LimitExceededException) StatusCode() int { 4789 return s.RespMetadata.StatusCode 4790} 4791 4792// RequestID returns the service's response RequestID for request. 4793func (s *LimitExceededException) RequestID() string { 4794 return s.RespMetadata.RequestID 4795} 4796 4797type ListDeliveryStreamsInput struct { 4798 _ struct{} `type:"structure"` 4799 4800 // The delivery stream type. This can be one of the following values: 4801 // 4802 // * DirectPut: Provider applications access the delivery stream directly. 4803 // 4804 // * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream 4805 // as a source. 4806 // 4807 // This parameter is optional. If this parameter is omitted, delivery streams 4808 // of all types are returned. 4809 DeliveryStreamType *string `type:"string" enum:"DeliveryStreamType"` 4810 4811 // The list of delivery streams returned by this call to ListDeliveryStreams 4812 // will start with the delivery stream whose name comes alphabetically immediately 4813 // after the name you specify in ExclusiveStartDeliveryStreamName. 4814 ExclusiveStartDeliveryStreamName *string `min:"1" type:"string"` 4815 4816 // The maximum number of delivery streams to list. The default value is 10. 4817 Limit *int64 `min:"1" type:"integer"` 4818} 4819 4820// String returns the string representation 4821func (s ListDeliveryStreamsInput) String() string { 4822 return awsutil.Prettify(s) 4823} 4824 4825// GoString returns the string representation 4826func (s ListDeliveryStreamsInput) GoString() string { 4827 return s.String() 4828} 4829 4830// Validate inspects the fields of the type to determine if they are valid. 4831func (s *ListDeliveryStreamsInput) Validate() error { 4832 invalidParams := request.ErrInvalidParams{Context: "ListDeliveryStreamsInput"} 4833 if s.ExclusiveStartDeliveryStreamName != nil && len(*s.ExclusiveStartDeliveryStreamName) < 1 { 4834 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartDeliveryStreamName", 1)) 4835 } 4836 if s.Limit != nil && *s.Limit < 1 { 4837 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 4838 } 4839 4840 if invalidParams.Len() > 0 { 4841 return invalidParams 4842 } 4843 return nil 4844} 4845 4846// SetDeliveryStreamType sets the DeliveryStreamType field's value. 4847func (s *ListDeliveryStreamsInput) SetDeliveryStreamType(v string) *ListDeliveryStreamsInput { 4848 s.DeliveryStreamType = &v 4849 return s 4850} 4851 4852// SetExclusiveStartDeliveryStreamName sets the ExclusiveStartDeliveryStreamName field's value. 4853func (s *ListDeliveryStreamsInput) SetExclusiveStartDeliveryStreamName(v string) *ListDeliveryStreamsInput { 4854 s.ExclusiveStartDeliveryStreamName = &v 4855 return s 4856} 4857 4858// SetLimit sets the Limit field's value. 4859func (s *ListDeliveryStreamsInput) SetLimit(v int64) *ListDeliveryStreamsInput { 4860 s.Limit = &v 4861 return s 4862} 4863 4864type ListDeliveryStreamsOutput struct { 4865 _ struct{} `type:"structure"` 4866 4867 // The names of the delivery streams. 4868 // 4869 // DeliveryStreamNames is a required field 4870 DeliveryStreamNames []*string `type:"list" required:"true"` 4871 4872 // Indicates whether there are more delivery streams available to list. 4873 // 4874 // HasMoreDeliveryStreams is a required field 4875 HasMoreDeliveryStreams *bool `type:"boolean" required:"true"` 4876} 4877 4878// String returns the string representation 4879func (s ListDeliveryStreamsOutput) String() string { 4880 return awsutil.Prettify(s) 4881} 4882 4883// GoString returns the string representation 4884func (s ListDeliveryStreamsOutput) GoString() string { 4885 return s.String() 4886} 4887 4888// SetDeliveryStreamNames sets the DeliveryStreamNames field's value. 4889func (s *ListDeliveryStreamsOutput) SetDeliveryStreamNames(v []*string) *ListDeliveryStreamsOutput { 4890 s.DeliveryStreamNames = v 4891 return s 4892} 4893 4894// SetHasMoreDeliveryStreams sets the HasMoreDeliveryStreams field's value. 4895func (s *ListDeliveryStreamsOutput) SetHasMoreDeliveryStreams(v bool) *ListDeliveryStreamsOutput { 4896 s.HasMoreDeliveryStreams = &v 4897 return s 4898} 4899 4900type ListTagsForDeliveryStreamInput struct { 4901 _ struct{} `type:"structure"` 4902 4903 // The name of the delivery stream whose tags you want to list. 4904 // 4905 // DeliveryStreamName is a required field 4906 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 4907 4908 // The key to use as the starting point for the list of tags. If you set this 4909 // parameter, ListTagsForDeliveryStream gets all tags that occur after ExclusiveStartTagKey. 4910 ExclusiveStartTagKey *string `min:"1" type:"string"` 4911 4912 // The number of tags to return. If this number is less than the total number 4913 // of tags associated with the delivery stream, HasMoreTags is set to true in 4914 // the response. To list additional tags, set ExclusiveStartTagKey to the last 4915 // key in the response. 4916 Limit *int64 `min:"1" type:"integer"` 4917} 4918 4919// String returns the string representation 4920func (s ListTagsForDeliveryStreamInput) String() string { 4921 return awsutil.Prettify(s) 4922} 4923 4924// GoString returns the string representation 4925func (s ListTagsForDeliveryStreamInput) GoString() string { 4926 return s.String() 4927} 4928 4929// Validate inspects the fields of the type to determine if they are valid. 4930func (s *ListTagsForDeliveryStreamInput) Validate() error { 4931 invalidParams := request.ErrInvalidParams{Context: "ListTagsForDeliveryStreamInput"} 4932 if s.DeliveryStreamName == nil { 4933 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 4934 } 4935 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 4936 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 4937 } 4938 if s.ExclusiveStartTagKey != nil && len(*s.ExclusiveStartTagKey) < 1 { 4939 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartTagKey", 1)) 4940 } 4941 if s.Limit != nil && *s.Limit < 1 { 4942 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 4943 } 4944 4945 if invalidParams.Len() > 0 { 4946 return invalidParams 4947 } 4948 return nil 4949} 4950 4951// SetDeliveryStreamName sets the DeliveryStreamName field's value. 4952func (s *ListTagsForDeliveryStreamInput) SetDeliveryStreamName(v string) *ListTagsForDeliveryStreamInput { 4953 s.DeliveryStreamName = &v 4954 return s 4955} 4956 4957// SetExclusiveStartTagKey sets the ExclusiveStartTagKey field's value. 4958func (s *ListTagsForDeliveryStreamInput) SetExclusiveStartTagKey(v string) *ListTagsForDeliveryStreamInput { 4959 s.ExclusiveStartTagKey = &v 4960 return s 4961} 4962 4963// SetLimit sets the Limit field's value. 4964func (s *ListTagsForDeliveryStreamInput) SetLimit(v int64) *ListTagsForDeliveryStreamInput { 4965 s.Limit = &v 4966 return s 4967} 4968 4969type ListTagsForDeliveryStreamOutput struct { 4970 _ struct{} `type:"structure"` 4971 4972 // If this is true in the response, more tags are available. To list the remaining 4973 // tags, set ExclusiveStartTagKey to the key of the last tag returned and call 4974 // ListTagsForDeliveryStream again. 4975 // 4976 // HasMoreTags is a required field 4977 HasMoreTags *bool `type:"boolean" required:"true"` 4978 4979 // A list of tags associated with DeliveryStreamName, starting with the first 4980 // tag after ExclusiveStartTagKey and up to the specified Limit. 4981 // 4982 // Tags is a required field 4983 Tags []*Tag `type:"list" required:"true"` 4984} 4985 4986// String returns the string representation 4987func (s ListTagsForDeliveryStreamOutput) String() string { 4988 return awsutil.Prettify(s) 4989} 4990 4991// GoString returns the string representation 4992func (s ListTagsForDeliveryStreamOutput) GoString() string { 4993 return s.String() 4994} 4995 4996// SetHasMoreTags sets the HasMoreTags field's value. 4997func (s *ListTagsForDeliveryStreamOutput) SetHasMoreTags(v bool) *ListTagsForDeliveryStreamOutput { 4998 s.HasMoreTags = &v 4999 return s 5000} 5001 5002// SetTags sets the Tags field's value. 5003func (s *ListTagsForDeliveryStreamOutput) SetTags(v []*Tag) *ListTagsForDeliveryStreamOutput { 5004 s.Tags = v 5005 return s 5006} 5007 5008// The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which 5009// means converting it from the JSON format in preparation for serializing it 5010// to the Parquet or ORC format. This is one of two deserializers you can choose, 5011// depending on which one offers the functionality you need. The other option 5012// is the native Hive / HCatalog JsonSerDe. 5013type OpenXJsonSerDe struct { 5014 _ struct{} `type:"structure"` 5015 5016 // When set to true, which is the default, Kinesis Data Firehose converts JSON 5017 // keys to lowercase before deserializing them. 5018 CaseInsensitive *bool `type:"boolean"` 5019 5020 // Maps column names to JSON keys that aren't identical to the column names. 5021 // This is useful when the JSON contains keys that are Hive keywords. For example, 5022 // timestamp is a Hive keyword. If you have a JSON key named timestamp, set 5023 // this parameter to {"ts": "timestamp"} to map this key to a column named ts. 5024 ColumnToJsonKeyMappings map[string]*string `type:"map"` 5025 5026 // When set to true, specifies that the names of the keys include dots and that 5027 // you want Kinesis Data Firehose to replace them with underscores. This is 5028 // useful because Apache Hive does not allow dots in column names. For example, 5029 // if the JSON contains a key whose name is "a.b", you can define the column 5030 // name to be "a_b" when using this option. 5031 // 5032 // The default is false. 5033 ConvertDotsInJsonKeysToUnderscores *bool `type:"boolean"` 5034} 5035 5036// String returns the string representation 5037func (s OpenXJsonSerDe) String() string { 5038 return awsutil.Prettify(s) 5039} 5040 5041// GoString returns the string representation 5042func (s OpenXJsonSerDe) GoString() string { 5043 return s.String() 5044} 5045 5046// SetCaseInsensitive sets the CaseInsensitive field's value. 5047func (s *OpenXJsonSerDe) SetCaseInsensitive(v bool) *OpenXJsonSerDe { 5048 s.CaseInsensitive = &v 5049 return s 5050} 5051 5052// SetColumnToJsonKeyMappings sets the ColumnToJsonKeyMappings field's value. 5053func (s *OpenXJsonSerDe) SetColumnToJsonKeyMappings(v map[string]*string) *OpenXJsonSerDe { 5054 s.ColumnToJsonKeyMappings = v 5055 return s 5056} 5057 5058// SetConvertDotsInJsonKeysToUnderscores sets the ConvertDotsInJsonKeysToUnderscores field's value. 5059func (s *OpenXJsonSerDe) SetConvertDotsInJsonKeysToUnderscores(v bool) *OpenXJsonSerDe { 5060 s.ConvertDotsInJsonKeysToUnderscores = &v 5061 return s 5062} 5063 5064// A serializer to use for converting data to the ORC format before storing 5065// it in Amazon S3. For more information, see Apache ORC (https://orc.apache.org/docs/). 5066type OrcSerDe struct { 5067 _ struct{} `type:"structure"` 5068 5069 // The Hadoop Distributed File System (HDFS) block size. This is useful if you 5070 // intend to copy the data from Amazon S3 to HDFS before querying. The default 5071 // is 256 MiB and the minimum is 64 MiB. Kinesis Data Firehose uses this value 5072 // for padding calculations. 5073 BlockSizeBytes *int64 `min:"6.7108864e+07" type:"integer"` 5074 5075 // The column names for which you want Kinesis Data Firehose to create bloom 5076 // filters. The default is null. 5077 BloomFilterColumns []*string `type:"list"` 5078 5079 // The Bloom filter false positive probability (FPP). The lower the FPP, the 5080 // bigger the Bloom filter. The default value is 0.05, the minimum is 0, and 5081 // the maximum is 1. 5082 BloomFilterFalsePositiveProbability *float64 `type:"double"` 5083 5084 // The compression code to use over data blocks. The default is SNAPPY. 5085 Compression *string `type:"string" enum:"OrcCompression"` 5086 5087 // Represents the fraction of the total number of non-null rows. To turn off 5088 // dictionary encoding, set this fraction to a number that is less than the 5089 // number of distinct keys in a dictionary. To always use dictionary encoding, 5090 // set this threshold to 1. 5091 DictionaryKeyThreshold *float64 `type:"double"` 5092 5093 // Set this to true to indicate that you want stripes to be padded to the HDFS 5094 // block boundaries. This is useful if you intend to copy the data from Amazon 5095 // S3 to HDFS before querying. The default is false. 5096 EnablePadding *bool `type:"boolean"` 5097 5098 // The version of the file to write. The possible values are V0_11 and V0_12. 5099 // The default is V0_12. 5100 FormatVersion *string `type:"string" enum:"OrcFormatVersion"` 5101 5102 // A number between 0 and 1 that defines the tolerance for block padding as 5103 // a decimal fraction of stripe size. The default value is 0.05, which means 5104 // 5 percent of stripe size. 5105 // 5106 // For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the 5107 // default block padding tolerance of 5 percent reserves a maximum of 3.2 MiB 5108 // for padding within the 256 MiB block. In such a case, if the available size 5109 // within the block is more than 3.2 MiB, a new, smaller stripe is inserted 5110 // to fit within that space. This ensures that no stripe crosses block boundaries 5111 // and causes remote reads within a node-local task. 5112 // 5113 // Kinesis Data Firehose ignores this parameter when OrcSerDe$EnablePadding 5114 // is false. 5115 PaddingTolerance *float64 `type:"double"` 5116 5117 // The number of rows between index entries. The default is 10,000 and the minimum 5118 // is 1,000. 5119 RowIndexStride *int64 `min:"1000" type:"integer"` 5120 5121 // The number of bytes in each stripe. The default is 64 MiB and the minimum 5122 // is 8 MiB. 5123 StripeSizeBytes *int64 `min:"8.388608e+06" type:"integer"` 5124} 5125 5126// String returns the string representation 5127func (s OrcSerDe) String() string { 5128 return awsutil.Prettify(s) 5129} 5130 5131// GoString returns the string representation 5132func (s OrcSerDe) GoString() string { 5133 return s.String() 5134} 5135 5136// Validate inspects the fields of the type to determine if they are valid. 5137func (s *OrcSerDe) Validate() error { 5138 invalidParams := request.ErrInvalidParams{Context: "OrcSerDe"} 5139 if s.BlockSizeBytes != nil && *s.BlockSizeBytes < 6.7108864e+07 { 5140 invalidParams.Add(request.NewErrParamMinValue("BlockSizeBytes", 6.7108864e+07)) 5141 } 5142 if s.RowIndexStride != nil && *s.RowIndexStride < 1000 { 5143 invalidParams.Add(request.NewErrParamMinValue("RowIndexStride", 1000)) 5144 } 5145 if s.StripeSizeBytes != nil && *s.StripeSizeBytes < 8.388608e+06 { 5146 invalidParams.Add(request.NewErrParamMinValue("StripeSizeBytes", 8.388608e+06)) 5147 } 5148 5149 if invalidParams.Len() > 0 { 5150 return invalidParams 5151 } 5152 return nil 5153} 5154 5155// SetBlockSizeBytes sets the BlockSizeBytes field's value. 5156func (s *OrcSerDe) SetBlockSizeBytes(v int64) *OrcSerDe { 5157 s.BlockSizeBytes = &v 5158 return s 5159} 5160 5161// SetBloomFilterColumns sets the BloomFilterColumns field's value. 5162func (s *OrcSerDe) SetBloomFilterColumns(v []*string) *OrcSerDe { 5163 s.BloomFilterColumns = v 5164 return s 5165} 5166 5167// SetBloomFilterFalsePositiveProbability sets the BloomFilterFalsePositiveProbability field's value. 5168func (s *OrcSerDe) SetBloomFilterFalsePositiveProbability(v float64) *OrcSerDe { 5169 s.BloomFilterFalsePositiveProbability = &v 5170 return s 5171} 5172 5173// SetCompression sets the Compression field's value. 5174func (s *OrcSerDe) SetCompression(v string) *OrcSerDe { 5175 s.Compression = &v 5176 return s 5177} 5178 5179// SetDictionaryKeyThreshold sets the DictionaryKeyThreshold field's value. 5180func (s *OrcSerDe) SetDictionaryKeyThreshold(v float64) *OrcSerDe { 5181 s.DictionaryKeyThreshold = &v 5182 return s 5183} 5184 5185// SetEnablePadding sets the EnablePadding field's value. 5186func (s *OrcSerDe) SetEnablePadding(v bool) *OrcSerDe { 5187 s.EnablePadding = &v 5188 return s 5189} 5190 5191// SetFormatVersion sets the FormatVersion field's value. 5192func (s *OrcSerDe) SetFormatVersion(v string) *OrcSerDe { 5193 s.FormatVersion = &v 5194 return s 5195} 5196 5197// SetPaddingTolerance sets the PaddingTolerance field's value. 5198func (s *OrcSerDe) SetPaddingTolerance(v float64) *OrcSerDe { 5199 s.PaddingTolerance = &v 5200 return s 5201} 5202 5203// SetRowIndexStride sets the RowIndexStride field's value. 5204func (s *OrcSerDe) SetRowIndexStride(v int64) *OrcSerDe { 5205 s.RowIndexStride = &v 5206 return s 5207} 5208 5209// SetStripeSizeBytes sets the StripeSizeBytes field's value. 5210func (s *OrcSerDe) SetStripeSizeBytes(v int64) *OrcSerDe { 5211 s.StripeSizeBytes = &v 5212 return s 5213} 5214 5215// Specifies the serializer that you want Kinesis Data Firehose to use to convert 5216// the format of your data before it writes it to Amazon S3. This parameter 5217// is required if Enabled is set to true. 5218type OutputFormatConfiguration struct { 5219 _ struct{} `type:"structure"` 5220 5221 // Specifies which serializer to use. You can choose either the ORC SerDe or 5222 // the Parquet SerDe. If both are non-null, the server rejects the request. 5223 Serializer *Serializer `type:"structure"` 5224} 5225 5226// String returns the string representation 5227func (s OutputFormatConfiguration) String() string { 5228 return awsutil.Prettify(s) 5229} 5230 5231// GoString returns the string representation 5232func (s OutputFormatConfiguration) GoString() string { 5233 return s.String() 5234} 5235 5236// Validate inspects the fields of the type to determine if they are valid. 5237func (s *OutputFormatConfiguration) Validate() error { 5238 invalidParams := request.ErrInvalidParams{Context: "OutputFormatConfiguration"} 5239 if s.Serializer != nil { 5240 if err := s.Serializer.Validate(); err != nil { 5241 invalidParams.AddNested("Serializer", err.(request.ErrInvalidParams)) 5242 } 5243 } 5244 5245 if invalidParams.Len() > 0 { 5246 return invalidParams 5247 } 5248 return nil 5249} 5250 5251// SetSerializer sets the Serializer field's value. 5252func (s *OutputFormatConfiguration) SetSerializer(v *Serializer) *OutputFormatConfiguration { 5253 s.Serializer = v 5254 return s 5255} 5256 5257// A serializer to use for converting data to the Parquet format before storing 5258// it in Amazon S3. For more information, see Apache Parquet (https://parquet.apache.org/documentation/latest/). 5259type ParquetSerDe struct { 5260 _ struct{} `type:"structure"` 5261 5262 // The Hadoop Distributed File System (HDFS) block size. This is useful if you 5263 // intend to copy the data from Amazon S3 to HDFS before querying. The default 5264 // is 256 MiB and the minimum is 64 MiB. Kinesis Data Firehose uses this value 5265 // for padding calculations. 5266 BlockSizeBytes *int64 `min:"6.7108864e+07" type:"integer"` 5267 5268 // The compression code to use over data blocks. The possible values are UNCOMPRESSED, 5269 // SNAPPY, and GZIP, with the default being SNAPPY. Use SNAPPY for higher decompression 5270 // speed. Use GZIP if the compression ratio is more important than speed. 5271 Compression *string `type:"string" enum:"ParquetCompression"` 5272 5273 // Indicates whether to enable dictionary compression. 5274 EnableDictionaryCompression *bool `type:"boolean"` 5275 5276 // The maximum amount of padding to apply. This is useful if you intend to copy 5277 // the data from Amazon S3 to HDFS before querying. The default is 0. 5278 MaxPaddingBytes *int64 `type:"integer"` 5279 5280 // The Parquet page size. Column chunks are divided into pages. A page is conceptually 5281 // an indivisible unit (in terms of compression and encoding). The minimum value 5282 // is 64 KiB and the default is 1 MiB. 5283 PageSizeBytes *int64 `min:"65536" type:"integer"` 5284 5285 // Indicates the version of row format to output. The possible values are V1 5286 // and V2. The default is V1. 5287 WriterVersion *string `type:"string" enum:"ParquetWriterVersion"` 5288} 5289 5290// String returns the string representation 5291func (s ParquetSerDe) String() string { 5292 return awsutil.Prettify(s) 5293} 5294 5295// GoString returns the string representation 5296func (s ParquetSerDe) GoString() string { 5297 return s.String() 5298} 5299 5300// Validate inspects the fields of the type to determine if they are valid. 5301func (s *ParquetSerDe) Validate() error { 5302 invalidParams := request.ErrInvalidParams{Context: "ParquetSerDe"} 5303 if s.BlockSizeBytes != nil && *s.BlockSizeBytes < 6.7108864e+07 { 5304 invalidParams.Add(request.NewErrParamMinValue("BlockSizeBytes", 6.7108864e+07)) 5305 } 5306 if s.PageSizeBytes != nil && *s.PageSizeBytes < 65536 { 5307 invalidParams.Add(request.NewErrParamMinValue("PageSizeBytes", 65536)) 5308 } 5309 5310 if invalidParams.Len() > 0 { 5311 return invalidParams 5312 } 5313 return nil 5314} 5315 5316// SetBlockSizeBytes sets the BlockSizeBytes field's value. 5317func (s *ParquetSerDe) SetBlockSizeBytes(v int64) *ParquetSerDe { 5318 s.BlockSizeBytes = &v 5319 return s 5320} 5321 5322// SetCompression sets the Compression field's value. 5323func (s *ParquetSerDe) SetCompression(v string) *ParquetSerDe { 5324 s.Compression = &v 5325 return s 5326} 5327 5328// SetEnableDictionaryCompression sets the EnableDictionaryCompression field's value. 5329func (s *ParquetSerDe) SetEnableDictionaryCompression(v bool) *ParquetSerDe { 5330 s.EnableDictionaryCompression = &v 5331 return s 5332} 5333 5334// SetMaxPaddingBytes sets the MaxPaddingBytes field's value. 5335func (s *ParquetSerDe) SetMaxPaddingBytes(v int64) *ParquetSerDe { 5336 s.MaxPaddingBytes = &v 5337 return s 5338} 5339 5340// SetPageSizeBytes sets the PageSizeBytes field's value. 5341func (s *ParquetSerDe) SetPageSizeBytes(v int64) *ParquetSerDe { 5342 s.PageSizeBytes = &v 5343 return s 5344} 5345 5346// SetWriterVersion sets the WriterVersion field's value. 5347func (s *ParquetSerDe) SetWriterVersion(v string) *ParquetSerDe { 5348 s.WriterVersion = &v 5349 return s 5350} 5351 5352// Describes a data processing configuration. 5353type ProcessingConfiguration struct { 5354 _ struct{} `type:"structure"` 5355 5356 // Enables or disables data processing. 5357 Enabled *bool `type:"boolean"` 5358 5359 // The data processors. 5360 Processors []*Processor `type:"list"` 5361} 5362 5363// String returns the string representation 5364func (s ProcessingConfiguration) String() string { 5365 return awsutil.Prettify(s) 5366} 5367 5368// GoString returns the string representation 5369func (s ProcessingConfiguration) GoString() string { 5370 return s.String() 5371} 5372 5373// Validate inspects the fields of the type to determine if they are valid. 5374func (s *ProcessingConfiguration) Validate() error { 5375 invalidParams := request.ErrInvalidParams{Context: "ProcessingConfiguration"} 5376 if s.Processors != nil { 5377 for i, v := range s.Processors { 5378 if v == nil { 5379 continue 5380 } 5381 if err := v.Validate(); err != nil { 5382 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Processors", i), err.(request.ErrInvalidParams)) 5383 } 5384 } 5385 } 5386 5387 if invalidParams.Len() > 0 { 5388 return invalidParams 5389 } 5390 return nil 5391} 5392 5393// SetEnabled sets the Enabled field's value. 5394func (s *ProcessingConfiguration) SetEnabled(v bool) *ProcessingConfiguration { 5395 s.Enabled = &v 5396 return s 5397} 5398 5399// SetProcessors sets the Processors field's value. 5400func (s *ProcessingConfiguration) SetProcessors(v []*Processor) *ProcessingConfiguration { 5401 s.Processors = v 5402 return s 5403} 5404 5405// Describes a data processor. 5406type Processor struct { 5407 _ struct{} `type:"structure"` 5408 5409 // The processor parameters. 5410 Parameters []*ProcessorParameter `type:"list"` 5411 5412 // The type of processor. 5413 // 5414 // Type is a required field 5415 Type *string `type:"string" required:"true" enum:"ProcessorType"` 5416} 5417 5418// String returns the string representation 5419func (s Processor) String() string { 5420 return awsutil.Prettify(s) 5421} 5422 5423// GoString returns the string representation 5424func (s Processor) GoString() string { 5425 return s.String() 5426} 5427 5428// Validate inspects the fields of the type to determine if they are valid. 5429func (s *Processor) Validate() error { 5430 invalidParams := request.ErrInvalidParams{Context: "Processor"} 5431 if s.Type == nil { 5432 invalidParams.Add(request.NewErrParamRequired("Type")) 5433 } 5434 if s.Parameters != nil { 5435 for i, v := range s.Parameters { 5436 if v == nil { 5437 continue 5438 } 5439 if err := v.Validate(); err != nil { 5440 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) 5441 } 5442 } 5443 } 5444 5445 if invalidParams.Len() > 0 { 5446 return invalidParams 5447 } 5448 return nil 5449} 5450 5451// SetParameters sets the Parameters field's value. 5452func (s *Processor) SetParameters(v []*ProcessorParameter) *Processor { 5453 s.Parameters = v 5454 return s 5455} 5456 5457// SetType sets the Type field's value. 5458func (s *Processor) SetType(v string) *Processor { 5459 s.Type = &v 5460 return s 5461} 5462 5463// Describes the processor parameter. 5464type ProcessorParameter struct { 5465 _ struct{} `type:"structure"` 5466 5467 // The name of the parameter. 5468 // 5469 // ParameterName is a required field 5470 ParameterName *string `type:"string" required:"true" enum:"ProcessorParameterName"` 5471 5472 // The parameter value. 5473 // 5474 // ParameterValue is a required field 5475 ParameterValue *string `min:"1" type:"string" required:"true"` 5476} 5477 5478// String returns the string representation 5479func (s ProcessorParameter) String() string { 5480 return awsutil.Prettify(s) 5481} 5482 5483// GoString returns the string representation 5484func (s ProcessorParameter) GoString() string { 5485 return s.String() 5486} 5487 5488// Validate inspects the fields of the type to determine if they are valid. 5489func (s *ProcessorParameter) Validate() error { 5490 invalidParams := request.ErrInvalidParams{Context: "ProcessorParameter"} 5491 if s.ParameterName == nil { 5492 invalidParams.Add(request.NewErrParamRequired("ParameterName")) 5493 } 5494 if s.ParameterValue == nil { 5495 invalidParams.Add(request.NewErrParamRequired("ParameterValue")) 5496 } 5497 if s.ParameterValue != nil && len(*s.ParameterValue) < 1 { 5498 invalidParams.Add(request.NewErrParamMinLen("ParameterValue", 1)) 5499 } 5500 5501 if invalidParams.Len() > 0 { 5502 return invalidParams 5503 } 5504 return nil 5505} 5506 5507// SetParameterName sets the ParameterName field's value. 5508func (s *ProcessorParameter) SetParameterName(v string) *ProcessorParameter { 5509 s.ParameterName = &v 5510 return s 5511} 5512 5513// SetParameterValue sets the ParameterValue field's value. 5514func (s *ProcessorParameter) SetParameterValue(v string) *ProcessorParameter { 5515 s.ParameterValue = &v 5516 return s 5517} 5518 5519type PutRecordBatchInput struct { 5520 _ struct{} `type:"structure"` 5521 5522 // The name of the delivery stream. 5523 // 5524 // DeliveryStreamName is a required field 5525 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 5526 5527 // One or more records. 5528 // 5529 // Records is a required field 5530 Records []*Record `min:"1" type:"list" required:"true"` 5531} 5532 5533// String returns the string representation 5534func (s PutRecordBatchInput) String() string { 5535 return awsutil.Prettify(s) 5536} 5537 5538// GoString returns the string representation 5539func (s PutRecordBatchInput) GoString() string { 5540 return s.String() 5541} 5542 5543// Validate inspects the fields of the type to determine if they are valid. 5544func (s *PutRecordBatchInput) Validate() error { 5545 invalidParams := request.ErrInvalidParams{Context: "PutRecordBatchInput"} 5546 if s.DeliveryStreamName == nil { 5547 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 5548 } 5549 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 5550 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 5551 } 5552 if s.Records == nil { 5553 invalidParams.Add(request.NewErrParamRequired("Records")) 5554 } 5555 if s.Records != nil && len(s.Records) < 1 { 5556 invalidParams.Add(request.NewErrParamMinLen("Records", 1)) 5557 } 5558 if s.Records != nil { 5559 for i, v := range s.Records { 5560 if v == nil { 5561 continue 5562 } 5563 if err := v.Validate(); err != nil { 5564 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Records", i), err.(request.ErrInvalidParams)) 5565 } 5566 } 5567 } 5568 5569 if invalidParams.Len() > 0 { 5570 return invalidParams 5571 } 5572 return nil 5573} 5574 5575// SetDeliveryStreamName sets the DeliveryStreamName field's value. 5576func (s *PutRecordBatchInput) SetDeliveryStreamName(v string) *PutRecordBatchInput { 5577 s.DeliveryStreamName = &v 5578 return s 5579} 5580 5581// SetRecords sets the Records field's value. 5582func (s *PutRecordBatchInput) SetRecords(v []*Record) *PutRecordBatchInput { 5583 s.Records = v 5584 return s 5585} 5586 5587type PutRecordBatchOutput struct { 5588 _ struct{} `type:"structure"` 5589 5590 // Indicates whether server-side encryption (SSE) was enabled during this operation. 5591 Encrypted *bool `type:"boolean"` 5592 5593 // The number of records that might have failed processing. This number might 5594 // be greater than 0 even if the PutRecordBatch call succeeds. Check FailedPutCount 5595 // to determine whether there are records that you need to resend. 5596 // 5597 // FailedPutCount is a required field 5598 FailedPutCount *int64 `type:"integer" required:"true"` 5599 5600 // The results array. For each record, the index of the response element is 5601 // the same as the index used in the request array. 5602 // 5603 // RequestResponses is a required field 5604 RequestResponses []*PutRecordBatchResponseEntry `min:"1" type:"list" required:"true"` 5605} 5606 5607// String returns the string representation 5608func (s PutRecordBatchOutput) String() string { 5609 return awsutil.Prettify(s) 5610} 5611 5612// GoString returns the string representation 5613func (s PutRecordBatchOutput) GoString() string { 5614 return s.String() 5615} 5616 5617// SetEncrypted sets the Encrypted field's value. 5618func (s *PutRecordBatchOutput) SetEncrypted(v bool) *PutRecordBatchOutput { 5619 s.Encrypted = &v 5620 return s 5621} 5622 5623// SetFailedPutCount sets the FailedPutCount field's value. 5624func (s *PutRecordBatchOutput) SetFailedPutCount(v int64) *PutRecordBatchOutput { 5625 s.FailedPutCount = &v 5626 return s 5627} 5628 5629// SetRequestResponses sets the RequestResponses field's value. 5630func (s *PutRecordBatchOutput) SetRequestResponses(v []*PutRecordBatchResponseEntry) *PutRecordBatchOutput { 5631 s.RequestResponses = v 5632 return s 5633} 5634 5635// Contains the result for an individual record from a PutRecordBatch request. 5636// If the record is successfully added to your delivery stream, it receives 5637// a record ID. If the record fails to be added to your delivery stream, the 5638// result includes an error code and an error message. 5639type PutRecordBatchResponseEntry struct { 5640 _ struct{} `type:"structure"` 5641 5642 // The error code for an individual record result. 5643 ErrorCode *string `type:"string"` 5644 5645 // The error message for an individual record result. 5646 ErrorMessage *string `type:"string"` 5647 5648 // The ID of the record. 5649 RecordId *string `min:"1" type:"string"` 5650} 5651 5652// String returns the string representation 5653func (s PutRecordBatchResponseEntry) String() string { 5654 return awsutil.Prettify(s) 5655} 5656 5657// GoString returns the string representation 5658func (s PutRecordBatchResponseEntry) GoString() string { 5659 return s.String() 5660} 5661 5662// SetErrorCode sets the ErrorCode field's value. 5663func (s *PutRecordBatchResponseEntry) SetErrorCode(v string) *PutRecordBatchResponseEntry { 5664 s.ErrorCode = &v 5665 return s 5666} 5667 5668// SetErrorMessage sets the ErrorMessage field's value. 5669func (s *PutRecordBatchResponseEntry) SetErrorMessage(v string) *PutRecordBatchResponseEntry { 5670 s.ErrorMessage = &v 5671 return s 5672} 5673 5674// SetRecordId sets the RecordId field's value. 5675func (s *PutRecordBatchResponseEntry) SetRecordId(v string) *PutRecordBatchResponseEntry { 5676 s.RecordId = &v 5677 return s 5678} 5679 5680type PutRecordInput struct { 5681 _ struct{} `type:"structure"` 5682 5683 // The name of the delivery stream. 5684 // 5685 // DeliveryStreamName is a required field 5686 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 5687 5688 // The record. 5689 // 5690 // Record is a required field 5691 Record *Record `type:"structure" required:"true"` 5692} 5693 5694// String returns the string representation 5695func (s PutRecordInput) String() string { 5696 return awsutil.Prettify(s) 5697} 5698 5699// GoString returns the string representation 5700func (s PutRecordInput) GoString() string { 5701 return s.String() 5702} 5703 5704// Validate inspects the fields of the type to determine if they are valid. 5705func (s *PutRecordInput) Validate() error { 5706 invalidParams := request.ErrInvalidParams{Context: "PutRecordInput"} 5707 if s.DeliveryStreamName == nil { 5708 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 5709 } 5710 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 5711 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 5712 } 5713 if s.Record == nil { 5714 invalidParams.Add(request.NewErrParamRequired("Record")) 5715 } 5716 if s.Record != nil { 5717 if err := s.Record.Validate(); err != nil { 5718 invalidParams.AddNested("Record", err.(request.ErrInvalidParams)) 5719 } 5720 } 5721 5722 if invalidParams.Len() > 0 { 5723 return invalidParams 5724 } 5725 return nil 5726} 5727 5728// SetDeliveryStreamName sets the DeliveryStreamName field's value. 5729func (s *PutRecordInput) SetDeliveryStreamName(v string) *PutRecordInput { 5730 s.DeliveryStreamName = &v 5731 return s 5732} 5733 5734// SetRecord sets the Record field's value. 5735func (s *PutRecordInput) SetRecord(v *Record) *PutRecordInput { 5736 s.Record = v 5737 return s 5738} 5739 5740type PutRecordOutput struct { 5741 _ struct{} `type:"structure"` 5742 5743 // Indicates whether server-side encryption (SSE) was enabled during this operation. 5744 Encrypted *bool `type:"boolean"` 5745 5746 // The ID of the record. 5747 // 5748 // RecordId is a required field 5749 RecordId *string `min:"1" type:"string" required:"true"` 5750} 5751 5752// String returns the string representation 5753func (s PutRecordOutput) String() string { 5754 return awsutil.Prettify(s) 5755} 5756 5757// GoString returns the string representation 5758func (s PutRecordOutput) GoString() string { 5759 return s.String() 5760} 5761 5762// SetEncrypted sets the Encrypted field's value. 5763func (s *PutRecordOutput) SetEncrypted(v bool) *PutRecordOutput { 5764 s.Encrypted = &v 5765 return s 5766} 5767 5768// SetRecordId sets the RecordId field's value. 5769func (s *PutRecordOutput) SetRecordId(v string) *PutRecordOutput { 5770 s.RecordId = &v 5771 return s 5772} 5773 5774// The unit of data in a delivery stream. 5775type Record struct { 5776 _ struct{} `type:"structure"` 5777 5778 // The data blob, which is base64-encoded when the blob is serialized. The maximum 5779 // size of the data blob, before base64-encoding, is 1,000 KiB. 5780 // 5781 // Data is automatically base64 encoded/decoded by the SDK. 5782 // 5783 // Data is a required field 5784 Data []byte `type:"blob" required:"true"` 5785} 5786 5787// String returns the string representation 5788func (s Record) String() string { 5789 return awsutil.Prettify(s) 5790} 5791 5792// GoString returns the string representation 5793func (s Record) GoString() string { 5794 return s.String() 5795} 5796 5797// Validate inspects the fields of the type to determine if they are valid. 5798func (s *Record) Validate() error { 5799 invalidParams := request.ErrInvalidParams{Context: "Record"} 5800 if s.Data == nil { 5801 invalidParams.Add(request.NewErrParamRequired("Data")) 5802 } 5803 5804 if invalidParams.Len() > 0 { 5805 return invalidParams 5806 } 5807 return nil 5808} 5809 5810// SetData sets the Data field's value. 5811func (s *Record) SetData(v []byte) *Record { 5812 s.Data = v 5813 return s 5814} 5815 5816// Describes the configuration of a destination in Amazon Redshift. 5817type RedshiftDestinationConfiguration struct { 5818 _ struct{} `type:"structure"` 5819 5820 // The CloudWatch logging options for your delivery stream. 5821 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 5822 5823 // The database connection string. 5824 // 5825 // ClusterJDBCURL is a required field 5826 ClusterJDBCURL *string `min:"1" type:"string" required:"true"` 5827 5828 // The COPY command. 5829 // 5830 // CopyCommand is a required field 5831 CopyCommand *CopyCommand `type:"structure" required:"true"` 5832 5833 // The user password. 5834 // 5835 // Password is a required field 5836 Password *string `min:"6" type:"string" required:"true" sensitive:"true"` 5837 5838 // The data processing configuration. 5839 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 5840 5841 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 5842 // to Amazon Redshift. Default value is 3600 (60 minutes). 5843 RetryOptions *RedshiftRetryOptions `type:"structure"` 5844 5845 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 5846 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 5847 // 5848 // RoleARN is a required field 5849 RoleARN *string `min:"1" type:"string" required:"true"` 5850 5851 // The configuration for backup in Amazon S3. 5852 S3BackupConfiguration *S3DestinationConfiguration `type:"structure"` 5853 5854 // The Amazon S3 backup mode. After you create a delivery stream, you can update 5855 // it to enable Amazon S3 backup if it is disabled. If backup is enabled, you 5856 // can't update the delivery stream to disable it. 5857 S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` 5858 5859 // The configuration for the intermediate Amazon S3 location from which Amazon 5860 // Redshift obtains data. Restrictions are described in the topic for CreateDeliveryStream. 5861 // 5862 // The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration 5863 // because the Amazon Redshift COPY operation that reads from the S3 bucket 5864 // doesn't support these compression formats. 5865 // 5866 // S3Configuration is a required field 5867 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 5868 5869 // The name of the user. 5870 // 5871 // Username is a required field 5872 Username *string `min:"1" type:"string" required:"true" sensitive:"true"` 5873} 5874 5875// String returns the string representation 5876func (s RedshiftDestinationConfiguration) String() string { 5877 return awsutil.Prettify(s) 5878} 5879 5880// GoString returns the string representation 5881func (s RedshiftDestinationConfiguration) GoString() string { 5882 return s.String() 5883} 5884 5885// Validate inspects the fields of the type to determine if they are valid. 5886func (s *RedshiftDestinationConfiguration) Validate() error { 5887 invalidParams := request.ErrInvalidParams{Context: "RedshiftDestinationConfiguration"} 5888 if s.ClusterJDBCURL == nil { 5889 invalidParams.Add(request.NewErrParamRequired("ClusterJDBCURL")) 5890 } 5891 if s.ClusterJDBCURL != nil && len(*s.ClusterJDBCURL) < 1 { 5892 invalidParams.Add(request.NewErrParamMinLen("ClusterJDBCURL", 1)) 5893 } 5894 if s.CopyCommand == nil { 5895 invalidParams.Add(request.NewErrParamRequired("CopyCommand")) 5896 } 5897 if s.Password == nil { 5898 invalidParams.Add(request.NewErrParamRequired("Password")) 5899 } 5900 if s.Password != nil && len(*s.Password) < 6 { 5901 invalidParams.Add(request.NewErrParamMinLen("Password", 6)) 5902 } 5903 if s.RoleARN == nil { 5904 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 5905 } 5906 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 5907 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 5908 } 5909 if s.S3Configuration == nil { 5910 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 5911 } 5912 if s.Username == nil { 5913 invalidParams.Add(request.NewErrParamRequired("Username")) 5914 } 5915 if s.Username != nil && len(*s.Username) < 1 { 5916 invalidParams.Add(request.NewErrParamMinLen("Username", 1)) 5917 } 5918 if s.CopyCommand != nil { 5919 if err := s.CopyCommand.Validate(); err != nil { 5920 invalidParams.AddNested("CopyCommand", err.(request.ErrInvalidParams)) 5921 } 5922 } 5923 if s.ProcessingConfiguration != nil { 5924 if err := s.ProcessingConfiguration.Validate(); err != nil { 5925 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 5926 } 5927 } 5928 if s.S3BackupConfiguration != nil { 5929 if err := s.S3BackupConfiguration.Validate(); err != nil { 5930 invalidParams.AddNested("S3BackupConfiguration", err.(request.ErrInvalidParams)) 5931 } 5932 } 5933 if s.S3Configuration != nil { 5934 if err := s.S3Configuration.Validate(); err != nil { 5935 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 5936 } 5937 } 5938 5939 if invalidParams.Len() > 0 { 5940 return invalidParams 5941 } 5942 return nil 5943} 5944 5945// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 5946func (s *RedshiftDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *RedshiftDestinationConfiguration { 5947 s.CloudWatchLoggingOptions = v 5948 return s 5949} 5950 5951// SetClusterJDBCURL sets the ClusterJDBCURL field's value. 5952func (s *RedshiftDestinationConfiguration) SetClusterJDBCURL(v string) *RedshiftDestinationConfiguration { 5953 s.ClusterJDBCURL = &v 5954 return s 5955} 5956 5957// SetCopyCommand sets the CopyCommand field's value. 5958func (s *RedshiftDestinationConfiguration) SetCopyCommand(v *CopyCommand) *RedshiftDestinationConfiguration { 5959 s.CopyCommand = v 5960 return s 5961} 5962 5963// SetPassword sets the Password field's value. 5964func (s *RedshiftDestinationConfiguration) SetPassword(v string) *RedshiftDestinationConfiguration { 5965 s.Password = &v 5966 return s 5967} 5968 5969// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 5970func (s *RedshiftDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *RedshiftDestinationConfiguration { 5971 s.ProcessingConfiguration = v 5972 return s 5973} 5974 5975// SetRetryOptions sets the RetryOptions field's value. 5976func (s *RedshiftDestinationConfiguration) SetRetryOptions(v *RedshiftRetryOptions) *RedshiftDestinationConfiguration { 5977 s.RetryOptions = v 5978 return s 5979} 5980 5981// SetRoleARN sets the RoleARN field's value. 5982func (s *RedshiftDestinationConfiguration) SetRoleARN(v string) *RedshiftDestinationConfiguration { 5983 s.RoleARN = &v 5984 return s 5985} 5986 5987// SetS3BackupConfiguration sets the S3BackupConfiguration field's value. 5988func (s *RedshiftDestinationConfiguration) SetS3BackupConfiguration(v *S3DestinationConfiguration) *RedshiftDestinationConfiguration { 5989 s.S3BackupConfiguration = v 5990 return s 5991} 5992 5993// SetS3BackupMode sets the S3BackupMode field's value. 5994func (s *RedshiftDestinationConfiguration) SetS3BackupMode(v string) *RedshiftDestinationConfiguration { 5995 s.S3BackupMode = &v 5996 return s 5997} 5998 5999// SetS3Configuration sets the S3Configuration field's value. 6000func (s *RedshiftDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *RedshiftDestinationConfiguration { 6001 s.S3Configuration = v 6002 return s 6003} 6004 6005// SetUsername sets the Username field's value. 6006func (s *RedshiftDestinationConfiguration) SetUsername(v string) *RedshiftDestinationConfiguration { 6007 s.Username = &v 6008 return s 6009} 6010 6011// Describes a destination in Amazon Redshift. 6012type RedshiftDestinationDescription struct { 6013 _ struct{} `type:"structure"` 6014 6015 // The Amazon CloudWatch logging options for your delivery stream. 6016 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 6017 6018 // The database connection string. 6019 // 6020 // ClusterJDBCURL is a required field 6021 ClusterJDBCURL *string `min:"1" type:"string" required:"true"` 6022 6023 // The COPY command. 6024 // 6025 // CopyCommand is a required field 6026 CopyCommand *CopyCommand `type:"structure" required:"true"` 6027 6028 // The data processing configuration. 6029 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 6030 6031 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 6032 // to Amazon Redshift. Default value is 3600 (60 minutes). 6033 RetryOptions *RedshiftRetryOptions `type:"structure"` 6034 6035 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 6036 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6037 // 6038 // RoleARN is a required field 6039 RoleARN *string `min:"1" type:"string" required:"true"` 6040 6041 // The configuration for backup in Amazon S3. 6042 S3BackupDescription *S3DestinationDescription `type:"structure"` 6043 6044 // The Amazon S3 backup mode. 6045 S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` 6046 6047 // The Amazon S3 destination. 6048 // 6049 // S3DestinationDescription is a required field 6050 S3DestinationDescription *S3DestinationDescription `type:"structure" required:"true"` 6051 6052 // The name of the user. 6053 // 6054 // Username is a required field 6055 Username *string `min:"1" type:"string" required:"true" sensitive:"true"` 6056} 6057 6058// String returns the string representation 6059func (s RedshiftDestinationDescription) String() string { 6060 return awsutil.Prettify(s) 6061} 6062 6063// GoString returns the string representation 6064func (s RedshiftDestinationDescription) GoString() string { 6065 return s.String() 6066} 6067 6068// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 6069func (s *RedshiftDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *RedshiftDestinationDescription { 6070 s.CloudWatchLoggingOptions = v 6071 return s 6072} 6073 6074// SetClusterJDBCURL sets the ClusterJDBCURL field's value. 6075func (s *RedshiftDestinationDescription) SetClusterJDBCURL(v string) *RedshiftDestinationDescription { 6076 s.ClusterJDBCURL = &v 6077 return s 6078} 6079 6080// SetCopyCommand sets the CopyCommand field's value. 6081func (s *RedshiftDestinationDescription) SetCopyCommand(v *CopyCommand) *RedshiftDestinationDescription { 6082 s.CopyCommand = v 6083 return s 6084} 6085 6086// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 6087func (s *RedshiftDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *RedshiftDestinationDescription { 6088 s.ProcessingConfiguration = v 6089 return s 6090} 6091 6092// SetRetryOptions sets the RetryOptions field's value. 6093func (s *RedshiftDestinationDescription) SetRetryOptions(v *RedshiftRetryOptions) *RedshiftDestinationDescription { 6094 s.RetryOptions = v 6095 return s 6096} 6097 6098// SetRoleARN sets the RoleARN field's value. 6099func (s *RedshiftDestinationDescription) SetRoleARN(v string) *RedshiftDestinationDescription { 6100 s.RoleARN = &v 6101 return s 6102} 6103 6104// SetS3BackupDescription sets the S3BackupDescription field's value. 6105func (s *RedshiftDestinationDescription) SetS3BackupDescription(v *S3DestinationDescription) *RedshiftDestinationDescription { 6106 s.S3BackupDescription = v 6107 return s 6108} 6109 6110// SetS3BackupMode sets the S3BackupMode field's value. 6111func (s *RedshiftDestinationDescription) SetS3BackupMode(v string) *RedshiftDestinationDescription { 6112 s.S3BackupMode = &v 6113 return s 6114} 6115 6116// SetS3DestinationDescription sets the S3DestinationDescription field's value. 6117func (s *RedshiftDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *RedshiftDestinationDescription { 6118 s.S3DestinationDescription = v 6119 return s 6120} 6121 6122// SetUsername sets the Username field's value. 6123func (s *RedshiftDestinationDescription) SetUsername(v string) *RedshiftDestinationDescription { 6124 s.Username = &v 6125 return s 6126} 6127 6128// Describes an update for a destination in Amazon Redshift. 6129type RedshiftDestinationUpdate struct { 6130 _ struct{} `type:"structure"` 6131 6132 // The Amazon CloudWatch logging options for your delivery stream. 6133 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 6134 6135 // The database connection string. 6136 ClusterJDBCURL *string `min:"1" type:"string"` 6137 6138 // The COPY command. 6139 CopyCommand *CopyCommand `type:"structure"` 6140 6141 // The user password. 6142 Password *string `min:"6" type:"string" sensitive:"true"` 6143 6144 // The data processing configuration. 6145 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 6146 6147 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 6148 // to Amazon Redshift. Default value is 3600 (60 minutes). 6149 RetryOptions *RedshiftRetryOptions `type:"structure"` 6150 6151 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 6152 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6153 RoleARN *string `min:"1" type:"string"` 6154 6155 // You can update a delivery stream to enable Amazon S3 backup if it is disabled. 6156 // If backup is enabled, you can't update the delivery stream to disable it. 6157 S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` 6158 6159 // The Amazon S3 destination for backup. 6160 S3BackupUpdate *S3DestinationUpdate `type:"structure"` 6161 6162 // The Amazon S3 destination. 6163 // 6164 // The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationUpdate.S3Update 6165 // because the Amazon Redshift COPY operation that reads from the S3 bucket 6166 // doesn't support these compression formats. 6167 S3Update *S3DestinationUpdate `type:"structure"` 6168 6169 // The name of the user. 6170 Username *string `min:"1" type:"string" sensitive:"true"` 6171} 6172 6173// String returns the string representation 6174func (s RedshiftDestinationUpdate) String() string { 6175 return awsutil.Prettify(s) 6176} 6177 6178// GoString returns the string representation 6179func (s RedshiftDestinationUpdate) GoString() string { 6180 return s.String() 6181} 6182 6183// Validate inspects the fields of the type to determine if they are valid. 6184func (s *RedshiftDestinationUpdate) Validate() error { 6185 invalidParams := request.ErrInvalidParams{Context: "RedshiftDestinationUpdate"} 6186 if s.ClusterJDBCURL != nil && len(*s.ClusterJDBCURL) < 1 { 6187 invalidParams.Add(request.NewErrParamMinLen("ClusterJDBCURL", 1)) 6188 } 6189 if s.Password != nil && len(*s.Password) < 6 { 6190 invalidParams.Add(request.NewErrParamMinLen("Password", 6)) 6191 } 6192 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 6193 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 6194 } 6195 if s.Username != nil && len(*s.Username) < 1 { 6196 invalidParams.Add(request.NewErrParamMinLen("Username", 1)) 6197 } 6198 if s.CopyCommand != nil { 6199 if err := s.CopyCommand.Validate(); err != nil { 6200 invalidParams.AddNested("CopyCommand", err.(request.ErrInvalidParams)) 6201 } 6202 } 6203 if s.ProcessingConfiguration != nil { 6204 if err := s.ProcessingConfiguration.Validate(); err != nil { 6205 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 6206 } 6207 } 6208 if s.S3BackupUpdate != nil { 6209 if err := s.S3BackupUpdate.Validate(); err != nil { 6210 invalidParams.AddNested("S3BackupUpdate", err.(request.ErrInvalidParams)) 6211 } 6212 } 6213 if s.S3Update != nil { 6214 if err := s.S3Update.Validate(); err != nil { 6215 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 6216 } 6217 } 6218 6219 if invalidParams.Len() > 0 { 6220 return invalidParams 6221 } 6222 return nil 6223} 6224 6225// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 6226func (s *RedshiftDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *RedshiftDestinationUpdate { 6227 s.CloudWatchLoggingOptions = v 6228 return s 6229} 6230 6231// SetClusterJDBCURL sets the ClusterJDBCURL field's value. 6232func (s *RedshiftDestinationUpdate) SetClusterJDBCURL(v string) *RedshiftDestinationUpdate { 6233 s.ClusterJDBCURL = &v 6234 return s 6235} 6236 6237// SetCopyCommand sets the CopyCommand field's value. 6238func (s *RedshiftDestinationUpdate) SetCopyCommand(v *CopyCommand) *RedshiftDestinationUpdate { 6239 s.CopyCommand = v 6240 return s 6241} 6242 6243// SetPassword sets the Password field's value. 6244func (s *RedshiftDestinationUpdate) SetPassword(v string) *RedshiftDestinationUpdate { 6245 s.Password = &v 6246 return s 6247} 6248 6249// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 6250func (s *RedshiftDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *RedshiftDestinationUpdate { 6251 s.ProcessingConfiguration = v 6252 return s 6253} 6254 6255// SetRetryOptions sets the RetryOptions field's value. 6256func (s *RedshiftDestinationUpdate) SetRetryOptions(v *RedshiftRetryOptions) *RedshiftDestinationUpdate { 6257 s.RetryOptions = v 6258 return s 6259} 6260 6261// SetRoleARN sets the RoleARN field's value. 6262func (s *RedshiftDestinationUpdate) SetRoleARN(v string) *RedshiftDestinationUpdate { 6263 s.RoleARN = &v 6264 return s 6265} 6266 6267// SetS3BackupMode sets the S3BackupMode field's value. 6268func (s *RedshiftDestinationUpdate) SetS3BackupMode(v string) *RedshiftDestinationUpdate { 6269 s.S3BackupMode = &v 6270 return s 6271} 6272 6273// SetS3BackupUpdate sets the S3BackupUpdate field's value. 6274func (s *RedshiftDestinationUpdate) SetS3BackupUpdate(v *S3DestinationUpdate) *RedshiftDestinationUpdate { 6275 s.S3BackupUpdate = v 6276 return s 6277} 6278 6279// SetS3Update sets the S3Update field's value. 6280func (s *RedshiftDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *RedshiftDestinationUpdate { 6281 s.S3Update = v 6282 return s 6283} 6284 6285// SetUsername sets the Username field's value. 6286func (s *RedshiftDestinationUpdate) SetUsername(v string) *RedshiftDestinationUpdate { 6287 s.Username = &v 6288 return s 6289} 6290 6291// Configures retry behavior in case Kinesis Data Firehose is unable to deliver 6292// documents to Amazon Redshift. 6293type RedshiftRetryOptions struct { 6294 _ struct{} `type:"structure"` 6295 6296 // The length of time during which Kinesis Data Firehose retries delivery after 6297 // a failure, starting from the initial request and including the first attempt. 6298 // The default value is 3600 seconds (60 minutes). Kinesis Data Firehose does 6299 // not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery 6300 // attempt takes longer than the current value. 6301 DurationInSeconds *int64 `type:"integer"` 6302} 6303 6304// String returns the string representation 6305func (s RedshiftRetryOptions) String() string { 6306 return awsutil.Prettify(s) 6307} 6308 6309// GoString returns the string representation 6310func (s RedshiftRetryOptions) GoString() string { 6311 return s.String() 6312} 6313 6314// SetDurationInSeconds sets the DurationInSeconds field's value. 6315func (s *RedshiftRetryOptions) SetDurationInSeconds(v int64) *RedshiftRetryOptions { 6316 s.DurationInSeconds = &v 6317 return s 6318} 6319 6320// The resource is already in use and not available for this operation. 6321type ResourceInUseException struct { 6322 _ struct{} `type:"structure"` 6323 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6324 6325 // A message that provides information about the error. 6326 Message_ *string `locationName:"message" type:"string"` 6327} 6328 6329// String returns the string representation 6330func (s ResourceInUseException) String() string { 6331 return awsutil.Prettify(s) 6332} 6333 6334// GoString returns the string representation 6335func (s ResourceInUseException) GoString() string { 6336 return s.String() 6337} 6338 6339func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 6340 return &ResourceInUseException{ 6341 RespMetadata: v, 6342 } 6343} 6344 6345// Code returns the exception type name. 6346func (s *ResourceInUseException) Code() string { 6347 return "ResourceInUseException" 6348} 6349 6350// Message returns the exception's message. 6351func (s *ResourceInUseException) Message() string { 6352 if s.Message_ != nil { 6353 return *s.Message_ 6354 } 6355 return "" 6356} 6357 6358// OrigErr always returns nil, satisfies awserr.Error interface. 6359func (s *ResourceInUseException) OrigErr() error { 6360 return nil 6361} 6362 6363func (s *ResourceInUseException) Error() string { 6364 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6365} 6366 6367// Status code returns the HTTP status code for the request's response error. 6368func (s *ResourceInUseException) StatusCode() int { 6369 return s.RespMetadata.StatusCode 6370} 6371 6372// RequestID returns the service's response RequestID for request. 6373func (s *ResourceInUseException) RequestID() string { 6374 return s.RespMetadata.RequestID 6375} 6376 6377// The specified resource could not be found. 6378type ResourceNotFoundException struct { 6379 _ struct{} `type:"structure"` 6380 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6381 6382 // A message that provides information about the error. 6383 Message_ *string `locationName:"message" type:"string"` 6384} 6385 6386// String returns the string representation 6387func (s ResourceNotFoundException) String() string { 6388 return awsutil.Prettify(s) 6389} 6390 6391// GoString returns the string representation 6392func (s ResourceNotFoundException) GoString() string { 6393 return s.String() 6394} 6395 6396func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 6397 return &ResourceNotFoundException{ 6398 RespMetadata: v, 6399 } 6400} 6401 6402// Code returns the exception type name. 6403func (s *ResourceNotFoundException) Code() string { 6404 return "ResourceNotFoundException" 6405} 6406 6407// Message returns the exception's message. 6408func (s *ResourceNotFoundException) Message() string { 6409 if s.Message_ != nil { 6410 return *s.Message_ 6411 } 6412 return "" 6413} 6414 6415// OrigErr always returns nil, satisfies awserr.Error interface. 6416func (s *ResourceNotFoundException) OrigErr() error { 6417 return nil 6418} 6419 6420func (s *ResourceNotFoundException) Error() string { 6421 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6422} 6423 6424// Status code returns the HTTP status code for the request's response error. 6425func (s *ResourceNotFoundException) StatusCode() int { 6426 return s.RespMetadata.StatusCode 6427} 6428 6429// RequestID returns the service's response RequestID for request. 6430func (s *ResourceNotFoundException) RequestID() string { 6431 return s.RespMetadata.RequestID 6432} 6433 6434// Describes the configuration of a destination in Amazon S3. 6435type S3DestinationConfiguration struct { 6436 _ struct{} `type:"structure"` 6437 6438 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 6439 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6440 // 6441 // BucketARN is a required field 6442 BucketARN *string `min:"1" type:"string" required:"true"` 6443 6444 // The buffering option. If no value is specified, BufferingHints object default 6445 // values are used. 6446 BufferingHints *BufferingHints `type:"structure"` 6447 6448 // The CloudWatch logging options for your delivery stream. 6449 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 6450 6451 // The compression format. If no value is specified, the default is UNCOMPRESSED. 6452 // 6453 // The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift 6454 // destinations because they are not supported by the Amazon Redshift COPY operation 6455 // that reads from the S3 bucket. 6456 CompressionFormat *string `type:"string" enum:"CompressionFormat"` 6457 6458 // The encryption configuration. If no value is specified, the default is no 6459 // encryption. 6460 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 6461 6462 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 6463 // before writing them to S3. This prefix appears immediately following the 6464 // bucket name. For information about how to specify this prefix, see Custom 6465 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 6466 ErrorOutputPrefix *string `type:"string"` 6467 6468 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 6469 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 6470 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 6471 Prefix *string `type:"string"` 6472 6473 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 6474 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6475 // 6476 // RoleARN is a required field 6477 RoleARN *string `min:"1" type:"string" required:"true"` 6478} 6479 6480// String returns the string representation 6481func (s S3DestinationConfiguration) String() string { 6482 return awsutil.Prettify(s) 6483} 6484 6485// GoString returns the string representation 6486func (s S3DestinationConfiguration) GoString() string { 6487 return s.String() 6488} 6489 6490// Validate inspects the fields of the type to determine if they are valid. 6491func (s *S3DestinationConfiguration) Validate() error { 6492 invalidParams := request.ErrInvalidParams{Context: "S3DestinationConfiguration"} 6493 if s.BucketARN == nil { 6494 invalidParams.Add(request.NewErrParamRequired("BucketARN")) 6495 } 6496 if s.BucketARN != nil && len(*s.BucketARN) < 1 { 6497 invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) 6498 } 6499 if s.RoleARN == nil { 6500 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 6501 } 6502 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 6503 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 6504 } 6505 if s.BufferingHints != nil { 6506 if err := s.BufferingHints.Validate(); err != nil { 6507 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 6508 } 6509 } 6510 if s.EncryptionConfiguration != nil { 6511 if err := s.EncryptionConfiguration.Validate(); err != nil { 6512 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 6513 } 6514 } 6515 6516 if invalidParams.Len() > 0 { 6517 return invalidParams 6518 } 6519 return nil 6520} 6521 6522// SetBucketARN sets the BucketARN field's value. 6523func (s *S3DestinationConfiguration) SetBucketARN(v string) *S3DestinationConfiguration { 6524 s.BucketARN = &v 6525 return s 6526} 6527 6528// SetBufferingHints sets the BufferingHints field's value. 6529func (s *S3DestinationConfiguration) SetBufferingHints(v *BufferingHints) *S3DestinationConfiguration { 6530 s.BufferingHints = v 6531 return s 6532} 6533 6534// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 6535func (s *S3DestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *S3DestinationConfiguration { 6536 s.CloudWatchLoggingOptions = v 6537 return s 6538} 6539 6540// SetCompressionFormat sets the CompressionFormat field's value. 6541func (s *S3DestinationConfiguration) SetCompressionFormat(v string) *S3DestinationConfiguration { 6542 s.CompressionFormat = &v 6543 return s 6544} 6545 6546// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 6547func (s *S3DestinationConfiguration) SetEncryptionConfiguration(v *EncryptionConfiguration) *S3DestinationConfiguration { 6548 s.EncryptionConfiguration = v 6549 return s 6550} 6551 6552// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 6553func (s *S3DestinationConfiguration) SetErrorOutputPrefix(v string) *S3DestinationConfiguration { 6554 s.ErrorOutputPrefix = &v 6555 return s 6556} 6557 6558// SetPrefix sets the Prefix field's value. 6559func (s *S3DestinationConfiguration) SetPrefix(v string) *S3DestinationConfiguration { 6560 s.Prefix = &v 6561 return s 6562} 6563 6564// SetRoleARN sets the RoleARN field's value. 6565func (s *S3DestinationConfiguration) SetRoleARN(v string) *S3DestinationConfiguration { 6566 s.RoleARN = &v 6567 return s 6568} 6569 6570// Describes a destination in Amazon S3. 6571type S3DestinationDescription struct { 6572 _ struct{} `type:"structure"` 6573 6574 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 6575 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6576 // 6577 // BucketARN is a required field 6578 BucketARN *string `min:"1" type:"string" required:"true"` 6579 6580 // The buffering option. If no value is specified, BufferingHints object default 6581 // values are used. 6582 // 6583 // BufferingHints is a required field 6584 BufferingHints *BufferingHints `type:"structure" required:"true"` 6585 6586 // The Amazon CloudWatch logging options for your delivery stream. 6587 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 6588 6589 // The compression format. If no value is specified, the default is UNCOMPRESSED. 6590 // 6591 // CompressionFormat is a required field 6592 CompressionFormat *string `type:"string" required:"true" enum:"CompressionFormat"` 6593 6594 // The encryption configuration. If no value is specified, the default is no 6595 // encryption. 6596 // 6597 // EncryptionConfiguration is a required field 6598 EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` 6599 6600 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 6601 // before writing them to S3. This prefix appears immediately following the 6602 // bucket name. For information about how to specify this prefix, see Custom 6603 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 6604 ErrorOutputPrefix *string `type:"string"` 6605 6606 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 6607 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 6608 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 6609 Prefix *string `type:"string"` 6610 6611 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 6612 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6613 // 6614 // RoleARN is a required field 6615 RoleARN *string `min:"1" type:"string" required:"true"` 6616} 6617 6618// String returns the string representation 6619func (s S3DestinationDescription) String() string { 6620 return awsutil.Prettify(s) 6621} 6622 6623// GoString returns the string representation 6624func (s S3DestinationDescription) GoString() string { 6625 return s.String() 6626} 6627 6628// SetBucketARN sets the BucketARN field's value. 6629func (s *S3DestinationDescription) SetBucketARN(v string) *S3DestinationDescription { 6630 s.BucketARN = &v 6631 return s 6632} 6633 6634// SetBufferingHints sets the BufferingHints field's value. 6635func (s *S3DestinationDescription) SetBufferingHints(v *BufferingHints) *S3DestinationDescription { 6636 s.BufferingHints = v 6637 return s 6638} 6639 6640// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 6641func (s *S3DestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *S3DestinationDescription { 6642 s.CloudWatchLoggingOptions = v 6643 return s 6644} 6645 6646// SetCompressionFormat sets the CompressionFormat field's value. 6647func (s *S3DestinationDescription) SetCompressionFormat(v string) *S3DestinationDescription { 6648 s.CompressionFormat = &v 6649 return s 6650} 6651 6652// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 6653func (s *S3DestinationDescription) SetEncryptionConfiguration(v *EncryptionConfiguration) *S3DestinationDescription { 6654 s.EncryptionConfiguration = v 6655 return s 6656} 6657 6658// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 6659func (s *S3DestinationDescription) SetErrorOutputPrefix(v string) *S3DestinationDescription { 6660 s.ErrorOutputPrefix = &v 6661 return s 6662} 6663 6664// SetPrefix sets the Prefix field's value. 6665func (s *S3DestinationDescription) SetPrefix(v string) *S3DestinationDescription { 6666 s.Prefix = &v 6667 return s 6668} 6669 6670// SetRoleARN sets the RoleARN field's value. 6671func (s *S3DestinationDescription) SetRoleARN(v string) *S3DestinationDescription { 6672 s.RoleARN = &v 6673 return s 6674} 6675 6676// Describes an update for a destination in Amazon S3. 6677type S3DestinationUpdate struct { 6678 _ struct{} `type:"structure"` 6679 6680 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 6681 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6682 BucketARN *string `min:"1" type:"string"` 6683 6684 // The buffering option. If no value is specified, BufferingHints object default 6685 // values are used. 6686 BufferingHints *BufferingHints `type:"structure"` 6687 6688 // The CloudWatch logging options for your delivery stream. 6689 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 6690 6691 // The compression format. If no value is specified, the default is UNCOMPRESSED. 6692 // 6693 // The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift 6694 // destinations because they are not supported by the Amazon Redshift COPY operation 6695 // that reads from the S3 bucket. 6696 CompressionFormat *string `type:"string" enum:"CompressionFormat"` 6697 6698 // The encryption configuration. If no value is specified, the default is no 6699 // encryption. 6700 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 6701 6702 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 6703 // before writing them to S3. This prefix appears immediately following the 6704 // bucket name. For information about how to specify this prefix, see Custom 6705 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 6706 ErrorOutputPrefix *string `type:"string"` 6707 6708 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 6709 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 6710 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 6711 Prefix *string `type:"string"` 6712 6713 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 6714 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6715 RoleARN *string `min:"1" type:"string"` 6716} 6717 6718// String returns the string representation 6719func (s S3DestinationUpdate) String() string { 6720 return awsutil.Prettify(s) 6721} 6722 6723// GoString returns the string representation 6724func (s S3DestinationUpdate) GoString() string { 6725 return s.String() 6726} 6727 6728// Validate inspects the fields of the type to determine if they are valid. 6729func (s *S3DestinationUpdate) Validate() error { 6730 invalidParams := request.ErrInvalidParams{Context: "S3DestinationUpdate"} 6731 if s.BucketARN != nil && len(*s.BucketARN) < 1 { 6732 invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) 6733 } 6734 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 6735 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 6736 } 6737 if s.BufferingHints != nil { 6738 if err := s.BufferingHints.Validate(); err != nil { 6739 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 6740 } 6741 } 6742 if s.EncryptionConfiguration != nil { 6743 if err := s.EncryptionConfiguration.Validate(); err != nil { 6744 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 6745 } 6746 } 6747 6748 if invalidParams.Len() > 0 { 6749 return invalidParams 6750 } 6751 return nil 6752} 6753 6754// SetBucketARN sets the BucketARN field's value. 6755func (s *S3DestinationUpdate) SetBucketARN(v string) *S3DestinationUpdate { 6756 s.BucketARN = &v 6757 return s 6758} 6759 6760// SetBufferingHints sets the BufferingHints field's value. 6761func (s *S3DestinationUpdate) SetBufferingHints(v *BufferingHints) *S3DestinationUpdate { 6762 s.BufferingHints = v 6763 return s 6764} 6765 6766// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 6767func (s *S3DestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *S3DestinationUpdate { 6768 s.CloudWatchLoggingOptions = v 6769 return s 6770} 6771 6772// SetCompressionFormat sets the CompressionFormat field's value. 6773func (s *S3DestinationUpdate) SetCompressionFormat(v string) *S3DestinationUpdate { 6774 s.CompressionFormat = &v 6775 return s 6776} 6777 6778// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 6779func (s *S3DestinationUpdate) SetEncryptionConfiguration(v *EncryptionConfiguration) *S3DestinationUpdate { 6780 s.EncryptionConfiguration = v 6781 return s 6782} 6783 6784// SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 6785func (s *S3DestinationUpdate) SetErrorOutputPrefix(v string) *S3DestinationUpdate { 6786 s.ErrorOutputPrefix = &v 6787 return s 6788} 6789 6790// SetPrefix sets the Prefix field's value. 6791func (s *S3DestinationUpdate) SetPrefix(v string) *S3DestinationUpdate { 6792 s.Prefix = &v 6793 return s 6794} 6795 6796// SetRoleARN sets the RoleARN field's value. 6797func (s *S3DestinationUpdate) SetRoleARN(v string) *S3DestinationUpdate { 6798 s.RoleARN = &v 6799 return s 6800} 6801 6802// Specifies the schema to which you want Kinesis Data Firehose to configure 6803// your data before it writes it to Amazon S3. This parameter is required if 6804// Enabled is set to true. 6805type SchemaConfiguration struct { 6806 _ struct{} `type:"structure"` 6807 6808 // The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account 6809 // ID is used by default. 6810 CatalogId *string `min:"1" type:"string"` 6811 6812 // Specifies the name of the AWS Glue database that contains the schema for 6813 // the output data. 6814 DatabaseName *string `min:"1" type:"string"` 6815 6816 // If you don't specify an AWS Region, the default is the current Region. 6817 Region *string `min:"1" type:"string"` 6818 6819 // The role that Kinesis Data Firehose can use to access AWS Glue. This role 6820 // must be in the same account you use for Kinesis Data Firehose. Cross-account 6821 // roles aren't allowed. 6822 RoleARN *string `min:"1" type:"string"` 6823 6824 // Specifies the AWS Glue table that contains the column information that constitutes 6825 // your data schema. 6826 TableName *string `min:"1" type:"string"` 6827 6828 // Specifies the table version for the output data schema. If you don't specify 6829 // this version ID, or if you set it to LATEST, Kinesis Data Firehose uses the 6830 // most recent version. This means that any updates to the table are automatically 6831 // picked up. 6832 VersionId *string `min:"1" type:"string"` 6833} 6834 6835// String returns the string representation 6836func (s SchemaConfiguration) String() string { 6837 return awsutil.Prettify(s) 6838} 6839 6840// GoString returns the string representation 6841func (s SchemaConfiguration) GoString() string { 6842 return s.String() 6843} 6844 6845// Validate inspects the fields of the type to determine if they are valid. 6846func (s *SchemaConfiguration) Validate() error { 6847 invalidParams := request.ErrInvalidParams{Context: "SchemaConfiguration"} 6848 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 6849 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 6850 } 6851 if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { 6852 invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) 6853 } 6854 if s.Region != nil && len(*s.Region) < 1 { 6855 invalidParams.Add(request.NewErrParamMinLen("Region", 1)) 6856 } 6857 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 6858 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 6859 } 6860 if s.TableName != nil && len(*s.TableName) < 1 { 6861 invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) 6862 } 6863 if s.VersionId != nil && len(*s.VersionId) < 1 { 6864 invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) 6865 } 6866 6867 if invalidParams.Len() > 0 { 6868 return invalidParams 6869 } 6870 return nil 6871} 6872 6873// SetCatalogId sets the CatalogId field's value. 6874func (s *SchemaConfiguration) SetCatalogId(v string) *SchemaConfiguration { 6875 s.CatalogId = &v 6876 return s 6877} 6878 6879// SetDatabaseName sets the DatabaseName field's value. 6880func (s *SchemaConfiguration) SetDatabaseName(v string) *SchemaConfiguration { 6881 s.DatabaseName = &v 6882 return s 6883} 6884 6885// SetRegion sets the Region field's value. 6886func (s *SchemaConfiguration) SetRegion(v string) *SchemaConfiguration { 6887 s.Region = &v 6888 return s 6889} 6890 6891// SetRoleARN sets the RoleARN field's value. 6892func (s *SchemaConfiguration) SetRoleARN(v string) *SchemaConfiguration { 6893 s.RoleARN = &v 6894 return s 6895} 6896 6897// SetTableName sets the TableName field's value. 6898func (s *SchemaConfiguration) SetTableName(v string) *SchemaConfiguration { 6899 s.TableName = &v 6900 return s 6901} 6902 6903// SetVersionId sets the VersionId field's value. 6904func (s *SchemaConfiguration) SetVersionId(v string) *SchemaConfiguration { 6905 s.VersionId = &v 6906 return s 6907} 6908 6909// The serializer that you want Kinesis Data Firehose to use to convert data 6910// to the target format before writing it to Amazon S3. Kinesis Data Firehose 6911// supports two types of serializers: the ORC SerDe (https://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/ql/io/orc/OrcSerde.html) 6912// and the Parquet SerDe (https://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.html). 6913type Serializer struct { 6914 _ struct{} `type:"structure"` 6915 6916 // A serializer to use for converting data to the ORC format before storing 6917 // it in Amazon S3. For more information, see Apache ORC (https://orc.apache.org/docs/). 6918 OrcSerDe *OrcSerDe `type:"structure"` 6919 6920 // A serializer to use for converting data to the Parquet format before storing 6921 // it in Amazon S3. For more information, see Apache Parquet (https://parquet.apache.org/documentation/latest/). 6922 ParquetSerDe *ParquetSerDe `type:"structure"` 6923} 6924 6925// String returns the string representation 6926func (s Serializer) String() string { 6927 return awsutil.Prettify(s) 6928} 6929 6930// GoString returns the string representation 6931func (s Serializer) GoString() string { 6932 return s.String() 6933} 6934 6935// Validate inspects the fields of the type to determine if they are valid. 6936func (s *Serializer) Validate() error { 6937 invalidParams := request.ErrInvalidParams{Context: "Serializer"} 6938 if s.OrcSerDe != nil { 6939 if err := s.OrcSerDe.Validate(); err != nil { 6940 invalidParams.AddNested("OrcSerDe", err.(request.ErrInvalidParams)) 6941 } 6942 } 6943 if s.ParquetSerDe != nil { 6944 if err := s.ParquetSerDe.Validate(); err != nil { 6945 invalidParams.AddNested("ParquetSerDe", err.(request.ErrInvalidParams)) 6946 } 6947 } 6948 6949 if invalidParams.Len() > 0 { 6950 return invalidParams 6951 } 6952 return nil 6953} 6954 6955// SetOrcSerDe sets the OrcSerDe field's value. 6956func (s *Serializer) SetOrcSerDe(v *OrcSerDe) *Serializer { 6957 s.OrcSerDe = v 6958 return s 6959} 6960 6961// SetParquetSerDe sets the ParquetSerDe field's value. 6962func (s *Serializer) SetParquetSerDe(v *ParquetSerDe) *Serializer { 6963 s.ParquetSerDe = v 6964 return s 6965} 6966 6967// The service is unavailable. Back off and retry the operation. If you continue 6968// to see the exception, throughput limits for the delivery stream may have 6969// been exceeded. For more information about limits and how to request an increase, 6970// see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 6971type ServiceUnavailableException struct { 6972 _ struct{} `type:"structure"` 6973 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6974 6975 // A message that provides information about the error. 6976 Message_ *string `locationName:"message" type:"string"` 6977} 6978 6979// String returns the string representation 6980func (s ServiceUnavailableException) String() string { 6981 return awsutil.Prettify(s) 6982} 6983 6984// GoString returns the string representation 6985func (s ServiceUnavailableException) GoString() string { 6986 return s.String() 6987} 6988 6989func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { 6990 return &ServiceUnavailableException{ 6991 RespMetadata: v, 6992 } 6993} 6994 6995// Code returns the exception type name. 6996func (s *ServiceUnavailableException) Code() string { 6997 return "ServiceUnavailableException" 6998} 6999 7000// Message returns the exception's message. 7001func (s *ServiceUnavailableException) Message() string { 7002 if s.Message_ != nil { 7003 return *s.Message_ 7004 } 7005 return "" 7006} 7007 7008// OrigErr always returns nil, satisfies awserr.Error interface. 7009func (s *ServiceUnavailableException) OrigErr() error { 7010 return nil 7011} 7012 7013func (s *ServiceUnavailableException) Error() string { 7014 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7015} 7016 7017// Status code returns the HTTP status code for the request's response error. 7018func (s *ServiceUnavailableException) StatusCode() int { 7019 return s.RespMetadata.StatusCode 7020} 7021 7022// RequestID returns the service's response RequestID for request. 7023func (s *ServiceUnavailableException) RequestID() string { 7024 return s.RespMetadata.RequestID 7025} 7026 7027// Details about a Kinesis data stream used as the source for a Kinesis Data 7028// Firehose delivery stream. 7029type SourceDescription struct { 7030 _ struct{} `type:"structure"` 7031 7032 // The KinesisStreamSourceDescription value for the source Kinesis data stream. 7033 KinesisStreamSourceDescription *KinesisStreamSourceDescription `type:"structure"` 7034} 7035 7036// String returns the string representation 7037func (s SourceDescription) String() string { 7038 return awsutil.Prettify(s) 7039} 7040 7041// GoString returns the string representation 7042func (s SourceDescription) GoString() string { 7043 return s.String() 7044} 7045 7046// SetKinesisStreamSourceDescription sets the KinesisStreamSourceDescription field's value. 7047func (s *SourceDescription) SetKinesisStreamSourceDescription(v *KinesisStreamSourceDescription) *SourceDescription { 7048 s.KinesisStreamSourceDescription = v 7049 return s 7050} 7051 7052// Describes the configuration of a destination in Splunk. 7053type SplunkDestinationConfiguration struct { 7054 _ struct{} `type:"structure"` 7055 7056 // The Amazon CloudWatch logging options for your delivery stream. 7057 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 7058 7059 // The amount of time that Kinesis Data Firehose waits to receive an acknowledgment 7060 // from Splunk after it sends it data. At the end of the timeout period, Kinesis 7061 // Data Firehose either tries to send the data again or considers it an error, 7062 // based on your retry settings. 7063 HECAcknowledgmentTimeoutInSeconds *int64 `min:"180" type:"integer"` 7064 7065 // The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends 7066 // your data. 7067 // 7068 // HECEndpoint is a required field 7069 HECEndpoint *string `type:"string" required:"true"` 7070 7071 // This type can be either "Raw" or "Event." 7072 // 7073 // HECEndpointType is a required field 7074 HECEndpointType *string `type:"string" required:"true" enum:"HECEndpointType"` 7075 7076 // This is a GUID that you obtain from your Splunk cluster when you create a 7077 // new HEC endpoint. 7078 // 7079 // HECToken is a required field 7080 HECToken *string `type:"string" required:"true"` 7081 7082 // The data processing configuration. 7083 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 7084 7085 // The retry behavior in case Kinesis Data Firehose is unable to deliver data 7086 // to Splunk, or if it doesn't receive an acknowledgment of receipt from Splunk. 7087 RetryOptions *SplunkRetryOptions `type:"structure"` 7088 7089 // Defines how documents should be delivered to Amazon S3. When set to FailedEventsOnly, 7090 // Kinesis Data Firehose writes any data that could not be indexed to the configured 7091 // Amazon S3 destination. When set to AllEvents, Kinesis Data Firehose delivers 7092 // all incoming records to Amazon S3, and also writes failed documents to Amazon 7093 // S3. The default value is FailedEventsOnly. 7094 // 7095 // You can update this backup mode from FailedEventsOnly to AllEvents. You can't 7096 // update it from AllEvents to FailedEventsOnly. 7097 S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` 7098 7099 // The configuration for the backup Amazon S3 location. 7100 // 7101 // S3Configuration is a required field 7102 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 7103} 7104 7105// String returns the string representation 7106func (s SplunkDestinationConfiguration) String() string { 7107 return awsutil.Prettify(s) 7108} 7109 7110// GoString returns the string representation 7111func (s SplunkDestinationConfiguration) GoString() string { 7112 return s.String() 7113} 7114 7115// Validate inspects the fields of the type to determine if they are valid. 7116func (s *SplunkDestinationConfiguration) Validate() error { 7117 invalidParams := request.ErrInvalidParams{Context: "SplunkDestinationConfiguration"} 7118 if s.HECAcknowledgmentTimeoutInSeconds != nil && *s.HECAcknowledgmentTimeoutInSeconds < 180 { 7119 invalidParams.Add(request.NewErrParamMinValue("HECAcknowledgmentTimeoutInSeconds", 180)) 7120 } 7121 if s.HECEndpoint == nil { 7122 invalidParams.Add(request.NewErrParamRequired("HECEndpoint")) 7123 } 7124 if s.HECEndpointType == nil { 7125 invalidParams.Add(request.NewErrParamRequired("HECEndpointType")) 7126 } 7127 if s.HECToken == nil { 7128 invalidParams.Add(request.NewErrParamRequired("HECToken")) 7129 } 7130 if s.S3Configuration == nil { 7131 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 7132 } 7133 if s.ProcessingConfiguration != nil { 7134 if err := s.ProcessingConfiguration.Validate(); err != nil { 7135 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 7136 } 7137 } 7138 if s.S3Configuration != nil { 7139 if err := s.S3Configuration.Validate(); err != nil { 7140 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 7141 } 7142 } 7143 7144 if invalidParams.Len() > 0 { 7145 return invalidParams 7146 } 7147 return nil 7148} 7149 7150// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 7151func (s *SplunkDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *SplunkDestinationConfiguration { 7152 s.CloudWatchLoggingOptions = v 7153 return s 7154} 7155 7156// SetHECAcknowledgmentTimeoutInSeconds sets the HECAcknowledgmentTimeoutInSeconds field's value. 7157func (s *SplunkDestinationConfiguration) SetHECAcknowledgmentTimeoutInSeconds(v int64) *SplunkDestinationConfiguration { 7158 s.HECAcknowledgmentTimeoutInSeconds = &v 7159 return s 7160} 7161 7162// SetHECEndpoint sets the HECEndpoint field's value. 7163func (s *SplunkDestinationConfiguration) SetHECEndpoint(v string) *SplunkDestinationConfiguration { 7164 s.HECEndpoint = &v 7165 return s 7166} 7167 7168// SetHECEndpointType sets the HECEndpointType field's value. 7169func (s *SplunkDestinationConfiguration) SetHECEndpointType(v string) *SplunkDestinationConfiguration { 7170 s.HECEndpointType = &v 7171 return s 7172} 7173 7174// SetHECToken sets the HECToken field's value. 7175func (s *SplunkDestinationConfiguration) SetHECToken(v string) *SplunkDestinationConfiguration { 7176 s.HECToken = &v 7177 return s 7178} 7179 7180// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 7181func (s *SplunkDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *SplunkDestinationConfiguration { 7182 s.ProcessingConfiguration = v 7183 return s 7184} 7185 7186// SetRetryOptions sets the RetryOptions field's value. 7187func (s *SplunkDestinationConfiguration) SetRetryOptions(v *SplunkRetryOptions) *SplunkDestinationConfiguration { 7188 s.RetryOptions = v 7189 return s 7190} 7191 7192// SetS3BackupMode sets the S3BackupMode field's value. 7193func (s *SplunkDestinationConfiguration) SetS3BackupMode(v string) *SplunkDestinationConfiguration { 7194 s.S3BackupMode = &v 7195 return s 7196} 7197 7198// SetS3Configuration sets the S3Configuration field's value. 7199func (s *SplunkDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *SplunkDestinationConfiguration { 7200 s.S3Configuration = v 7201 return s 7202} 7203 7204// Describes a destination in Splunk. 7205type SplunkDestinationDescription struct { 7206 _ struct{} `type:"structure"` 7207 7208 // The Amazon CloudWatch logging options for your delivery stream. 7209 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 7210 7211 // The amount of time that Kinesis Data Firehose waits to receive an acknowledgment 7212 // from Splunk after it sends it data. At the end of the timeout period, Kinesis 7213 // Data Firehose either tries to send the data again or considers it an error, 7214 // based on your retry settings. 7215 HECAcknowledgmentTimeoutInSeconds *int64 `min:"180" type:"integer"` 7216 7217 // The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends 7218 // your data. 7219 HECEndpoint *string `type:"string"` 7220 7221 // This type can be either "Raw" or "Event." 7222 HECEndpointType *string `type:"string" enum:"HECEndpointType"` 7223 7224 // A GUID you obtain from your Splunk cluster when you create a new HEC endpoint. 7225 HECToken *string `type:"string"` 7226 7227 // The data processing configuration. 7228 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 7229 7230 // The retry behavior in case Kinesis Data Firehose is unable to deliver data 7231 // to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. 7232 RetryOptions *SplunkRetryOptions `type:"structure"` 7233 7234 // Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, 7235 // Kinesis Data Firehose writes any data that could not be indexed to the configured 7236 // Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers 7237 // all incoming records to Amazon S3, and also writes failed documents to Amazon 7238 // S3. Default value is FailedDocumentsOnly. 7239 S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` 7240 7241 // The Amazon S3 destination.> 7242 S3DestinationDescription *S3DestinationDescription `type:"structure"` 7243} 7244 7245// String returns the string representation 7246func (s SplunkDestinationDescription) String() string { 7247 return awsutil.Prettify(s) 7248} 7249 7250// GoString returns the string representation 7251func (s SplunkDestinationDescription) GoString() string { 7252 return s.String() 7253} 7254 7255// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 7256func (s *SplunkDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *SplunkDestinationDescription { 7257 s.CloudWatchLoggingOptions = v 7258 return s 7259} 7260 7261// SetHECAcknowledgmentTimeoutInSeconds sets the HECAcknowledgmentTimeoutInSeconds field's value. 7262func (s *SplunkDestinationDescription) SetHECAcknowledgmentTimeoutInSeconds(v int64) *SplunkDestinationDescription { 7263 s.HECAcknowledgmentTimeoutInSeconds = &v 7264 return s 7265} 7266 7267// SetHECEndpoint sets the HECEndpoint field's value. 7268func (s *SplunkDestinationDescription) SetHECEndpoint(v string) *SplunkDestinationDescription { 7269 s.HECEndpoint = &v 7270 return s 7271} 7272 7273// SetHECEndpointType sets the HECEndpointType field's value. 7274func (s *SplunkDestinationDescription) SetHECEndpointType(v string) *SplunkDestinationDescription { 7275 s.HECEndpointType = &v 7276 return s 7277} 7278 7279// SetHECToken sets the HECToken field's value. 7280func (s *SplunkDestinationDescription) SetHECToken(v string) *SplunkDestinationDescription { 7281 s.HECToken = &v 7282 return s 7283} 7284 7285// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 7286func (s *SplunkDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *SplunkDestinationDescription { 7287 s.ProcessingConfiguration = v 7288 return s 7289} 7290 7291// SetRetryOptions sets the RetryOptions field's value. 7292func (s *SplunkDestinationDescription) SetRetryOptions(v *SplunkRetryOptions) *SplunkDestinationDescription { 7293 s.RetryOptions = v 7294 return s 7295} 7296 7297// SetS3BackupMode sets the S3BackupMode field's value. 7298func (s *SplunkDestinationDescription) SetS3BackupMode(v string) *SplunkDestinationDescription { 7299 s.S3BackupMode = &v 7300 return s 7301} 7302 7303// SetS3DestinationDescription sets the S3DestinationDescription field's value. 7304func (s *SplunkDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *SplunkDestinationDescription { 7305 s.S3DestinationDescription = v 7306 return s 7307} 7308 7309// Describes an update for a destination in Splunk. 7310type SplunkDestinationUpdate struct { 7311 _ struct{} `type:"structure"` 7312 7313 // The Amazon CloudWatch logging options for your delivery stream. 7314 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 7315 7316 // The amount of time that Kinesis Data Firehose waits to receive an acknowledgment 7317 // from Splunk after it sends data. At the end of the timeout period, Kinesis 7318 // Data Firehose either tries to send the data again or considers it an error, 7319 // based on your retry settings. 7320 HECAcknowledgmentTimeoutInSeconds *int64 `min:"180" type:"integer"` 7321 7322 // The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends 7323 // your data. 7324 HECEndpoint *string `type:"string"` 7325 7326 // This type can be either "Raw" or "Event." 7327 HECEndpointType *string `type:"string" enum:"HECEndpointType"` 7328 7329 // A GUID that you obtain from your Splunk cluster when you create a new HEC 7330 // endpoint. 7331 HECToken *string `type:"string"` 7332 7333 // The data processing configuration. 7334 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 7335 7336 // The retry behavior in case Kinesis Data Firehose is unable to deliver data 7337 // to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. 7338 RetryOptions *SplunkRetryOptions `type:"structure"` 7339 7340 // Specifies how you want Kinesis Data Firehose to back up documents to Amazon 7341 // S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data 7342 // that could not be indexed to the configured Amazon S3 destination. When set 7343 // to AllEvents, Kinesis Data Firehose delivers all incoming records to Amazon 7344 // S3, and also writes failed documents to Amazon S3. The default value is FailedEventsOnly. 7345 // 7346 // You can update this backup mode from FailedEventsOnly to AllEvents. You can't 7347 // update it from AllEvents to FailedEventsOnly. 7348 S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` 7349 7350 // Your update to the configuration of the backup Amazon S3 location. 7351 S3Update *S3DestinationUpdate `type:"structure"` 7352} 7353 7354// String returns the string representation 7355func (s SplunkDestinationUpdate) String() string { 7356 return awsutil.Prettify(s) 7357} 7358 7359// GoString returns the string representation 7360func (s SplunkDestinationUpdate) GoString() string { 7361 return s.String() 7362} 7363 7364// Validate inspects the fields of the type to determine if they are valid. 7365func (s *SplunkDestinationUpdate) Validate() error { 7366 invalidParams := request.ErrInvalidParams{Context: "SplunkDestinationUpdate"} 7367 if s.HECAcknowledgmentTimeoutInSeconds != nil && *s.HECAcknowledgmentTimeoutInSeconds < 180 { 7368 invalidParams.Add(request.NewErrParamMinValue("HECAcknowledgmentTimeoutInSeconds", 180)) 7369 } 7370 if s.ProcessingConfiguration != nil { 7371 if err := s.ProcessingConfiguration.Validate(); err != nil { 7372 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 7373 } 7374 } 7375 if s.S3Update != nil { 7376 if err := s.S3Update.Validate(); err != nil { 7377 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 7378 } 7379 } 7380 7381 if invalidParams.Len() > 0 { 7382 return invalidParams 7383 } 7384 return nil 7385} 7386 7387// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 7388func (s *SplunkDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *SplunkDestinationUpdate { 7389 s.CloudWatchLoggingOptions = v 7390 return s 7391} 7392 7393// SetHECAcknowledgmentTimeoutInSeconds sets the HECAcknowledgmentTimeoutInSeconds field's value. 7394func (s *SplunkDestinationUpdate) SetHECAcknowledgmentTimeoutInSeconds(v int64) *SplunkDestinationUpdate { 7395 s.HECAcknowledgmentTimeoutInSeconds = &v 7396 return s 7397} 7398 7399// SetHECEndpoint sets the HECEndpoint field's value. 7400func (s *SplunkDestinationUpdate) SetHECEndpoint(v string) *SplunkDestinationUpdate { 7401 s.HECEndpoint = &v 7402 return s 7403} 7404 7405// SetHECEndpointType sets the HECEndpointType field's value. 7406func (s *SplunkDestinationUpdate) SetHECEndpointType(v string) *SplunkDestinationUpdate { 7407 s.HECEndpointType = &v 7408 return s 7409} 7410 7411// SetHECToken sets the HECToken field's value. 7412func (s *SplunkDestinationUpdate) SetHECToken(v string) *SplunkDestinationUpdate { 7413 s.HECToken = &v 7414 return s 7415} 7416 7417// SetProcessingConfiguration sets the ProcessingConfiguration field's value. 7418func (s *SplunkDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *SplunkDestinationUpdate { 7419 s.ProcessingConfiguration = v 7420 return s 7421} 7422 7423// SetRetryOptions sets the RetryOptions field's value. 7424func (s *SplunkDestinationUpdate) SetRetryOptions(v *SplunkRetryOptions) *SplunkDestinationUpdate { 7425 s.RetryOptions = v 7426 return s 7427} 7428 7429// SetS3BackupMode sets the S3BackupMode field's value. 7430func (s *SplunkDestinationUpdate) SetS3BackupMode(v string) *SplunkDestinationUpdate { 7431 s.S3BackupMode = &v 7432 return s 7433} 7434 7435// SetS3Update sets the S3Update field's value. 7436func (s *SplunkDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *SplunkDestinationUpdate { 7437 s.S3Update = v 7438 return s 7439} 7440 7441// Configures retry behavior in case Kinesis Data Firehose is unable to deliver 7442// documents to Splunk, or if it doesn't receive an acknowledgment from Splunk. 7443type SplunkRetryOptions struct { 7444 _ struct{} `type:"structure"` 7445 7446 // The total amount of time that Kinesis Data Firehose spends on retries. This 7447 // duration starts after the initial attempt to send data to Splunk fails. It 7448 // doesn't include the periods during which Kinesis Data Firehose waits for 7449 // acknowledgment from Splunk after each attempt. 7450 DurationInSeconds *int64 `type:"integer"` 7451} 7452 7453// String returns the string representation 7454func (s SplunkRetryOptions) String() string { 7455 return awsutil.Prettify(s) 7456} 7457 7458// GoString returns the string representation 7459func (s SplunkRetryOptions) GoString() string { 7460 return s.String() 7461} 7462 7463// SetDurationInSeconds sets the DurationInSeconds field's value. 7464func (s *SplunkRetryOptions) SetDurationInSeconds(v int64) *SplunkRetryOptions { 7465 s.DurationInSeconds = &v 7466 return s 7467} 7468 7469type StartDeliveryStreamEncryptionInput struct { 7470 _ struct{} `type:"structure"` 7471 7472 // Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 7473 // for Server-Side Encryption (SSE). 7474 DeliveryStreamEncryptionConfigurationInput *DeliveryStreamEncryptionConfigurationInput `type:"structure"` 7475 7476 // The name of the delivery stream for which you want to enable server-side 7477 // encryption (SSE). 7478 // 7479 // DeliveryStreamName is a required field 7480 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 7481} 7482 7483// String returns the string representation 7484func (s StartDeliveryStreamEncryptionInput) String() string { 7485 return awsutil.Prettify(s) 7486} 7487 7488// GoString returns the string representation 7489func (s StartDeliveryStreamEncryptionInput) GoString() string { 7490 return s.String() 7491} 7492 7493// Validate inspects the fields of the type to determine if they are valid. 7494func (s *StartDeliveryStreamEncryptionInput) Validate() error { 7495 invalidParams := request.ErrInvalidParams{Context: "StartDeliveryStreamEncryptionInput"} 7496 if s.DeliveryStreamName == nil { 7497 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 7498 } 7499 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 7500 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 7501 } 7502 if s.DeliveryStreamEncryptionConfigurationInput != nil { 7503 if err := s.DeliveryStreamEncryptionConfigurationInput.Validate(); err != nil { 7504 invalidParams.AddNested("DeliveryStreamEncryptionConfigurationInput", err.(request.ErrInvalidParams)) 7505 } 7506 } 7507 7508 if invalidParams.Len() > 0 { 7509 return invalidParams 7510 } 7511 return nil 7512} 7513 7514// SetDeliveryStreamEncryptionConfigurationInput sets the DeliveryStreamEncryptionConfigurationInput field's value. 7515func (s *StartDeliveryStreamEncryptionInput) SetDeliveryStreamEncryptionConfigurationInput(v *DeliveryStreamEncryptionConfigurationInput) *StartDeliveryStreamEncryptionInput { 7516 s.DeliveryStreamEncryptionConfigurationInput = v 7517 return s 7518} 7519 7520// SetDeliveryStreamName sets the DeliveryStreamName field's value. 7521func (s *StartDeliveryStreamEncryptionInput) SetDeliveryStreamName(v string) *StartDeliveryStreamEncryptionInput { 7522 s.DeliveryStreamName = &v 7523 return s 7524} 7525 7526type StartDeliveryStreamEncryptionOutput struct { 7527 _ struct{} `type:"structure"` 7528} 7529 7530// String returns the string representation 7531func (s StartDeliveryStreamEncryptionOutput) String() string { 7532 return awsutil.Prettify(s) 7533} 7534 7535// GoString returns the string representation 7536func (s StartDeliveryStreamEncryptionOutput) GoString() string { 7537 return s.String() 7538} 7539 7540type StopDeliveryStreamEncryptionInput struct { 7541 _ struct{} `type:"structure"` 7542 7543 // The name of the delivery stream for which you want to disable server-side 7544 // encryption (SSE). 7545 // 7546 // DeliveryStreamName is a required field 7547 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 7548} 7549 7550// String returns the string representation 7551func (s StopDeliveryStreamEncryptionInput) String() string { 7552 return awsutil.Prettify(s) 7553} 7554 7555// GoString returns the string representation 7556func (s StopDeliveryStreamEncryptionInput) GoString() string { 7557 return s.String() 7558} 7559 7560// Validate inspects the fields of the type to determine if they are valid. 7561func (s *StopDeliveryStreamEncryptionInput) Validate() error { 7562 invalidParams := request.ErrInvalidParams{Context: "StopDeliveryStreamEncryptionInput"} 7563 if s.DeliveryStreamName == nil { 7564 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 7565 } 7566 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 7567 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 7568 } 7569 7570 if invalidParams.Len() > 0 { 7571 return invalidParams 7572 } 7573 return nil 7574} 7575 7576// SetDeliveryStreamName sets the DeliveryStreamName field's value. 7577func (s *StopDeliveryStreamEncryptionInput) SetDeliveryStreamName(v string) *StopDeliveryStreamEncryptionInput { 7578 s.DeliveryStreamName = &v 7579 return s 7580} 7581 7582type StopDeliveryStreamEncryptionOutput struct { 7583 _ struct{} `type:"structure"` 7584} 7585 7586// String returns the string representation 7587func (s StopDeliveryStreamEncryptionOutput) String() string { 7588 return awsutil.Prettify(s) 7589} 7590 7591// GoString returns the string representation 7592func (s StopDeliveryStreamEncryptionOutput) GoString() string { 7593 return s.String() 7594} 7595 7596// Metadata that you can assign to a delivery stream, consisting of a key-value 7597// pair. 7598type Tag struct { 7599 _ struct{} `type:"structure"` 7600 7601 // A unique identifier for the tag. Maximum length: 128 characters. Valid characters: 7602 // Unicode letters, digits, white space, _ . / = + - % @ 7603 // 7604 // Key is a required field 7605 Key *string `min:"1" type:"string" required:"true"` 7606 7607 // An optional string, which you can use to describe or define the tag. Maximum 7608 // length: 256 characters. Valid characters: Unicode letters, digits, white 7609 // space, _ . / = + - % @ 7610 Value *string `type:"string"` 7611} 7612 7613// String returns the string representation 7614func (s Tag) String() string { 7615 return awsutil.Prettify(s) 7616} 7617 7618// GoString returns the string representation 7619func (s Tag) GoString() string { 7620 return s.String() 7621} 7622 7623// Validate inspects the fields of the type to determine if they are valid. 7624func (s *Tag) Validate() error { 7625 invalidParams := request.ErrInvalidParams{Context: "Tag"} 7626 if s.Key == nil { 7627 invalidParams.Add(request.NewErrParamRequired("Key")) 7628 } 7629 if s.Key != nil && len(*s.Key) < 1 { 7630 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 7631 } 7632 7633 if invalidParams.Len() > 0 { 7634 return invalidParams 7635 } 7636 return nil 7637} 7638 7639// SetKey sets the Key field's value. 7640func (s *Tag) SetKey(v string) *Tag { 7641 s.Key = &v 7642 return s 7643} 7644 7645// SetValue sets the Value field's value. 7646func (s *Tag) SetValue(v string) *Tag { 7647 s.Value = &v 7648 return s 7649} 7650 7651type TagDeliveryStreamInput struct { 7652 _ struct{} `type:"structure"` 7653 7654 // The name of the delivery stream to which you want to add the tags. 7655 // 7656 // DeliveryStreamName is a required field 7657 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 7658 7659 // A set of key-value pairs to use to create the tags. 7660 // 7661 // Tags is a required field 7662 Tags []*Tag `min:"1" type:"list" required:"true"` 7663} 7664 7665// String returns the string representation 7666func (s TagDeliveryStreamInput) String() string { 7667 return awsutil.Prettify(s) 7668} 7669 7670// GoString returns the string representation 7671func (s TagDeliveryStreamInput) GoString() string { 7672 return s.String() 7673} 7674 7675// Validate inspects the fields of the type to determine if they are valid. 7676func (s *TagDeliveryStreamInput) Validate() error { 7677 invalidParams := request.ErrInvalidParams{Context: "TagDeliveryStreamInput"} 7678 if s.DeliveryStreamName == nil { 7679 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 7680 } 7681 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 7682 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 7683 } 7684 if s.Tags == nil { 7685 invalidParams.Add(request.NewErrParamRequired("Tags")) 7686 } 7687 if s.Tags != nil && len(s.Tags) < 1 { 7688 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 7689 } 7690 if s.Tags != nil { 7691 for i, v := range s.Tags { 7692 if v == nil { 7693 continue 7694 } 7695 if err := v.Validate(); err != nil { 7696 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7697 } 7698 } 7699 } 7700 7701 if invalidParams.Len() > 0 { 7702 return invalidParams 7703 } 7704 return nil 7705} 7706 7707// SetDeliveryStreamName sets the DeliveryStreamName field's value. 7708func (s *TagDeliveryStreamInput) SetDeliveryStreamName(v string) *TagDeliveryStreamInput { 7709 s.DeliveryStreamName = &v 7710 return s 7711} 7712 7713// SetTags sets the Tags field's value. 7714func (s *TagDeliveryStreamInput) SetTags(v []*Tag) *TagDeliveryStreamInput { 7715 s.Tags = v 7716 return s 7717} 7718 7719type TagDeliveryStreamOutput struct { 7720 _ struct{} `type:"structure"` 7721} 7722 7723// String returns the string representation 7724func (s TagDeliveryStreamOutput) String() string { 7725 return awsutil.Prettify(s) 7726} 7727 7728// GoString returns the string representation 7729func (s TagDeliveryStreamOutput) GoString() string { 7730 return s.String() 7731} 7732 7733type UntagDeliveryStreamInput struct { 7734 _ struct{} `type:"structure"` 7735 7736 // The name of the delivery stream. 7737 // 7738 // DeliveryStreamName is a required field 7739 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 7740 7741 // A list of tag keys. Each corresponding tag is removed from the delivery stream. 7742 // 7743 // TagKeys is a required field 7744 TagKeys []*string `min:"1" type:"list" required:"true"` 7745} 7746 7747// String returns the string representation 7748func (s UntagDeliveryStreamInput) String() string { 7749 return awsutil.Prettify(s) 7750} 7751 7752// GoString returns the string representation 7753func (s UntagDeliveryStreamInput) GoString() string { 7754 return s.String() 7755} 7756 7757// Validate inspects the fields of the type to determine if they are valid. 7758func (s *UntagDeliveryStreamInput) Validate() error { 7759 invalidParams := request.ErrInvalidParams{Context: "UntagDeliveryStreamInput"} 7760 if s.DeliveryStreamName == nil { 7761 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 7762 } 7763 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 7764 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 7765 } 7766 if s.TagKeys == nil { 7767 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 7768 } 7769 if s.TagKeys != nil && len(s.TagKeys) < 1 { 7770 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 7771 } 7772 7773 if invalidParams.Len() > 0 { 7774 return invalidParams 7775 } 7776 return nil 7777} 7778 7779// SetDeliveryStreamName sets the DeliveryStreamName field's value. 7780func (s *UntagDeliveryStreamInput) SetDeliveryStreamName(v string) *UntagDeliveryStreamInput { 7781 s.DeliveryStreamName = &v 7782 return s 7783} 7784 7785// SetTagKeys sets the TagKeys field's value. 7786func (s *UntagDeliveryStreamInput) SetTagKeys(v []*string) *UntagDeliveryStreamInput { 7787 s.TagKeys = v 7788 return s 7789} 7790 7791type UntagDeliveryStreamOutput struct { 7792 _ struct{} `type:"structure"` 7793} 7794 7795// String returns the string representation 7796func (s UntagDeliveryStreamOutput) String() string { 7797 return awsutil.Prettify(s) 7798} 7799 7800// GoString returns the string representation 7801func (s UntagDeliveryStreamOutput) GoString() string { 7802 return s.String() 7803} 7804 7805type UpdateDestinationInput struct { 7806 _ struct{} `type:"structure"` 7807 7808 // Obtain this value from the VersionId result of DeliveryStreamDescription. 7809 // This value is required, and helps the service perform conditional operations. 7810 // For example, if there is an interleaving update and this value is null, then 7811 // the update destination fails. After the update is successful, the VersionId 7812 // value is updated. The service then performs a merge of the old configuration 7813 // with the new configuration. 7814 // 7815 // CurrentDeliveryStreamVersionId is a required field 7816 CurrentDeliveryStreamVersionId *string `min:"1" type:"string" required:"true"` 7817 7818 // The name of the delivery stream. 7819 // 7820 // DeliveryStreamName is a required field 7821 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 7822 7823 // The ID of the destination. 7824 // 7825 // DestinationId is a required field 7826 DestinationId *string `min:"1" type:"string" required:"true"` 7827 7828 // Describes an update for a destination in Amazon ES. 7829 ElasticsearchDestinationUpdate *ElasticsearchDestinationUpdate `type:"structure"` 7830 7831 // Describes an update for a destination in Amazon S3. 7832 ExtendedS3DestinationUpdate *ExtendedS3DestinationUpdate `type:"structure"` 7833 7834 // Describes an update to the specified HTTP endpoint destination. 7835 HttpEndpointDestinationUpdate *HttpEndpointDestinationUpdate `type:"structure"` 7836 7837 // Describes an update for a destination in Amazon Redshift. 7838 RedshiftDestinationUpdate *RedshiftDestinationUpdate `type:"structure"` 7839 7840 // [Deprecated] Describes an update for a destination in Amazon S3. 7841 // 7842 // Deprecated: S3DestinationUpdate has been deprecated 7843 S3DestinationUpdate *S3DestinationUpdate `deprecated:"true" type:"structure"` 7844 7845 // Describes an update for a destination in Splunk. 7846 SplunkDestinationUpdate *SplunkDestinationUpdate `type:"structure"` 7847} 7848 7849// String returns the string representation 7850func (s UpdateDestinationInput) String() string { 7851 return awsutil.Prettify(s) 7852} 7853 7854// GoString returns the string representation 7855func (s UpdateDestinationInput) GoString() string { 7856 return s.String() 7857} 7858 7859// Validate inspects the fields of the type to determine if they are valid. 7860func (s *UpdateDestinationInput) Validate() error { 7861 invalidParams := request.ErrInvalidParams{Context: "UpdateDestinationInput"} 7862 if s.CurrentDeliveryStreamVersionId == nil { 7863 invalidParams.Add(request.NewErrParamRequired("CurrentDeliveryStreamVersionId")) 7864 } 7865 if s.CurrentDeliveryStreamVersionId != nil && len(*s.CurrentDeliveryStreamVersionId) < 1 { 7866 invalidParams.Add(request.NewErrParamMinLen("CurrentDeliveryStreamVersionId", 1)) 7867 } 7868 if s.DeliveryStreamName == nil { 7869 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 7870 } 7871 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 7872 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 7873 } 7874 if s.DestinationId == nil { 7875 invalidParams.Add(request.NewErrParamRequired("DestinationId")) 7876 } 7877 if s.DestinationId != nil && len(*s.DestinationId) < 1 { 7878 invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1)) 7879 } 7880 if s.ElasticsearchDestinationUpdate != nil { 7881 if err := s.ElasticsearchDestinationUpdate.Validate(); err != nil { 7882 invalidParams.AddNested("ElasticsearchDestinationUpdate", err.(request.ErrInvalidParams)) 7883 } 7884 } 7885 if s.ExtendedS3DestinationUpdate != nil { 7886 if err := s.ExtendedS3DestinationUpdate.Validate(); err != nil { 7887 invalidParams.AddNested("ExtendedS3DestinationUpdate", err.(request.ErrInvalidParams)) 7888 } 7889 } 7890 if s.HttpEndpointDestinationUpdate != nil { 7891 if err := s.HttpEndpointDestinationUpdate.Validate(); err != nil { 7892 invalidParams.AddNested("HttpEndpointDestinationUpdate", err.(request.ErrInvalidParams)) 7893 } 7894 } 7895 if s.RedshiftDestinationUpdate != nil { 7896 if err := s.RedshiftDestinationUpdate.Validate(); err != nil { 7897 invalidParams.AddNested("RedshiftDestinationUpdate", err.(request.ErrInvalidParams)) 7898 } 7899 } 7900 if s.S3DestinationUpdate != nil { 7901 if err := s.S3DestinationUpdate.Validate(); err != nil { 7902 invalidParams.AddNested("S3DestinationUpdate", err.(request.ErrInvalidParams)) 7903 } 7904 } 7905 if s.SplunkDestinationUpdate != nil { 7906 if err := s.SplunkDestinationUpdate.Validate(); err != nil { 7907 invalidParams.AddNested("SplunkDestinationUpdate", err.(request.ErrInvalidParams)) 7908 } 7909 } 7910 7911 if invalidParams.Len() > 0 { 7912 return invalidParams 7913 } 7914 return nil 7915} 7916 7917// SetCurrentDeliveryStreamVersionId sets the CurrentDeliveryStreamVersionId field's value. 7918func (s *UpdateDestinationInput) SetCurrentDeliveryStreamVersionId(v string) *UpdateDestinationInput { 7919 s.CurrentDeliveryStreamVersionId = &v 7920 return s 7921} 7922 7923// SetDeliveryStreamName sets the DeliveryStreamName field's value. 7924func (s *UpdateDestinationInput) SetDeliveryStreamName(v string) *UpdateDestinationInput { 7925 s.DeliveryStreamName = &v 7926 return s 7927} 7928 7929// SetDestinationId sets the DestinationId field's value. 7930func (s *UpdateDestinationInput) SetDestinationId(v string) *UpdateDestinationInput { 7931 s.DestinationId = &v 7932 return s 7933} 7934 7935// SetElasticsearchDestinationUpdate sets the ElasticsearchDestinationUpdate field's value. 7936func (s *UpdateDestinationInput) SetElasticsearchDestinationUpdate(v *ElasticsearchDestinationUpdate) *UpdateDestinationInput { 7937 s.ElasticsearchDestinationUpdate = v 7938 return s 7939} 7940 7941// SetExtendedS3DestinationUpdate sets the ExtendedS3DestinationUpdate field's value. 7942func (s *UpdateDestinationInput) SetExtendedS3DestinationUpdate(v *ExtendedS3DestinationUpdate) *UpdateDestinationInput { 7943 s.ExtendedS3DestinationUpdate = v 7944 return s 7945} 7946 7947// SetHttpEndpointDestinationUpdate sets the HttpEndpointDestinationUpdate field's value. 7948func (s *UpdateDestinationInput) SetHttpEndpointDestinationUpdate(v *HttpEndpointDestinationUpdate) *UpdateDestinationInput { 7949 s.HttpEndpointDestinationUpdate = v 7950 return s 7951} 7952 7953// SetRedshiftDestinationUpdate sets the RedshiftDestinationUpdate field's value. 7954func (s *UpdateDestinationInput) SetRedshiftDestinationUpdate(v *RedshiftDestinationUpdate) *UpdateDestinationInput { 7955 s.RedshiftDestinationUpdate = v 7956 return s 7957} 7958 7959// SetS3DestinationUpdate sets the S3DestinationUpdate field's value. 7960func (s *UpdateDestinationInput) SetS3DestinationUpdate(v *S3DestinationUpdate) *UpdateDestinationInput { 7961 s.S3DestinationUpdate = v 7962 return s 7963} 7964 7965// SetSplunkDestinationUpdate sets the SplunkDestinationUpdate field's value. 7966func (s *UpdateDestinationInput) SetSplunkDestinationUpdate(v *SplunkDestinationUpdate) *UpdateDestinationInput { 7967 s.SplunkDestinationUpdate = v 7968 return s 7969} 7970 7971type UpdateDestinationOutput struct { 7972 _ struct{} `type:"structure"` 7973} 7974 7975// String returns the string representation 7976func (s UpdateDestinationOutput) String() string { 7977 return awsutil.Prettify(s) 7978} 7979 7980// GoString returns the string representation 7981func (s UpdateDestinationOutput) GoString() string { 7982 return s.String() 7983} 7984 7985// The details of the VPC of the Amazon ES destination. 7986type VpcConfiguration struct { 7987 _ struct{} `type:"structure"` 7988 7989 // The ARN of the IAM role that you want the delivery stream to use to create 7990 // endpoints in the destination VPC. You can use your existing Kinesis Data 7991 // Firehose delivery role or you can specify a new role. In either case, make 7992 // sure that the role trusts the Kinesis Data Firehose service principal and 7993 // that it grants the following permissions: 7994 // 7995 // * ec2:DescribeVpcs 7996 // 7997 // * ec2:DescribeVpcAttribute 7998 // 7999 // * ec2:DescribeSubnets 8000 // 8001 // * ec2:DescribeSecurityGroups 8002 // 8003 // * ec2:DescribeNetworkInterfaces 8004 // 8005 // * ec2:CreateNetworkInterface 8006 // 8007 // * ec2:CreateNetworkInterfacePermission 8008 // 8009 // * ec2:DeleteNetworkInterface 8010 // 8011 // If you revoke these permissions after you create the delivery stream, Kinesis 8012 // Data Firehose can't scale out by creating more ENIs when necessary. You might 8013 // therefore see a degradation in performance. 8014 // 8015 // RoleARN is a required field 8016 RoleARN *string `min:"1" type:"string" required:"true"` 8017 8018 // The IDs of the security groups that you want Kinesis Data Firehose to use 8019 // when it creates ENIs in the VPC of the Amazon ES destination. You can use 8020 // the same security group that the Amazon ES domain uses or different ones. 8021 // If you specify different security groups here, ensure that they allow outbound 8022 // HTTPS traffic to the Amazon ES domain's security group. Also ensure that 8023 // the Amazon ES domain's security group allows HTTPS traffic from the security 8024 // groups specified here. If you use the same security group for both your delivery 8025 // stream and the Amazon ES domain, make sure the security group inbound rule 8026 // allows HTTPS traffic. For more information about security group rules, see 8027 // Security group rules (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) 8028 // in the Amazon VPC documentation. 8029 // 8030 // SecurityGroupIds is a required field 8031 SecurityGroupIds []*string `min:"1" type:"list" required:"true"` 8032 8033 // The IDs of the subnets that you want Kinesis Data Firehose to use to create 8034 // ENIs in the VPC of the Amazon ES destination. Make sure that the routing 8035 // tables and inbound and outbound rules allow traffic to flow from the subnets 8036 // whose IDs are specified here to the subnets that have the destination Amazon 8037 // ES endpoints. Kinesis Data Firehose creates at least one ENI in each of the 8038 // subnets that are specified here. Do not delete or modify these ENIs. 8039 // 8040 // The number of ENIs that Kinesis Data Firehose creates in the subnets specified 8041 // here scales up and down automatically based on throughput. To enable Kinesis 8042 // Data Firehose to scale up the number of ENIs to match throughput, ensure 8043 // that you have sufficient quota. To help you calculate the quota you need, 8044 // assume that Kinesis Data Firehose can create up to three ENIs for this delivery 8045 // stream for each of the subnets specified here. For more information about 8046 // ENI quota, see Network Interfaces (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis) 8047 // in the Amazon VPC Quotas topic. 8048 // 8049 // SubnetIds is a required field 8050 SubnetIds []*string `min:"1" type:"list" required:"true"` 8051} 8052 8053// String returns the string representation 8054func (s VpcConfiguration) String() string { 8055 return awsutil.Prettify(s) 8056} 8057 8058// GoString returns the string representation 8059func (s VpcConfiguration) GoString() string { 8060 return s.String() 8061} 8062 8063// Validate inspects the fields of the type to determine if they are valid. 8064func (s *VpcConfiguration) Validate() error { 8065 invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} 8066 if s.RoleARN == nil { 8067 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 8068 } 8069 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 8070 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 8071 } 8072 if s.SecurityGroupIds == nil { 8073 invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) 8074 } 8075 if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { 8076 invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) 8077 } 8078 if s.SubnetIds == nil { 8079 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 8080 } 8081 if s.SubnetIds != nil && len(s.SubnetIds) < 1 { 8082 invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) 8083 } 8084 8085 if invalidParams.Len() > 0 { 8086 return invalidParams 8087 } 8088 return nil 8089} 8090 8091// SetRoleARN sets the RoleARN field's value. 8092func (s *VpcConfiguration) SetRoleARN(v string) *VpcConfiguration { 8093 s.RoleARN = &v 8094 return s 8095} 8096 8097// SetSecurityGroupIds sets the SecurityGroupIds field's value. 8098func (s *VpcConfiguration) SetSecurityGroupIds(v []*string) *VpcConfiguration { 8099 s.SecurityGroupIds = v 8100 return s 8101} 8102 8103// SetSubnetIds sets the SubnetIds field's value. 8104func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration { 8105 s.SubnetIds = v 8106 return s 8107} 8108 8109// The details of the VPC of the Amazon ES destination. 8110type VpcConfigurationDescription struct { 8111 _ struct{} `type:"structure"` 8112 8113 // The ARN of the IAM role that the delivery stream uses to create endpoints 8114 // in the destination VPC. You can use your existing Kinesis Data Firehose delivery 8115 // role or you can specify a new role. In either case, make sure that the role 8116 // trusts the Kinesis Data Firehose service principal and that it grants the 8117 // following permissions: 8118 // 8119 // * ec2:DescribeVpcs 8120 // 8121 // * ec2:DescribeVpcAttribute 8122 // 8123 // * ec2:DescribeSubnets 8124 // 8125 // * ec2:DescribeSecurityGroups 8126 // 8127 // * ec2:DescribeNetworkInterfaces 8128 // 8129 // * ec2:CreateNetworkInterface 8130 // 8131 // * ec2:CreateNetworkInterfacePermission 8132 // 8133 // * ec2:DeleteNetworkInterface 8134 // 8135 // If you revoke these permissions after you create the delivery stream, Kinesis 8136 // Data Firehose can't scale out by creating more ENIs when necessary. You might 8137 // therefore see a degradation in performance. 8138 // 8139 // RoleARN is a required field 8140 RoleARN *string `min:"1" type:"string" required:"true"` 8141 8142 // The IDs of the security groups that Kinesis Data Firehose uses when it creates 8143 // ENIs in the VPC of the Amazon ES destination. You can use the same security 8144 // group that the Amazon ES domain uses or different ones. If you specify different 8145 // security groups, ensure that they allow outbound HTTPS traffic to the Amazon 8146 // ES domain's security group. Also ensure that the Amazon ES domain's security 8147 // group allows HTTPS traffic from the security groups specified here. If you 8148 // use the same security group for both your delivery stream and the Amazon 8149 // ES domain, make sure the security group inbound rule allows HTTPS traffic. 8150 // For more information about security group rules, see Security group rules 8151 // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) 8152 // in the Amazon VPC documentation. 8153 // 8154 // SecurityGroupIds is a required field 8155 SecurityGroupIds []*string `min:"1" type:"list" required:"true"` 8156 8157 // The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in 8158 // the VPC of the Amazon ES destination. Make sure that the routing tables and 8159 // inbound and outbound rules allow traffic to flow from the subnets whose IDs 8160 // are specified here to the subnets that have the destination Amazon ES endpoints. 8161 // Kinesis Data Firehose creates at least one ENI in each of the subnets that 8162 // are specified here. Do not delete or modify these ENIs. 8163 // 8164 // The number of ENIs that Kinesis Data Firehose creates in the subnets specified 8165 // here scales up and down automatically based on throughput. To enable Kinesis 8166 // Data Firehose to scale up the number of ENIs to match throughput, ensure 8167 // that you have sufficient quota. To help you calculate the quota you need, 8168 // assume that Kinesis Data Firehose can create up to three ENIs for this delivery 8169 // stream for each of the subnets specified here. For more information about 8170 // ENI quota, see Network Interfaces (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis) 8171 // in the Amazon VPC Quotas topic. 8172 // 8173 // SubnetIds is a required field 8174 SubnetIds []*string `min:"1" type:"list" required:"true"` 8175 8176 // The ID of the Amazon ES destination's VPC. 8177 // 8178 // VpcId is a required field 8179 VpcId *string `min:"1" type:"string" required:"true"` 8180} 8181 8182// String returns the string representation 8183func (s VpcConfigurationDescription) String() string { 8184 return awsutil.Prettify(s) 8185} 8186 8187// GoString returns the string representation 8188func (s VpcConfigurationDescription) GoString() string { 8189 return s.String() 8190} 8191 8192// SetRoleARN sets the RoleARN field's value. 8193func (s *VpcConfigurationDescription) SetRoleARN(v string) *VpcConfigurationDescription { 8194 s.RoleARN = &v 8195 return s 8196} 8197 8198// SetSecurityGroupIds sets the SecurityGroupIds field's value. 8199func (s *VpcConfigurationDescription) SetSecurityGroupIds(v []*string) *VpcConfigurationDescription { 8200 s.SecurityGroupIds = v 8201 return s 8202} 8203 8204// SetSubnetIds sets the SubnetIds field's value. 8205func (s *VpcConfigurationDescription) SetSubnetIds(v []*string) *VpcConfigurationDescription { 8206 s.SubnetIds = v 8207 return s 8208} 8209 8210// SetVpcId sets the VpcId field's value. 8211func (s *VpcConfigurationDescription) SetVpcId(v string) *VpcConfigurationDescription { 8212 s.VpcId = &v 8213 return s 8214} 8215 8216const ( 8217 // CompressionFormatUncompressed is a CompressionFormat enum value 8218 CompressionFormatUncompressed = "UNCOMPRESSED" 8219 8220 // CompressionFormatGzip is a CompressionFormat enum value 8221 CompressionFormatGzip = "GZIP" 8222 8223 // CompressionFormatZip is a CompressionFormat enum value 8224 CompressionFormatZip = "ZIP" 8225 8226 // CompressionFormatSnappy is a CompressionFormat enum value 8227 CompressionFormatSnappy = "Snappy" 8228 8229 // CompressionFormatHadoopSnappy is a CompressionFormat enum value 8230 CompressionFormatHadoopSnappy = "HADOOP_SNAPPY" 8231) 8232 8233// CompressionFormat_Values returns all elements of the CompressionFormat enum 8234func CompressionFormat_Values() []string { 8235 return []string{ 8236 CompressionFormatUncompressed, 8237 CompressionFormatGzip, 8238 CompressionFormatZip, 8239 CompressionFormatSnappy, 8240 CompressionFormatHadoopSnappy, 8241 } 8242} 8243 8244const ( 8245 // ContentEncodingNone is a ContentEncoding enum value 8246 ContentEncodingNone = "NONE" 8247 8248 // ContentEncodingGzip is a ContentEncoding enum value 8249 ContentEncodingGzip = "GZIP" 8250) 8251 8252// ContentEncoding_Values returns all elements of the ContentEncoding enum 8253func ContentEncoding_Values() []string { 8254 return []string{ 8255 ContentEncodingNone, 8256 ContentEncodingGzip, 8257 } 8258} 8259 8260const ( 8261 // DeliveryStreamEncryptionStatusEnabled is a DeliveryStreamEncryptionStatus enum value 8262 DeliveryStreamEncryptionStatusEnabled = "ENABLED" 8263 8264 // DeliveryStreamEncryptionStatusEnabling is a DeliveryStreamEncryptionStatus enum value 8265 DeliveryStreamEncryptionStatusEnabling = "ENABLING" 8266 8267 // DeliveryStreamEncryptionStatusEnablingFailed is a DeliveryStreamEncryptionStatus enum value 8268 DeliveryStreamEncryptionStatusEnablingFailed = "ENABLING_FAILED" 8269 8270 // DeliveryStreamEncryptionStatusDisabled is a DeliveryStreamEncryptionStatus enum value 8271 DeliveryStreamEncryptionStatusDisabled = "DISABLED" 8272 8273 // DeliveryStreamEncryptionStatusDisabling is a DeliveryStreamEncryptionStatus enum value 8274 DeliveryStreamEncryptionStatusDisabling = "DISABLING" 8275 8276 // DeliveryStreamEncryptionStatusDisablingFailed is a DeliveryStreamEncryptionStatus enum value 8277 DeliveryStreamEncryptionStatusDisablingFailed = "DISABLING_FAILED" 8278) 8279 8280// DeliveryStreamEncryptionStatus_Values returns all elements of the DeliveryStreamEncryptionStatus enum 8281func DeliveryStreamEncryptionStatus_Values() []string { 8282 return []string{ 8283 DeliveryStreamEncryptionStatusEnabled, 8284 DeliveryStreamEncryptionStatusEnabling, 8285 DeliveryStreamEncryptionStatusEnablingFailed, 8286 DeliveryStreamEncryptionStatusDisabled, 8287 DeliveryStreamEncryptionStatusDisabling, 8288 DeliveryStreamEncryptionStatusDisablingFailed, 8289 } 8290} 8291 8292const ( 8293 // DeliveryStreamFailureTypeRetireKmsGrantFailed is a DeliveryStreamFailureType enum value 8294 DeliveryStreamFailureTypeRetireKmsGrantFailed = "RETIRE_KMS_GRANT_FAILED" 8295 8296 // DeliveryStreamFailureTypeCreateKmsGrantFailed is a DeliveryStreamFailureType enum value 8297 DeliveryStreamFailureTypeCreateKmsGrantFailed = "CREATE_KMS_GRANT_FAILED" 8298 8299 // DeliveryStreamFailureTypeKmsAccessDenied is a DeliveryStreamFailureType enum value 8300 DeliveryStreamFailureTypeKmsAccessDenied = "KMS_ACCESS_DENIED" 8301 8302 // DeliveryStreamFailureTypeDisabledKmsKey is a DeliveryStreamFailureType enum value 8303 DeliveryStreamFailureTypeDisabledKmsKey = "DISABLED_KMS_KEY" 8304 8305 // DeliveryStreamFailureTypeInvalidKmsKey is a DeliveryStreamFailureType enum value 8306 DeliveryStreamFailureTypeInvalidKmsKey = "INVALID_KMS_KEY" 8307 8308 // DeliveryStreamFailureTypeKmsKeyNotFound is a DeliveryStreamFailureType enum value 8309 DeliveryStreamFailureTypeKmsKeyNotFound = "KMS_KEY_NOT_FOUND" 8310 8311 // DeliveryStreamFailureTypeKmsOptInRequired is a DeliveryStreamFailureType enum value 8312 DeliveryStreamFailureTypeKmsOptInRequired = "KMS_OPT_IN_REQUIRED" 8313 8314 // DeliveryStreamFailureTypeCreateEniFailed is a DeliveryStreamFailureType enum value 8315 DeliveryStreamFailureTypeCreateEniFailed = "CREATE_ENI_FAILED" 8316 8317 // DeliveryStreamFailureTypeDeleteEniFailed is a DeliveryStreamFailureType enum value 8318 DeliveryStreamFailureTypeDeleteEniFailed = "DELETE_ENI_FAILED" 8319 8320 // DeliveryStreamFailureTypeSubnetNotFound is a DeliveryStreamFailureType enum value 8321 DeliveryStreamFailureTypeSubnetNotFound = "SUBNET_NOT_FOUND" 8322 8323 // DeliveryStreamFailureTypeSecurityGroupNotFound is a DeliveryStreamFailureType enum value 8324 DeliveryStreamFailureTypeSecurityGroupNotFound = "SECURITY_GROUP_NOT_FOUND" 8325 8326 // DeliveryStreamFailureTypeEniAccessDenied is a DeliveryStreamFailureType enum value 8327 DeliveryStreamFailureTypeEniAccessDenied = "ENI_ACCESS_DENIED" 8328 8329 // DeliveryStreamFailureTypeSubnetAccessDenied is a DeliveryStreamFailureType enum value 8330 DeliveryStreamFailureTypeSubnetAccessDenied = "SUBNET_ACCESS_DENIED" 8331 8332 // DeliveryStreamFailureTypeSecurityGroupAccessDenied is a DeliveryStreamFailureType enum value 8333 DeliveryStreamFailureTypeSecurityGroupAccessDenied = "SECURITY_GROUP_ACCESS_DENIED" 8334 8335 // DeliveryStreamFailureTypeUnknownError is a DeliveryStreamFailureType enum value 8336 DeliveryStreamFailureTypeUnknownError = "UNKNOWN_ERROR" 8337) 8338 8339// DeliveryStreamFailureType_Values returns all elements of the DeliveryStreamFailureType enum 8340func DeliveryStreamFailureType_Values() []string { 8341 return []string{ 8342 DeliveryStreamFailureTypeRetireKmsGrantFailed, 8343 DeliveryStreamFailureTypeCreateKmsGrantFailed, 8344 DeliveryStreamFailureTypeKmsAccessDenied, 8345 DeliveryStreamFailureTypeDisabledKmsKey, 8346 DeliveryStreamFailureTypeInvalidKmsKey, 8347 DeliveryStreamFailureTypeKmsKeyNotFound, 8348 DeliveryStreamFailureTypeKmsOptInRequired, 8349 DeliveryStreamFailureTypeCreateEniFailed, 8350 DeliveryStreamFailureTypeDeleteEniFailed, 8351 DeliveryStreamFailureTypeSubnetNotFound, 8352 DeliveryStreamFailureTypeSecurityGroupNotFound, 8353 DeliveryStreamFailureTypeEniAccessDenied, 8354 DeliveryStreamFailureTypeSubnetAccessDenied, 8355 DeliveryStreamFailureTypeSecurityGroupAccessDenied, 8356 DeliveryStreamFailureTypeUnknownError, 8357 } 8358} 8359 8360const ( 8361 // DeliveryStreamStatusCreating is a DeliveryStreamStatus enum value 8362 DeliveryStreamStatusCreating = "CREATING" 8363 8364 // DeliveryStreamStatusCreatingFailed is a DeliveryStreamStatus enum value 8365 DeliveryStreamStatusCreatingFailed = "CREATING_FAILED" 8366 8367 // DeliveryStreamStatusDeleting is a DeliveryStreamStatus enum value 8368 DeliveryStreamStatusDeleting = "DELETING" 8369 8370 // DeliveryStreamStatusDeletingFailed is a DeliveryStreamStatus enum value 8371 DeliveryStreamStatusDeletingFailed = "DELETING_FAILED" 8372 8373 // DeliveryStreamStatusActive is a DeliveryStreamStatus enum value 8374 DeliveryStreamStatusActive = "ACTIVE" 8375) 8376 8377// DeliveryStreamStatus_Values returns all elements of the DeliveryStreamStatus enum 8378func DeliveryStreamStatus_Values() []string { 8379 return []string{ 8380 DeliveryStreamStatusCreating, 8381 DeliveryStreamStatusCreatingFailed, 8382 DeliveryStreamStatusDeleting, 8383 DeliveryStreamStatusDeletingFailed, 8384 DeliveryStreamStatusActive, 8385 } 8386} 8387 8388const ( 8389 // DeliveryStreamTypeDirectPut is a DeliveryStreamType enum value 8390 DeliveryStreamTypeDirectPut = "DirectPut" 8391 8392 // DeliveryStreamTypeKinesisStreamAsSource is a DeliveryStreamType enum value 8393 DeliveryStreamTypeKinesisStreamAsSource = "KinesisStreamAsSource" 8394) 8395 8396// DeliveryStreamType_Values returns all elements of the DeliveryStreamType enum 8397func DeliveryStreamType_Values() []string { 8398 return []string{ 8399 DeliveryStreamTypeDirectPut, 8400 DeliveryStreamTypeKinesisStreamAsSource, 8401 } 8402} 8403 8404const ( 8405 // ElasticsearchIndexRotationPeriodNoRotation is a ElasticsearchIndexRotationPeriod enum value 8406 ElasticsearchIndexRotationPeriodNoRotation = "NoRotation" 8407 8408 // ElasticsearchIndexRotationPeriodOneHour is a ElasticsearchIndexRotationPeriod enum value 8409 ElasticsearchIndexRotationPeriodOneHour = "OneHour" 8410 8411 // ElasticsearchIndexRotationPeriodOneDay is a ElasticsearchIndexRotationPeriod enum value 8412 ElasticsearchIndexRotationPeriodOneDay = "OneDay" 8413 8414 // ElasticsearchIndexRotationPeriodOneWeek is a ElasticsearchIndexRotationPeriod enum value 8415 ElasticsearchIndexRotationPeriodOneWeek = "OneWeek" 8416 8417 // ElasticsearchIndexRotationPeriodOneMonth is a ElasticsearchIndexRotationPeriod enum value 8418 ElasticsearchIndexRotationPeriodOneMonth = "OneMonth" 8419) 8420 8421// ElasticsearchIndexRotationPeriod_Values returns all elements of the ElasticsearchIndexRotationPeriod enum 8422func ElasticsearchIndexRotationPeriod_Values() []string { 8423 return []string{ 8424 ElasticsearchIndexRotationPeriodNoRotation, 8425 ElasticsearchIndexRotationPeriodOneHour, 8426 ElasticsearchIndexRotationPeriodOneDay, 8427 ElasticsearchIndexRotationPeriodOneWeek, 8428 ElasticsearchIndexRotationPeriodOneMonth, 8429 } 8430} 8431 8432const ( 8433 // ElasticsearchS3BackupModeFailedDocumentsOnly is a ElasticsearchS3BackupMode enum value 8434 ElasticsearchS3BackupModeFailedDocumentsOnly = "FailedDocumentsOnly" 8435 8436 // ElasticsearchS3BackupModeAllDocuments is a ElasticsearchS3BackupMode enum value 8437 ElasticsearchS3BackupModeAllDocuments = "AllDocuments" 8438) 8439 8440// ElasticsearchS3BackupMode_Values returns all elements of the ElasticsearchS3BackupMode enum 8441func ElasticsearchS3BackupMode_Values() []string { 8442 return []string{ 8443 ElasticsearchS3BackupModeFailedDocumentsOnly, 8444 ElasticsearchS3BackupModeAllDocuments, 8445 } 8446} 8447 8448const ( 8449 // HECEndpointTypeRaw is a HECEndpointType enum value 8450 HECEndpointTypeRaw = "Raw" 8451 8452 // HECEndpointTypeEvent is a HECEndpointType enum value 8453 HECEndpointTypeEvent = "Event" 8454) 8455 8456// HECEndpointType_Values returns all elements of the HECEndpointType enum 8457func HECEndpointType_Values() []string { 8458 return []string{ 8459 HECEndpointTypeRaw, 8460 HECEndpointTypeEvent, 8461 } 8462} 8463 8464const ( 8465 // HttpEndpointS3BackupModeFailedDataOnly is a HttpEndpointS3BackupMode enum value 8466 HttpEndpointS3BackupModeFailedDataOnly = "FailedDataOnly" 8467 8468 // HttpEndpointS3BackupModeAllData is a HttpEndpointS3BackupMode enum value 8469 HttpEndpointS3BackupModeAllData = "AllData" 8470) 8471 8472// HttpEndpointS3BackupMode_Values returns all elements of the HttpEndpointS3BackupMode enum 8473func HttpEndpointS3BackupMode_Values() []string { 8474 return []string{ 8475 HttpEndpointS3BackupModeFailedDataOnly, 8476 HttpEndpointS3BackupModeAllData, 8477 } 8478} 8479 8480const ( 8481 // KeyTypeAwsOwnedCmk is a KeyType enum value 8482 KeyTypeAwsOwnedCmk = "AWS_OWNED_CMK" 8483 8484 // KeyTypeCustomerManagedCmk is a KeyType enum value 8485 KeyTypeCustomerManagedCmk = "CUSTOMER_MANAGED_CMK" 8486) 8487 8488// KeyType_Values returns all elements of the KeyType enum 8489func KeyType_Values() []string { 8490 return []string{ 8491 KeyTypeAwsOwnedCmk, 8492 KeyTypeCustomerManagedCmk, 8493 } 8494} 8495 8496const ( 8497 // NoEncryptionConfigNoEncryption is a NoEncryptionConfig enum value 8498 NoEncryptionConfigNoEncryption = "NoEncryption" 8499) 8500 8501// NoEncryptionConfig_Values returns all elements of the NoEncryptionConfig enum 8502func NoEncryptionConfig_Values() []string { 8503 return []string{ 8504 NoEncryptionConfigNoEncryption, 8505 } 8506} 8507 8508const ( 8509 // OrcCompressionNone is a OrcCompression enum value 8510 OrcCompressionNone = "NONE" 8511 8512 // OrcCompressionZlib is a OrcCompression enum value 8513 OrcCompressionZlib = "ZLIB" 8514 8515 // OrcCompressionSnappy is a OrcCompression enum value 8516 OrcCompressionSnappy = "SNAPPY" 8517) 8518 8519// OrcCompression_Values returns all elements of the OrcCompression enum 8520func OrcCompression_Values() []string { 8521 return []string{ 8522 OrcCompressionNone, 8523 OrcCompressionZlib, 8524 OrcCompressionSnappy, 8525 } 8526} 8527 8528const ( 8529 // OrcFormatVersionV011 is a OrcFormatVersion enum value 8530 OrcFormatVersionV011 = "V0_11" 8531 8532 // OrcFormatVersionV012 is a OrcFormatVersion enum value 8533 OrcFormatVersionV012 = "V0_12" 8534) 8535 8536// OrcFormatVersion_Values returns all elements of the OrcFormatVersion enum 8537func OrcFormatVersion_Values() []string { 8538 return []string{ 8539 OrcFormatVersionV011, 8540 OrcFormatVersionV012, 8541 } 8542} 8543 8544const ( 8545 // ParquetCompressionUncompressed is a ParquetCompression enum value 8546 ParquetCompressionUncompressed = "UNCOMPRESSED" 8547 8548 // ParquetCompressionGzip is a ParquetCompression enum value 8549 ParquetCompressionGzip = "GZIP" 8550 8551 // ParquetCompressionSnappy is a ParquetCompression enum value 8552 ParquetCompressionSnappy = "SNAPPY" 8553) 8554 8555// ParquetCompression_Values returns all elements of the ParquetCompression enum 8556func ParquetCompression_Values() []string { 8557 return []string{ 8558 ParquetCompressionUncompressed, 8559 ParquetCompressionGzip, 8560 ParquetCompressionSnappy, 8561 } 8562} 8563 8564const ( 8565 // ParquetWriterVersionV1 is a ParquetWriterVersion enum value 8566 ParquetWriterVersionV1 = "V1" 8567 8568 // ParquetWriterVersionV2 is a ParquetWriterVersion enum value 8569 ParquetWriterVersionV2 = "V2" 8570) 8571 8572// ParquetWriterVersion_Values returns all elements of the ParquetWriterVersion enum 8573func ParquetWriterVersion_Values() []string { 8574 return []string{ 8575 ParquetWriterVersionV1, 8576 ParquetWriterVersionV2, 8577 } 8578} 8579 8580const ( 8581 // ProcessorParameterNameLambdaArn is a ProcessorParameterName enum value 8582 ProcessorParameterNameLambdaArn = "LambdaArn" 8583 8584 // ProcessorParameterNameNumberOfRetries is a ProcessorParameterName enum value 8585 ProcessorParameterNameNumberOfRetries = "NumberOfRetries" 8586 8587 // ProcessorParameterNameRoleArn is a ProcessorParameterName enum value 8588 ProcessorParameterNameRoleArn = "RoleArn" 8589 8590 // ProcessorParameterNameBufferSizeInMbs is a ProcessorParameterName enum value 8591 ProcessorParameterNameBufferSizeInMbs = "BufferSizeInMBs" 8592 8593 // ProcessorParameterNameBufferIntervalInSeconds is a ProcessorParameterName enum value 8594 ProcessorParameterNameBufferIntervalInSeconds = "BufferIntervalInSeconds" 8595) 8596 8597// ProcessorParameterName_Values returns all elements of the ProcessorParameterName enum 8598func ProcessorParameterName_Values() []string { 8599 return []string{ 8600 ProcessorParameterNameLambdaArn, 8601 ProcessorParameterNameNumberOfRetries, 8602 ProcessorParameterNameRoleArn, 8603 ProcessorParameterNameBufferSizeInMbs, 8604 ProcessorParameterNameBufferIntervalInSeconds, 8605 } 8606} 8607 8608const ( 8609 // ProcessorTypeLambda is a ProcessorType enum value 8610 ProcessorTypeLambda = "Lambda" 8611) 8612 8613// ProcessorType_Values returns all elements of the ProcessorType enum 8614func ProcessorType_Values() []string { 8615 return []string{ 8616 ProcessorTypeLambda, 8617 } 8618} 8619 8620const ( 8621 // RedshiftS3BackupModeDisabled is a RedshiftS3BackupMode enum value 8622 RedshiftS3BackupModeDisabled = "Disabled" 8623 8624 // RedshiftS3BackupModeEnabled is a RedshiftS3BackupMode enum value 8625 RedshiftS3BackupModeEnabled = "Enabled" 8626) 8627 8628// RedshiftS3BackupMode_Values returns all elements of the RedshiftS3BackupMode enum 8629func RedshiftS3BackupMode_Values() []string { 8630 return []string{ 8631 RedshiftS3BackupModeDisabled, 8632 RedshiftS3BackupModeEnabled, 8633 } 8634} 8635 8636const ( 8637 // S3BackupModeDisabled is a S3BackupMode enum value 8638 S3BackupModeDisabled = "Disabled" 8639 8640 // S3BackupModeEnabled is a S3BackupMode enum value 8641 S3BackupModeEnabled = "Enabled" 8642) 8643 8644// S3BackupMode_Values returns all elements of the S3BackupMode enum 8645func S3BackupMode_Values() []string { 8646 return []string{ 8647 S3BackupModeDisabled, 8648 S3BackupModeEnabled, 8649 } 8650} 8651 8652const ( 8653 // SplunkS3BackupModeFailedEventsOnly is a SplunkS3BackupMode enum value 8654 SplunkS3BackupModeFailedEventsOnly = "FailedEventsOnly" 8655 8656 // SplunkS3BackupModeAllEvents is a SplunkS3BackupMode enum value 8657 SplunkS3BackupModeAllEvents = "AllEvents" 8658) 8659 8660// SplunkS3BackupMode_Values returns all elements of the SplunkS3BackupMode enum 8661func SplunkS3BackupMode_Values() []string { 8662 return []string{ 8663 SplunkS3BackupModeFailedEventsOnly, 8664 SplunkS3BackupModeAllEvents, 8665 } 8666} 8667