github.com/aavshr/aws-sdk-go@v1.41.3/service/firehose/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package firehose 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc" 14 ) 15 16 const 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 42 func (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 149 func (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. 163 func (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 170 const 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 196 func (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 243 func (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. 257 func (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 264 const 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 290 func (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 331 func (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. 345 func (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 352 const 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 378 func (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 413 func (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. 427 func (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 434 const 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 460 func (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 499 func (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. 513 func (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 520 const 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 546 func (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 KiB 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 629 func (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. 643 func (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 650 const 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 676 func (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 base64 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 782 func (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. 796 func (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 803 const 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 829 func (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 918 func (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. 932 func (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 939 const 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 965 func (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 1029 func (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. 1043 func (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 1050 const 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 1076 func (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 1129 func (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. 1143 func (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 1150 const 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 1176 func (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 1223 func (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. 1237 func (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 1244 const 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 1270 func (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 1342 func (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. 1356 func (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 type AmazonopensearchserviceBufferingHints struct { 1364 _ struct{} `type:"structure"` 1365 1366 IntervalInSeconds *int64 `min:"60" type:"integer"` 1367 1368 SizeInMBs *int64 `min:"1" type:"integer"` 1369 } 1370 1371 // String returns the string representation. 1372 // 1373 // API parameter values that are decorated as "sensitive" in the API will not 1374 // be included in the string output. The member name will be present, but the 1375 // value will be replaced with "sensitive". 1376 func (s AmazonopensearchserviceBufferingHints) String() string { 1377 return awsutil.Prettify(s) 1378 } 1379 1380 // GoString returns the string representation. 1381 // 1382 // API parameter values that are decorated as "sensitive" in the API will not 1383 // be included in the string output. The member name will be present, but the 1384 // value will be replaced with "sensitive". 1385 func (s AmazonopensearchserviceBufferingHints) GoString() string { 1386 return s.String() 1387 } 1388 1389 // Validate inspects the fields of the type to determine if they are valid. 1390 func (s *AmazonopensearchserviceBufferingHints) Validate() error { 1391 invalidParams := request.ErrInvalidParams{Context: "AmazonopensearchserviceBufferingHints"} 1392 if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { 1393 invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) 1394 } 1395 if s.SizeInMBs != nil && *s.SizeInMBs < 1 { 1396 invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) 1397 } 1398 1399 if invalidParams.Len() > 0 { 1400 return invalidParams 1401 } 1402 return nil 1403 } 1404 1405 // SetIntervalInSeconds sets the IntervalInSeconds field's value. 1406 func (s *AmazonopensearchserviceBufferingHints) SetIntervalInSeconds(v int64) *AmazonopensearchserviceBufferingHints { 1407 s.IntervalInSeconds = &v 1408 return s 1409 } 1410 1411 // SetSizeInMBs sets the SizeInMBs field's value. 1412 func (s *AmazonopensearchserviceBufferingHints) SetSizeInMBs(v int64) *AmazonopensearchserviceBufferingHints { 1413 s.SizeInMBs = &v 1414 return s 1415 } 1416 1417 type AmazonopensearchserviceDestinationConfiguration struct { 1418 _ struct{} `type:"structure"` 1419 1420 BufferingHints *AmazonopensearchserviceBufferingHints `type:"structure"` 1421 1422 // Describes the Amazon CloudWatch logging options for your delivery stream. 1423 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 1424 1425 ClusterEndpoint *string `min:"1" type:"string"` 1426 1427 DomainARN *string `min:"1" type:"string"` 1428 1429 // IndexName is a required field 1430 IndexName *string `min:"1" type:"string" required:"true"` 1431 1432 IndexRotationPeriod *string `type:"string" enum:"AmazonopensearchserviceIndexRotationPeriod"` 1433 1434 // Describes a data processing configuration. 1435 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 1436 1437 RetryOptions *AmazonopensearchserviceRetryOptions `type:"structure"` 1438 1439 // RoleARN is a required field 1440 RoleARN *string `min:"1" type:"string" required:"true"` 1441 1442 S3BackupMode *string `type:"string" enum:"AmazonopensearchserviceS3BackupMode"` 1443 1444 // Describes the configuration of a destination in Amazon S3. 1445 // 1446 // S3Configuration is a required field 1447 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 1448 1449 TypeName *string `type:"string"` 1450 1451 // The details of the VPC of the Amazon ES destination. 1452 VpcConfiguration *VpcConfiguration `type:"structure"` 1453 } 1454 1455 // String returns the string representation. 1456 // 1457 // API parameter values that are decorated as "sensitive" in the API will not 1458 // be included in the string output. The member name will be present, but the 1459 // value will be replaced with "sensitive". 1460 func (s AmazonopensearchserviceDestinationConfiguration) String() string { 1461 return awsutil.Prettify(s) 1462 } 1463 1464 // GoString returns the string representation. 1465 // 1466 // API parameter values that are decorated as "sensitive" in the API will not 1467 // be included in the string output. The member name will be present, but the 1468 // value will be replaced with "sensitive". 1469 func (s AmazonopensearchserviceDestinationConfiguration) GoString() string { 1470 return s.String() 1471 } 1472 1473 // Validate inspects the fields of the type to determine if they are valid. 1474 func (s *AmazonopensearchserviceDestinationConfiguration) Validate() error { 1475 invalidParams := request.ErrInvalidParams{Context: "AmazonopensearchserviceDestinationConfiguration"} 1476 if s.ClusterEndpoint != nil && len(*s.ClusterEndpoint) < 1 { 1477 invalidParams.Add(request.NewErrParamMinLen("ClusterEndpoint", 1)) 1478 } 1479 if s.DomainARN != nil && len(*s.DomainARN) < 1 { 1480 invalidParams.Add(request.NewErrParamMinLen("DomainARN", 1)) 1481 } 1482 if s.IndexName == nil { 1483 invalidParams.Add(request.NewErrParamRequired("IndexName")) 1484 } 1485 if s.IndexName != nil && len(*s.IndexName) < 1 { 1486 invalidParams.Add(request.NewErrParamMinLen("IndexName", 1)) 1487 } 1488 if s.RoleARN == nil { 1489 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 1490 } 1491 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 1492 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 1493 } 1494 if s.S3Configuration == nil { 1495 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 1496 } 1497 if s.BufferingHints != nil { 1498 if err := s.BufferingHints.Validate(); err != nil { 1499 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 1500 } 1501 } 1502 if s.ProcessingConfiguration != nil { 1503 if err := s.ProcessingConfiguration.Validate(); err != nil { 1504 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 1505 } 1506 } 1507 if s.S3Configuration != nil { 1508 if err := s.S3Configuration.Validate(); err != nil { 1509 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 1510 } 1511 } 1512 if s.VpcConfiguration != nil { 1513 if err := s.VpcConfiguration.Validate(); err != nil { 1514 invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) 1515 } 1516 } 1517 1518 if invalidParams.Len() > 0 { 1519 return invalidParams 1520 } 1521 return nil 1522 } 1523 1524 // SetBufferingHints sets the BufferingHints field's value. 1525 func (s *AmazonopensearchserviceDestinationConfiguration) SetBufferingHints(v *AmazonopensearchserviceBufferingHints) *AmazonopensearchserviceDestinationConfiguration { 1526 s.BufferingHints = v 1527 return s 1528 } 1529 1530 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 1531 func (s *AmazonopensearchserviceDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *AmazonopensearchserviceDestinationConfiguration { 1532 s.CloudWatchLoggingOptions = v 1533 return s 1534 } 1535 1536 // SetClusterEndpoint sets the ClusterEndpoint field's value. 1537 func (s *AmazonopensearchserviceDestinationConfiguration) SetClusterEndpoint(v string) *AmazonopensearchserviceDestinationConfiguration { 1538 s.ClusterEndpoint = &v 1539 return s 1540 } 1541 1542 // SetDomainARN sets the DomainARN field's value. 1543 func (s *AmazonopensearchserviceDestinationConfiguration) SetDomainARN(v string) *AmazonopensearchserviceDestinationConfiguration { 1544 s.DomainARN = &v 1545 return s 1546 } 1547 1548 // SetIndexName sets the IndexName field's value. 1549 func (s *AmazonopensearchserviceDestinationConfiguration) SetIndexName(v string) *AmazonopensearchserviceDestinationConfiguration { 1550 s.IndexName = &v 1551 return s 1552 } 1553 1554 // SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 1555 func (s *AmazonopensearchserviceDestinationConfiguration) SetIndexRotationPeriod(v string) *AmazonopensearchserviceDestinationConfiguration { 1556 s.IndexRotationPeriod = &v 1557 return s 1558 } 1559 1560 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 1561 func (s *AmazonopensearchserviceDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *AmazonopensearchserviceDestinationConfiguration { 1562 s.ProcessingConfiguration = v 1563 return s 1564 } 1565 1566 // SetRetryOptions sets the RetryOptions field's value. 1567 func (s *AmazonopensearchserviceDestinationConfiguration) SetRetryOptions(v *AmazonopensearchserviceRetryOptions) *AmazonopensearchserviceDestinationConfiguration { 1568 s.RetryOptions = v 1569 return s 1570 } 1571 1572 // SetRoleARN sets the RoleARN field's value. 1573 func (s *AmazonopensearchserviceDestinationConfiguration) SetRoleARN(v string) *AmazonopensearchserviceDestinationConfiguration { 1574 s.RoleARN = &v 1575 return s 1576 } 1577 1578 // SetS3BackupMode sets the S3BackupMode field's value. 1579 func (s *AmazonopensearchserviceDestinationConfiguration) SetS3BackupMode(v string) *AmazonopensearchserviceDestinationConfiguration { 1580 s.S3BackupMode = &v 1581 return s 1582 } 1583 1584 // SetS3Configuration sets the S3Configuration field's value. 1585 func (s *AmazonopensearchserviceDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *AmazonopensearchserviceDestinationConfiguration { 1586 s.S3Configuration = v 1587 return s 1588 } 1589 1590 // SetTypeName sets the TypeName field's value. 1591 func (s *AmazonopensearchserviceDestinationConfiguration) SetTypeName(v string) *AmazonopensearchserviceDestinationConfiguration { 1592 s.TypeName = &v 1593 return s 1594 } 1595 1596 // SetVpcConfiguration sets the VpcConfiguration field's value. 1597 func (s *AmazonopensearchserviceDestinationConfiguration) SetVpcConfiguration(v *VpcConfiguration) *AmazonopensearchserviceDestinationConfiguration { 1598 s.VpcConfiguration = v 1599 return s 1600 } 1601 1602 type AmazonopensearchserviceDestinationDescription struct { 1603 _ struct{} `type:"structure"` 1604 1605 BufferingHints *AmazonopensearchserviceBufferingHints `type:"structure"` 1606 1607 // Describes the Amazon CloudWatch logging options for your delivery stream. 1608 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 1609 1610 ClusterEndpoint *string `min:"1" type:"string"` 1611 1612 DomainARN *string `min:"1" type:"string"` 1613 1614 IndexName *string `min:"1" type:"string"` 1615 1616 IndexRotationPeriod *string `type:"string" enum:"AmazonopensearchserviceIndexRotationPeriod"` 1617 1618 // Describes a data processing configuration. 1619 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 1620 1621 RetryOptions *AmazonopensearchserviceRetryOptions `type:"structure"` 1622 1623 RoleARN *string `min:"1" type:"string"` 1624 1625 S3BackupMode *string `type:"string" enum:"AmazonopensearchserviceS3BackupMode"` 1626 1627 // Describes a destination in Amazon S3. 1628 S3DestinationDescription *S3DestinationDescription `type:"structure"` 1629 1630 TypeName *string `type:"string"` 1631 1632 // The details of the VPC of the Amazon ES destination. 1633 VpcConfigurationDescription *VpcConfigurationDescription `type:"structure"` 1634 } 1635 1636 // String returns the string representation. 1637 // 1638 // API parameter values that are decorated as "sensitive" in the API will not 1639 // be included in the string output. The member name will be present, but the 1640 // value will be replaced with "sensitive". 1641 func (s AmazonopensearchserviceDestinationDescription) String() string { 1642 return awsutil.Prettify(s) 1643 } 1644 1645 // GoString returns the string representation. 1646 // 1647 // API parameter values that are decorated as "sensitive" in the API will not 1648 // be included in the string output. The member name will be present, but the 1649 // value will be replaced with "sensitive". 1650 func (s AmazonopensearchserviceDestinationDescription) GoString() string { 1651 return s.String() 1652 } 1653 1654 // SetBufferingHints sets the BufferingHints field's value. 1655 func (s *AmazonopensearchserviceDestinationDescription) SetBufferingHints(v *AmazonopensearchserviceBufferingHints) *AmazonopensearchserviceDestinationDescription { 1656 s.BufferingHints = v 1657 return s 1658 } 1659 1660 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 1661 func (s *AmazonopensearchserviceDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *AmazonopensearchserviceDestinationDescription { 1662 s.CloudWatchLoggingOptions = v 1663 return s 1664 } 1665 1666 // SetClusterEndpoint sets the ClusterEndpoint field's value. 1667 func (s *AmazonopensearchserviceDestinationDescription) SetClusterEndpoint(v string) *AmazonopensearchserviceDestinationDescription { 1668 s.ClusterEndpoint = &v 1669 return s 1670 } 1671 1672 // SetDomainARN sets the DomainARN field's value. 1673 func (s *AmazonopensearchserviceDestinationDescription) SetDomainARN(v string) *AmazonopensearchserviceDestinationDescription { 1674 s.DomainARN = &v 1675 return s 1676 } 1677 1678 // SetIndexName sets the IndexName field's value. 1679 func (s *AmazonopensearchserviceDestinationDescription) SetIndexName(v string) *AmazonopensearchserviceDestinationDescription { 1680 s.IndexName = &v 1681 return s 1682 } 1683 1684 // SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 1685 func (s *AmazonopensearchserviceDestinationDescription) SetIndexRotationPeriod(v string) *AmazonopensearchserviceDestinationDescription { 1686 s.IndexRotationPeriod = &v 1687 return s 1688 } 1689 1690 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 1691 func (s *AmazonopensearchserviceDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *AmazonopensearchserviceDestinationDescription { 1692 s.ProcessingConfiguration = v 1693 return s 1694 } 1695 1696 // SetRetryOptions sets the RetryOptions field's value. 1697 func (s *AmazonopensearchserviceDestinationDescription) SetRetryOptions(v *AmazonopensearchserviceRetryOptions) *AmazonopensearchserviceDestinationDescription { 1698 s.RetryOptions = v 1699 return s 1700 } 1701 1702 // SetRoleARN sets the RoleARN field's value. 1703 func (s *AmazonopensearchserviceDestinationDescription) SetRoleARN(v string) *AmazonopensearchserviceDestinationDescription { 1704 s.RoleARN = &v 1705 return s 1706 } 1707 1708 // SetS3BackupMode sets the S3BackupMode field's value. 1709 func (s *AmazonopensearchserviceDestinationDescription) SetS3BackupMode(v string) *AmazonopensearchserviceDestinationDescription { 1710 s.S3BackupMode = &v 1711 return s 1712 } 1713 1714 // SetS3DestinationDescription sets the S3DestinationDescription field's value. 1715 func (s *AmazonopensearchserviceDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *AmazonopensearchserviceDestinationDescription { 1716 s.S3DestinationDescription = v 1717 return s 1718 } 1719 1720 // SetTypeName sets the TypeName field's value. 1721 func (s *AmazonopensearchserviceDestinationDescription) SetTypeName(v string) *AmazonopensearchserviceDestinationDescription { 1722 s.TypeName = &v 1723 return s 1724 } 1725 1726 // SetVpcConfigurationDescription sets the VpcConfigurationDescription field's value. 1727 func (s *AmazonopensearchserviceDestinationDescription) SetVpcConfigurationDescription(v *VpcConfigurationDescription) *AmazonopensearchserviceDestinationDescription { 1728 s.VpcConfigurationDescription = v 1729 return s 1730 } 1731 1732 type AmazonopensearchserviceDestinationUpdate struct { 1733 _ struct{} `type:"structure"` 1734 1735 BufferingHints *AmazonopensearchserviceBufferingHints `type:"structure"` 1736 1737 // Describes the Amazon CloudWatch logging options for your delivery stream. 1738 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 1739 1740 ClusterEndpoint *string `min:"1" type:"string"` 1741 1742 DomainARN *string `min:"1" type:"string"` 1743 1744 IndexName *string `min:"1" type:"string"` 1745 1746 IndexRotationPeriod *string `type:"string" enum:"AmazonopensearchserviceIndexRotationPeriod"` 1747 1748 // Describes a data processing configuration. 1749 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 1750 1751 RetryOptions *AmazonopensearchserviceRetryOptions `type:"structure"` 1752 1753 RoleARN *string `min:"1" type:"string"` 1754 1755 // Describes an update for a destination in Amazon S3. 1756 S3Update *S3DestinationUpdate `type:"structure"` 1757 1758 TypeName *string `type:"string"` 1759 } 1760 1761 // String returns the string representation. 1762 // 1763 // API parameter values that are decorated as "sensitive" in the API will not 1764 // be included in the string output. The member name will be present, but the 1765 // value will be replaced with "sensitive". 1766 func (s AmazonopensearchserviceDestinationUpdate) String() string { 1767 return awsutil.Prettify(s) 1768 } 1769 1770 // GoString returns the string representation. 1771 // 1772 // API parameter values that are decorated as "sensitive" in the API will not 1773 // be included in the string output. The member name will be present, but the 1774 // value will be replaced with "sensitive". 1775 func (s AmazonopensearchserviceDestinationUpdate) GoString() string { 1776 return s.String() 1777 } 1778 1779 // Validate inspects the fields of the type to determine if they are valid. 1780 func (s *AmazonopensearchserviceDestinationUpdate) Validate() error { 1781 invalidParams := request.ErrInvalidParams{Context: "AmazonopensearchserviceDestinationUpdate"} 1782 if s.ClusterEndpoint != nil && len(*s.ClusterEndpoint) < 1 { 1783 invalidParams.Add(request.NewErrParamMinLen("ClusterEndpoint", 1)) 1784 } 1785 if s.DomainARN != nil && len(*s.DomainARN) < 1 { 1786 invalidParams.Add(request.NewErrParamMinLen("DomainARN", 1)) 1787 } 1788 if s.IndexName != nil && len(*s.IndexName) < 1 { 1789 invalidParams.Add(request.NewErrParamMinLen("IndexName", 1)) 1790 } 1791 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 1792 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 1793 } 1794 if s.BufferingHints != nil { 1795 if err := s.BufferingHints.Validate(); err != nil { 1796 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 1797 } 1798 } 1799 if s.ProcessingConfiguration != nil { 1800 if err := s.ProcessingConfiguration.Validate(); err != nil { 1801 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 1802 } 1803 } 1804 if s.S3Update != nil { 1805 if err := s.S3Update.Validate(); err != nil { 1806 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 1807 } 1808 } 1809 1810 if invalidParams.Len() > 0 { 1811 return invalidParams 1812 } 1813 return nil 1814 } 1815 1816 // SetBufferingHints sets the BufferingHints field's value. 1817 func (s *AmazonopensearchserviceDestinationUpdate) SetBufferingHints(v *AmazonopensearchserviceBufferingHints) *AmazonopensearchserviceDestinationUpdate { 1818 s.BufferingHints = v 1819 return s 1820 } 1821 1822 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 1823 func (s *AmazonopensearchserviceDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *AmazonopensearchserviceDestinationUpdate { 1824 s.CloudWatchLoggingOptions = v 1825 return s 1826 } 1827 1828 // SetClusterEndpoint sets the ClusterEndpoint field's value. 1829 func (s *AmazonopensearchserviceDestinationUpdate) SetClusterEndpoint(v string) *AmazonopensearchserviceDestinationUpdate { 1830 s.ClusterEndpoint = &v 1831 return s 1832 } 1833 1834 // SetDomainARN sets the DomainARN field's value. 1835 func (s *AmazonopensearchserviceDestinationUpdate) SetDomainARN(v string) *AmazonopensearchserviceDestinationUpdate { 1836 s.DomainARN = &v 1837 return s 1838 } 1839 1840 // SetIndexName sets the IndexName field's value. 1841 func (s *AmazonopensearchserviceDestinationUpdate) SetIndexName(v string) *AmazonopensearchserviceDestinationUpdate { 1842 s.IndexName = &v 1843 return s 1844 } 1845 1846 // SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 1847 func (s *AmazonopensearchserviceDestinationUpdate) SetIndexRotationPeriod(v string) *AmazonopensearchserviceDestinationUpdate { 1848 s.IndexRotationPeriod = &v 1849 return s 1850 } 1851 1852 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 1853 func (s *AmazonopensearchserviceDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *AmazonopensearchserviceDestinationUpdate { 1854 s.ProcessingConfiguration = v 1855 return s 1856 } 1857 1858 // SetRetryOptions sets the RetryOptions field's value. 1859 func (s *AmazonopensearchserviceDestinationUpdate) SetRetryOptions(v *AmazonopensearchserviceRetryOptions) *AmazonopensearchserviceDestinationUpdate { 1860 s.RetryOptions = v 1861 return s 1862 } 1863 1864 // SetRoleARN sets the RoleARN field's value. 1865 func (s *AmazonopensearchserviceDestinationUpdate) SetRoleARN(v string) *AmazonopensearchserviceDestinationUpdate { 1866 s.RoleARN = &v 1867 return s 1868 } 1869 1870 // SetS3Update sets the S3Update field's value. 1871 func (s *AmazonopensearchserviceDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *AmazonopensearchserviceDestinationUpdate { 1872 s.S3Update = v 1873 return s 1874 } 1875 1876 // SetTypeName sets the TypeName field's value. 1877 func (s *AmazonopensearchserviceDestinationUpdate) SetTypeName(v string) *AmazonopensearchserviceDestinationUpdate { 1878 s.TypeName = &v 1879 return s 1880 } 1881 1882 type AmazonopensearchserviceRetryOptions struct { 1883 _ struct{} `type:"structure"` 1884 1885 DurationInSeconds *int64 `type:"integer"` 1886 } 1887 1888 // String returns the string representation. 1889 // 1890 // API parameter values that are decorated as "sensitive" in the API will not 1891 // be included in the string output. The member name will be present, but the 1892 // value will be replaced with "sensitive". 1893 func (s AmazonopensearchserviceRetryOptions) String() string { 1894 return awsutil.Prettify(s) 1895 } 1896 1897 // GoString returns the string representation. 1898 // 1899 // API parameter values that are decorated as "sensitive" in the API will not 1900 // be included in the string output. The member name will be present, but the 1901 // value will be replaced with "sensitive". 1902 func (s AmazonopensearchserviceRetryOptions) GoString() string { 1903 return s.String() 1904 } 1905 1906 // SetDurationInSeconds sets the DurationInSeconds field's value. 1907 func (s *AmazonopensearchserviceRetryOptions) SetDurationInSeconds(v int64) *AmazonopensearchserviceRetryOptions { 1908 s.DurationInSeconds = &v 1909 return s 1910 } 1911 1912 // Describes hints for the buffering to perform before delivering data to the 1913 // destination. These options are treated as hints, and therefore Kinesis Data 1914 // Firehose might choose to use different values when it is optimal. The SizeInMBs 1915 // and IntervalInSeconds parameters are optional. However, if specify a value 1916 // for one of them, you must also provide a value for the other. 1917 type BufferingHints struct { 1918 _ struct{} `type:"structure"` 1919 1920 // Buffer incoming data for the specified period of time, in seconds, before 1921 // delivering it to the destination. The default value is 300. This parameter 1922 // is optional but if you specify a value for it, you must also specify a value 1923 // for SizeInMBs, and vice versa. 1924 IntervalInSeconds *int64 `min:"60" type:"integer"` 1925 1926 // Buffer incoming data to the specified size, in MiBs, before delivering it 1927 // to the destination. The default value is 5. This parameter is optional but 1928 // if you specify a value for it, you must also specify a value for IntervalInSeconds, 1929 // and vice versa. 1930 // 1931 // We recommend setting this parameter to a value greater than the amount of 1932 // data you typically ingest into the delivery stream in 10 seconds. For example, 1933 // if you typically ingest data at 1 MiB/sec, the value should be 10 MiB or 1934 // higher. 1935 SizeInMBs *int64 `min:"1" type:"integer"` 1936 } 1937 1938 // String returns the string representation. 1939 // 1940 // API parameter values that are decorated as "sensitive" in the API will not 1941 // be included in the string output. The member name will be present, but the 1942 // value will be replaced with "sensitive". 1943 func (s BufferingHints) String() string { 1944 return awsutil.Prettify(s) 1945 } 1946 1947 // GoString returns the string representation. 1948 // 1949 // API parameter values that are decorated as "sensitive" in the API will not 1950 // be included in the string output. The member name will be present, but the 1951 // value will be replaced with "sensitive". 1952 func (s BufferingHints) GoString() string { 1953 return s.String() 1954 } 1955 1956 // Validate inspects the fields of the type to determine if they are valid. 1957 func (s *BufferingHints) Validate() error { 1958 invalidParams := request.ErrInvalidParams{Context: "BufferingHints"} 1959 if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { 1960 invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) 1961 } 1962 if s.SizeInMBs != nil && *s.SizeInMBs < 1 { 1963 invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) 1964 } 1965 1966 if invalidParams.Len() > 0 { 1967 return invalidParams 1968 } 1969 return nil 1970 } 1971 1972 // SetIntervalInSeconds sets the IntervalInSeconds field's value. 1973 func (s *BufferingHints) SetIntervalInSeconds(v int64) *BufferingHints { 1974 s.IntervalInSeconds = &v 1975 return s 1976 } 1977 1978 // SetSizeInMBs sets the SizeInMBs field's value. 1979 func (s *BufferingHints) SetSizeInMBs(v int64) *BufferingHints { 1980 s.SizeInMBs = &v 1981 return s 1982 } 1983 1984 // Describes the Amazon CloudWatch logging options for your delivery stream. 1985 type CloudWatchLoggingOptions struct { 1986 _ struct{} `type:"structure"` 1987 1988 // Enables or disables CloudWatch logging. 1989 Enabled *bool `type:"boolean"` 1990 1991 // The CloudWatch group name for logging. This value is required if CloudWatch 1992 // logging is enabled. 1993 LogGroupName *string `type:"string"` 1994 1995 // The CloudWatch log stream name for logging. This value is required if CloudWatch 1996 // logging is enabled. 1997 LogStreamName *string `type:"string"` 1998 } 1999 2000 // String returns the string representation. 2001 // 2002 // API parameter values that are decorated as "sensitive" in the API will not 2003 // be included in the string output. The member name will be present, but the 2004 // value will be replaced with "sensitive". 2005 func (s CloudWatchLoggingOptions) String() string { 2006 return awsutil.Prettify(s) 2007 } 2008 2009 // GoString returns the string representation. 2010 // 2011 // API parameter values that are decorated as "sensitive" in the API will not 2012 // be included in the string output. The member name will be present, but the 2013 // value will be replaced with "sensitive". 2014 func (s CloudWatchLoggingOptions) GoString() string { 2015 return s.String() 2016 } 2017 2018 // SetEnabled sets the Enabled field's value. 2019 func (s *CloudWatchLoggingOptions) SetEnabled(v bool) *CloudWatchLoggingOptions { 2020 s.Enabled = &v 2021 return s 2022 } 2023 2024 // SetLogGroupName sets the LogGroupName field's value. 2025 func (s *CloudWatchLoggingOptions) SetLogGroupName(v string) *CloudWatchLoggingOptions { 2026 s.LogGroupName = &v 2027 return s 2028 } 2029 2030 // SetLogStreamName sets the LogStreamName field's value. 2031 func (s *CloudWatchLoggingOptions) SetLogStreamName(v string) *CloudWatchLoggingOptions { 2032 s.LogStreamName = &v 2033 return s 2034 } 2035 2036 // Another modification has already happened. Fetch VersionId again and use 2037 // it to update the destination. 2038 type ConcurrentModificationException struct { 2039 _ struct{} `type:"structure"` 2040 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2041 2042 // A message that provides information about the error. 2043 Message_ *string `locationName:"message" type:"string"` 2044 } 2045 2046 // String returns the string representation. 2047 // 2048 // API parameter values that are decorated as "sensitive" in the API will not 2049 // be included in the string output. The member name will be present, but the 2050 // value will be replaced with "sensitive". 2051 func (s ConcurrentModificationException) String() string { 2052 return awsutil.Prettify(s) 2053 } 2054 2055 // GoString returns the string representation. 2056 // 2057 // API parameter values that are decorated as "sensitive" in the API will not 2058 // be included in the string output. The member name will be present, but the 2059 // value will be replaced with "sensitive". 2060 func (s ConcurrentModificationException) GoString() string { 2061 return s.String() 2062 } 2063 2064 func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { 2065 return &ConcurrentModificationException{ 2066 RespMetadata: v, 2067 } 2068 } 2069 2070 // Code returns the exception type name. 2071 func (s *ConcurrentModificationException) Code() string { 2072 return "ConcurrentModificationException" 2073 } 2074 2075 // Message returns the exception's message. 2076 func (s *ConcurrentModificationException) Message() string { 2077 if s.Message_ != nil { 2078 return *s.Message_ 2079 } 2080 return "" 2081 } 2082 2083 // OrigErr always returns nil, satisfies awserr.Error interface. 2084 func (s *ConcurrentModificationException) OrigErr() error { 2085 return nil 2086 } 2087 2088 func (s *ConcurrentModificationException) Error() string { 2089 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2090 } 2091 2092 // Status code returns the HTTP status code for the request's response error. 2093 func (s *ConcurrentModificationException) StatusCode() int { 2094 return s.RespMetadata.StatusCode 2095 } 2096 2097 // RequestID returns the service's response RequestID for request. 2098 func (s *ConcurrentModificationException) RequestID() string { 2099 return s.RespMetadata.RequestID 2100 } 2101 2102 // Describes a COPY command for Amazon Redshift. 2103 type CopyCommand struct { 2104 _ struct{} `type:"structure"` 2105 2106 // Optional parameters to use with the Amazon Redshift COPY command. For more 2107 // information, see the "Optional Parameters" section of Amazon Redshift COPY 2108 // command (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html). Some 2109 // possible examples that would apply to Kinesis Data Firehose are as follows: 2110 // 2111 // delimiter '\t' lzop; - fields are delimited with "\t" (TAB character) and 2112 // compressed using lzop. 2113 // 2114 // delimiter '|' - fields are delimited with "|" (this is the default delimiter). 2115 // 2116 // delimiter '|' escape - the delimiter should be escaped. 2117 // 2118 // fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' 2119 // - fields are fixed width in the source, with each width specified after every 2120 // column in the table. 2121 // 2122 // JSON 's3://mybucket/jsonpaths.txt' - data is in JSON format, and the path 2123 // specified is the format of the data. 2124 // 2125 // For more examples, see Amazon Redshift COPY command examples (https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html). 2126 CopyOptions *string `type:"string"` 2127 2128 // A comma-separated list of column names. 2129 DataTableColumns *string `type:"string"` 2130 2131 // The name of the target table. The table must already exist in the database. 2132 // 2133 // DataTableName is a required field 2134 DataTableName *string `min:"1" type:"string" required:"true"` 2135 } 2136 2137 // String returns the string representation. 2138 // 2139 // API parameter values that are decorated as "sensitive" in the API will not 2140 // be included in the string output. The member name will be present, but the 2141 // value will be replaced with "sensitive". 2142 func (s CopyCommand) String() string { 2143 return awsutil.Prettify(s) 2144 } 2145 2146 // GoString returns the string representation. 2147 // 2148 // API parameter values that are decorated as "sensitive" in the API will not 2149 // be included in the string output. The member name will be present, but the 2150 // value will be replaced with "sensitive". 2151 func (s CopyCommand) GoString() string { 2152 return s.String() 2153 } 2154 2155 // Validate inspects the fields of the type to determine if they are valid. 2156 func (s *CopyCommand) Validate() error { 2157 invalidParams := request.ErrInvalidParams{Context: "CopyCommand"} 2158 if s.DataTableName == nil { 2159 invalidParams.Add(request.NewErrParamRequired("DataTableName")) 2160 } 2161 if s.DataTableName != nil && len(*s.DataTableName) < 1 { 2162 invalidParams.Add(request.NewErrParamMinLen("DataTableName", 1)) 2163 } 2164 2165 if invalidParams.Len() > 0 { 2166 return invalidParams 2167 } 2168 return nil 2169 } 2170 2171 // SetCopyOptions sets the CopyOptions field's value. 2172 func (s *CopyCommand) SetCopyOptions(v string) *CopyCommand { 2173 s.CopyOptions = &v 2174 return s 2175 } 2176 2177 // SetDataTableColumns sets the DataTableColumns field's value. 2178 func (s *CopyCommand) SetDataTableColumns(v string) *CopyCommand { 2179 s.DataTableColumns = &v 2180 return s 2181 } 2182 2183 // SetDataTableName sets the DataTableName field's value. 2184 func (s *CopyCommand) SetDataTableName(v string) *CopyCommand { 2185 s.DataTableName = &v 2186 return s 2187 } 2188 2189 type CreateDeliveryStreamInput struct { 2190 _ struct{} `type:"structure"` 2191 2192 AmazonopensearchserviceDestinationConfiguration *AmazonopensearchserviceDestinationConfiguration `type:"structure"` 2193 2194 // Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 2195 // for Server-Side Encryption (SSE). 2196 DeliveryStreamEncryptionConfigurationInput *DeliveryStreamEncryptionConfigurationInput `type:"structure"` 2197 2198 // The name of the delivery stream. This name must be unique per AWS account 2199 // in the same AWS Region. If the delivery streams are in different accounts 2200 // or different Regions, you can have multiple delivery streams with the same 2201 // name. 2202 // 2203 // DeliveryStreamName is a required field 2204 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 2205 2206 // The delivery stream type. This parameter can be one of the following values: 2207 // 2208 // * DirectPut: Provider applications access the delivery stream directly. 2209 // 2210 // * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream 2211 // as a source. 2212 DeliveryStreamType *string `type:"string" enum:"DeliveryStreamType"` 2213 2214 // The destination in Amazon ES. You can specify only one destination. 2215 ElasticsearchDestinationConfiguration *ElasticsearchDestinationConfiguration `type:"structure"` 2216 2217 // The destination in Amazon S3. You can specify only one destination. 2218 ExtendedS3DestinationConfiguration *ExtendedS3DestinationConfiguration `type:"structure"` 2219 2220 // Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint 2221 // destination. You can specify only one destination. 2222 HttpEndpointDestinationConfiguration *HttpEndpointDestinationConfiguration `type:"structure"` 2223 2224 // When a Kinesis data stream is used as the source for the delivery stream, 2225 // a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon 2226 // Resource Name (ARN) and the role ARN for the source stream. 2227 KinesisStreamSourceConfiguration *KinesisStreamSourceConfiguration `type:"structure"` 2228 2229 // The destination in Amazon Redshift. You can specify only one destination. 2230 RedshiftDestinationConfiguration *RedshiftDestinationConfiguration `type:"structure"` 2231 2232 // [Deprecated] The destination in Amazon S3. You can specify only one destination. 2233 // 2234 // Deprecated: S3DestinationConfiguration has been deprecated 2235 S3DestinationConfiguration *S3DestinationConfiguration `deprecated:"true" type:"structure"` 2236 2237 // The destination in Splunk. You can specify only one destination. 2238 SplunkDestinationConfiguration *SplunkDestinationConfiguration `type:"structure"` 2239 2240 // A set of tags to assign to the delivery stream. A tag is a key-value pair 2241 // that you can define and assign to AWS resources. Tags are metadata. For example, 2242 // you can add friendly names and descriptions or other types of information 2243 // that can help you distinguish the delivery stream. For more information about 2244 // tags, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) 2245 // in the AWS Billing and Cost Management User Guide. 2246 // 2247 // You can specify up to 50 tags when creating a delivery stream. 2248 Tags []*Tag `min:"1" type:"list"` 2249 } 2250 2251 // String returns the string representation. 2252 // 2253 // API parameter values that are decorated as "sensitive" in the API will not 2254 // be included in the string output. The member name will be present, but the 2255 // value will be replaced with "sensitive". 2256 func (s CreateDeliveryStreamInput) String() string { 2257 return awsutil.Prettify(s) 2258 } 2259 2260 // GoString returns the string representation. 2261 // 2262 // API parameter values that are decorated as "sensitive" in the API will not 2263 // be included in the string output. The member name will be present, but the 2264 // value will be replaced with "sensitive". 2265 func (s CreateDeliveryStreamInput) GoString() string { 2266 return s.String() 2267 } 2268 2269 // Validate inspects the fields of the type to determine if they are valid. 2270 func (s *CreateDeliveryStreamInput) Validate() error { 2271 invalidParams := request.ErrInvalidParams{Context: "CreateDeliveryStreamInput"} 2272 if s.DeliveryStreamName == nil { 2273 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 2274 } 2275 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 2276 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 2277 } 2278 if s.Tags != nil && len(s.Tags) < 1 { 2279 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 2280 } 2281 if s.AmazonopensearchserviceDestinationConfiguration != nil { 2282 if err := s.AmazonopensearchserviceDestinationConfiguration.Validate(); err != nil { 2283 invalidParams.AddNested("AmazonopensearchserviceDestinationConfiguration", err.(request.ErrInvalidParams)) 2284 } 2285 } 2286 if s.DeliveryStreamEncryptionConfigurationInput != nil { 2287 if err := s.DeliveryStreamEncryptionConfigurationInput.Validate(); err != nil { 2288 invalidParams.AddNested("DeliveryStreamEncryptionConfigurationInput", err.(request.ErrInvalidParams)) 2289 } 2290 } 2291 if s.ElasticsearchDestinationConfiguration != nil { 2292 if err := s.ElasticsearchDestinationConfiguration.Validate(); err != nil { 2293 invalidParams.AddNested("ElasticsearchDestinationConfiguration", err.(request.ErrInvalidParams)) 2294 } 2295 } 2296 if s.ExtendedS3DestinationConfiguration != nil { 2297 if err := s.ExtendedS3DestinationConfiguration.Validate(); err != nil { 2298 invalidParams.AddNested("ExtendedS3DestinationConfiguration", err.(request.ErrInvalidParams)) 2299 } 2300 } 2301 if s.HttpEndpointDestinationConfiguration != nil { 2302 if err := s.HttpEndpointDestinationConfiguration.Validate(); err != nil { 2303 invalidParams.AddNested("HttpEndpointDestinationConfiguration", err.(request.ErrInvalidParams)) 2304 } 2305 } 2306 if s.KinesisStreamSourceConfiguration != nil { 2307 if err := s.KinesisStreamSourceConfiguration.Validate(); err != nil { 2308 invalidParams.AddNested("KinesisStreamSourceConfiguration", err.(request.ErrInvalidParams)) 2309 } 2310 } 2311 if s.RedshiftDestinationConfiguration != nil { 2312 if err := s.RedshiftDestinationConfiguration.Validate(); err != nil { 2313 invalidParams.AddNested("RedshiftDestinationConfiguration", err.(request.ErrInvalidParams)) 2314 } 2315 } 2316 if s.S3DestinationConfiguration != nil { 2317 if err := s.S3DestinationConfiguration.Validate(); err != nil { 2318 invalidParams.AddNested("S3DestinationConfiguration", err.(request.ErrInvalidParams)) 2319 } 2320 } 2321 if s.SplunkDestinationConfiguration != nil { 2322 if err := s.SplunkDestinationConfiguration.Validate(); err != nil { 2323 invalidParams.AddNested("SplunkDestinationConfiguration", err.(request.ErrInvalidParams)) 2324 } 2325 } 2326 if s.Tags != nil { 2327 for i, v := range s.Tags { 2328 if v == nil { 2329 continue 2330 } 2331 if err := v.Validate(); err != nil { 2332 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 2333 } 2334 } 2335 } 2336 2337 if invalidParams.Len() > 0 { 2338 return invalidParams 2339 } 2340 return nil 2341 } 2342 2343 // SetAmazonopensearchserviceDestinationConfiguration sets the AmazonopensearchserviceDestinationConfiguration field's value. 2344 func (s *CreateDeliveryStreamInput) SetAmazonopensearchserviceDestinationConfiguration(v *AmazonopensearchserviceDestinationConfiguration) *CreateDeliveryStreamInput { 2345 s.AmazonopensearchserviceDestinationConfiguration = v 2346 return s 2347 } 2348 2349 // SetDeliveryStreamEncryptionConfigurationInput sets the DeliveryStreamEncryptionConfigurationInput field's value. 2350 func (s *CreateDeliveryStreamInput) SetDeliveryStreamEncryptionConfigurationInput(v *DeliveryStreamEncryptionConfigurationInput) *CreateDeliveryStreamInput { 2351 s.DeliveryStreamEncryptionConfigurationInput = v 2352 return s 2353 } 2354 2355 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 2356 func (s *CreateDeliveryStreamInput) SetDeliveryStreamName(v string) *CreateDeliveryStreamInput { 2357 s.DeliveryStreamName = &v 2358 return s 2359 } 2360 2361 // SetDeliveryStreamType sets the DeliveryStreamType field's value. 2362 func (s *CreateDeliveryStreamInput) SetDeliveryStreamType(v string) *CreateDeliveryStreamInput { 2363 s.DeliveryStreamType = &v 2364 return s 2365 } 2366 2367 // SetElasticsearchDestinationConfiguration sets the ElasticsearchDestinationConfiguration field's value. 2368 func (s *CreateDeliveryStreamInput) SetElasticsearchDestinationConfiguration(v *ElasticsearchDestinationConfiguration) *CreateDeliveryStreamInput { 2369 s.ElasticsearchDestinationConfiguration = v 2370 return s 2371 } 2372 2373 // SetExtendedS3DestinationConfiguration sets the ExtendedS3DestinationConfiguration field's value. 2374 func (s *CreateDeliveryStreamInput) SetExtendedS3DestinationConfiguration(v *ExtendedS3DestinationConfiguration) *CreateDeliveryStreamInput { 2375 s.ExtendedS3DestinationConfiguration = v 2376 return s 2377 } 2378 2379 // SetHttpEndpointDestinationConfiguration sets the HttpEndpointDestinationConfiguration field's value. 2380 func (s *CreateDeliveryStreamInput) SetHttpEndpointDestinationConfiguration(v *HttpEndpointDestinationConfiguration) *CreateDeliveryStreamInput { 2381 s.HttpEndpointDestinationConfiguration = v 2382 return s 2383 } 2384 2385 // SetKinesisStreamSourceConfiguration sets the KinesisStreamSourceConfiguration field's value. 2386 func (s *CreateDeliveryStreamInput) SetKinesisStreamSourceConfiguration(v *KinesisStreamSourceConfiguration) *CreateDeliveryStreamInput { 2387 s.KinesisStreamSourceConfiguration = v 2388 return s 2389 } 2390 2391 // SetRedshiftDestinationConfiguration sets the RedshiftDestinationConfiguration field's value. 2392 func (s *CreateDeliveryStreamInput) SetRedshiftDestinationConfiguration(v *RedshiftDestinationConfiguration) *CreateDeliveryStreamInput { 2393 s.RedshiftDestinationConfiguration = v 2394 return s 2395 } 2396 2397 // SetS3DestinationConfiguration sets the S3DestinationConfiguration field's value. 2398 func (s *CreateDeliveryStreamInput) SetS3DestinationConfiguration(v *S3DestinationConfiguration) *CreateDeliveryStreamInput { 2399 s.S3DestinationConfiguration = v 2400 return s 2401 } 2402 2403 // SetSplunkDestinationConfiguration sets the SplunkDestinationConfiguration field's value. 2404 func (s *CreateDeliveryStreamInput) SetSplunkDestinationConfiguration(v *SplunkDestinationConfiguration) *CreateDeliveryStreamInput { 2405 s.SplunkDestinationConfiguration = v 2406 return s 2407 } 2408 2409 // SetTags sets the Tags field's value. 2410 func (s *CreateDeliveryStreamInput) SetTags(v []*Tag) *CreateDeliveryStreamInput { 2411 s.Tags = v 2412 return s 2413 } 2414 2415 type CreateDeliveryStreamOutput struct { 2416 _ struct{} `type:"structure"` 2417 2418 // The ARN of the delivery stream. 2419 DeliveryStreamARN *string `min:"1" type:"string"` 2420 } 2421 2422 // String returns the string representation. 2423 // 2424 // API parameter values that are decorated as "sensitive" in the API will not 2425 // be included in the string output. The member name will be present, but the 2426 // value will be replaced with "sensitive". 2427 func (s CreateDeliveryStreamOutput) String() string { 2428 return awsutil.Prettify(s) 2429 } 2430 2431 // GoString returns the string representation. 2432 // 2433 // API parameter values that are decorated as "sensitive" in the API will not 2434 // be included in the string output. The member name will be present, but the 2435 // value will be replaced with "sensitive". 2436 func (s CreateDeliveryStreamOutput) GoString() string { 2437 return s.String() 2438 } 2439 2440 // SetDeliveryStreamARN sets the DeliveryStreamARN field's value. 2441 func (s *CreateDeliveryStreamOutput) SetDeliveryStreamARN(v string) *CreateDeliveryStreamOutput { 2442 s.DeliveryStreamARN = &v 2443 return s 2444 } 2445 2446 // Specifies that you want Kinesis Data Firehose to convert data from the JSON 2447 // format to the Parquet or ORC format before writing it to Amazon S3. Kinesis 2448 // Data Firehose uses the serializer and deserializer that you specify, in addition 2449 // to the column information from the AWS Glue table, to deserialize your input 2450 // data from JSON and then serialize it to the Parquet or ORC format. For more 2451 // information, see Kinesis Data Firehose Record Format Conversion (https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html). 2452 type DataFormatConversionConfiguration struct { 2453 _ struct{} `type:"structure"` 2454 2455 // Defaults to true. Set it to false if you want to disable format conversion 2456 // while preserving the configuration details. 2457 Enabled *bool `type:"boolean"` 2458 2459 // Specifies the deserializer that you want Kinesis Data Firehose to use to 2460 // convert the format of your data from JSON. This parameter is required if 2461 // Enabled is set to true. 2462 InputFormatConfiguration *InputFormatConfiguration `type:"structure"` 2463 2464 // Specifies the serializer that you want Kinesis Data Firehose to use to convert 2465 // the format of your data to the Parquet or ORC format. This parameter is required 2466 // if Enabled is set to true. 2467 OutputFormatConfiguration *OutputFormatConfiguration `type:"structure"` 2468 2469 // Specifies the AWS Glue Data Catalog table that contains the column information. 2470 // This parameter is required if Enabled is set to true. 2471 SchemaConfiguration *SchemaConfiguration `type:"structure"` 2472 } 2473 2474 // String returns the string representation. 2475 // 2476 // API parameter values that are decorated as "sensitive" in the API will not 2477 // be included in the string output. The member name will be present, but the 2478 // value will be replaced with "sensitive". 2479 func (s DataFormatConversionConfiguration) String() string { 2480 return awsutil.Prettify(s) 2481 } 2482 2483 // GoString returns the string representation. 2484 // 2485 // API parameter values that are decorated as "sensitive" in the API will not 2486 // be included in the string output. The member name will be present, but the 2487 // value will be replaced with "sensitive". 2488 func (s DataFormatConversionConfiguration) GoString() string { 2489 return s.String() 2490 } 2491 2492 // Validate inspects the fields of the type to determine if they are valid. 2493 func (s *DataFormatConversionConfiguration) Validate() error { 2494 invalidParams := request.ErrInvalidParams{Context: "DataFormatConversionConfiguration"} 2495 if s.OutputFormatConfiguration != nil { 2496 if err := s.OutputFormatConfiguration.Validate(); err != nil { 2497 invalidParams.AddNested("OutputFormatConfiguration", err.(request.ErrInvalidParams)) 2498 } 2499 } 2500 if s.SchemaConfiguration != nil { 2501 if err := s.SchemaConfiguration.Validate(); err != nil { 2502 invalidParams.AddNested("SchemaConfiguration", err.(request.ErrInvalidParams)) 2503 } 2504 } 2505 2506 if invalidParams.Len() > 0 { 2507 return invalidParams 2508 } 2509 return nil 2510 } 2511 2512 // SetEnabled sets the Enabled field's value. 2513 func (s *DataFormatConversionConfiguration) SetEnabled(v bool) *DataFormatConversionConfiguration { 2514 s.Enabled = &v 2515 return s 2516 } 2517 2518 // SetInputFormatConfiguration sets the InputFormatConfiguration field's value. 2519 func (s *DataFormatConversionConfiguration) SetInputFormatConfiguration(v *InputFormatConfiguration) *DataFormatConversionConfiguration { 2520 s.InputFormatConfiguration = v 2521 return s 2522 } 2523 2524 // SetOutputFormatConfiguration sets the OutputFormatConfiguration field's value. 2525 func (s *DataFormatConversionConfiguration) SetOutputFormatConfiguration(v *OutputFormatConfiguration) *DataFormatConversionConfiguration { 2526 s.OutputFormatConfiguration = v 2527 return s 2528 } 2529 2530 // SetSchemaConfiguration sets the SchemaConfiguration field's value. 2531 func (s *DataFormatConversionConfiguration) SetSchemaConfiguration(v *SchemaConfiguration) *DataFormatConversionConfiguration { 2532 s.SchemaConfiguration = v 2533 return s 2534 } 2535 2536 type DeleteDeliveryStreamInput struct { 2537 _ struct{} `type:"structure"` 2538 2539 // Set this to true if you want to delete the delivery stream even if Kinesis 2540 // Data Firehose is unable to retire the grant for the CMK. Kinesis Data Firehose 2541 // might be unable to retire the grant due to a customer error, such as when 2542 // the CMK or the grant are in an invalid state. If you force deletion, you 2543 // can then use the RevokeGrant (https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html) 2544 // operation to revoke the grant you gave to Kinesis Data Firehose. If a failure 2545 // to retire the grant happens due to an AWS KMS issue, Kinesis Data Firehose 2546 // keeps retrying the delete operation. 2547 // 2548 // The default value is false. 2549 AllowForceDelete *bool `type:"boolean"` 2550 2551 // The name of the delivery stream. 2552 // 2553 // DeliveryStreamName is a required field 2554 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 2555 } 2556 2557 // String returns the string representation. 2558 // 2559 // API parameter values that are decorated as "sensitive" in the API will not 2560 // be included in the string output. The member name will be present, but the 2561 // value will be replaced with "sensitive". 2562 func (s DeleteDeliveryStreamInput) String() string { 2563 return awsutil.Prettify(s) 2564 } 2565 2566 // GoString returns the string representation. 2567 // 2568 // API parameter values that are decorated as "sensitive" in the API will not 2569 // be included in the string output. The member name will be present, but the 2570 // value will be replaced with "sensitive". 2571 func (s DeleteDeliveryStreamInput) GoString() string { 2572 return s.String() 2573 } 2574 2575 // Validate inspects the fields of the type to determine if they are valid. 2576 func (s *DeleteDeliveryStreamInput) Validate() error { 2577 invalidParams := request.ErrInvalidParams{Context: "DeleteDeliveryStreamInput"} 2578 if s.DeliveryStreamName == nil { 2579 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 2580 } 2581 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 2582 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 2583 } 2584 2585 if invalidParams.Len() > 0 { 2586 return invalidParams 2587 } 2588 return nil 2589 } 2590 2591 // SetAllowForceDelete sets the AllowForceDelete field's value. 2592 func (s *DeleteDeliveryStreamInput) SetAllowForceDelete(v bool) *DeleteDeliveryStreamInput { 2593 s.AllowForceDelete = &v 2594 return s 2595 } 2596 2597 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 2598 func (s *DeleteDeliveryStreamInput) SetDeliveryStreamName(v string) *DeleteDeliveryStreamInput { 2599 s.DeliveryStreamName = &v 2600 return s 2601 } 2602 2603 type DeleteDeliveryStreamOutput struct { 2604 _ struct{} `type:"structure"` 2605 } 2606 2607 // String returns the string representation. 2608 // 2609 // API parameter values that are decorated as "sensitive" in the API will not 2610 // be included in the string output. The member name will be present, but the 2611 // value will be replaced with "sensitive". 2612 func (s DeleteDeliveryStreamOutput) String() string { 2613 return awsutil.Prettify(s) 2614 } 2615 2616 // GoString returns the string representation. 2617 // 2618 // API parameter values that are decorated as "sensitive" in the API will not 2619 // be included in the string output. The member name will be present, but the 2620 // value will be replaced with "sensitive". 2621 func (s DeleteDeliveryStreamOutput) GoString() string { 2622 return s.String() 2623 } 2624 2625 // Contains information about a delivery stream. 2626 type DeliveryStreamDescription struct { 2627 _ struct{} `type:"structure"` 2628 2629 // The date and time that the delivery stream was created. 2630 CreateTimestamp *time.Time `type:"timestamp"` 2631 2632 // The Amazon Resource Name (ARN) of the delivery stream. For more information, 2633 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 2634 // 2635 // DeliveryStreamARN is a required field 2636 DeliveryStreamARN *string `min:"1" type:"string" required:"true"` 2637 2638 // Indicates the server-side encryption (SSE) status for the delivery stream. 2639 DeliveryStreamEncryptionConfiguration *DeliveryStreamEncryptionConfiguration `type:"structure"` 2640 2641 // The name of the delivery stream. 2642 // 2643 // DeliveryStreamName is a required field 2644 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 2645 2646 // The status of the delivery stream. If the status of a delivery stream is 2647 // CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream 2648 // again on it. However, you can invoke the DeleteDeliveryStream operation to 2649 // delete it. 2650 // 2651 // DeliveryStreamStatus is a required field 2652 DeliveryStreamStatus *string `type:"string" required:"true" enum:"DeliveryStreamStatus"` 2653 2654 // The delivery stream type. This can be one of the following values: 2655 // 2656 // * DirectPut: Provider applications access the delivery stream directly. 2657 // 2658 // * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream 2659 // as a source. 2660 // 2661 // DeliveryStreamType is a required field 2662 DeliveryStreamType *string `type:"string" required:"true" enum:"DeliveryStreamType"` 2663 2664 // The destinations. 2665 // 2666 // Destinations is a required field 2667 Destinations []*DestinationDescription `type:"list" required:"true"` 2668 2669 // Provides details in case one of the following operations fails due to an 2670 // error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, 2671 // StopDeliveryStreamEncryption. 2672 FailureDescription *FailureDescription `type:"structure"` 2673 2674 // Indicates whether there are more destinations available to list. 2675 // 2676 // HasMoreDestinations is a required field 2677 HasMoreDestinations *bool `type:"boolean" required:"true"` 2678 2679 // The date and time that the delivery stream was last updated. 2680 LastUpdateTimestamp *time.Time `type:"timestamp"` 2681 2682 // If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription 2683 // object describing the source Kinesis data stream. 2684 Source *SourceDescription `type:"structure"` 2685 2686 // Each time the destination is updated for a delivery stream, the version ID 2687 // is changed, and the current version ID is required when updating the destination. 2688 // This is so that the service knows it is applying the changes to the correct 2689 // version of the delivery stream. 2690 // 2691 // VersionId is a required field 2692 VersionId *string `min:"1" type:"string" required:"true"` 2693 } 2694 2695 // String returns the string representation. 2696 // 2697 // API parameter values that are decorated as "sensitive" in the API will not 2698 // be included in the string output. The member name will be present, but the 2699 // value will be replaced with "sensitive". 2700 func (s DeliveryStreamDescription) String() string { 2701 return awsutil.Prettify(s) 2702 } 2703 2704 // GoString returns the string representation. 2705 // 2706 // API parameter values that are decorated as "sensitive" in the API will not 2707 // be included in the string output. The member name will be present, but the 2708 // value will be replaced with "sensitive". 2709 func (s DeliveryStreamDescription) GoString() string { 2710 return s.String() 2711 } 2712 2713 // SetCreateTimestamp sets the CreateTimestamp field's value. 2714 func (s *DeliveryStreamDescription) SetCreateTimestamp(v time.Time) *DeliveryStreamDescription { 2715 s.CreateTimestamp = &v 2716 return s 2717 } 2718 2719 // SetDeliveryStreamARN sets the DeliveryStreamARN field's value. 2720 func (s *DeliveryStreamDescription) SetDeliveryStreamARN(v string) *DeliveryStreamDescription { 2721 s.DeliveryStreamARN = &v 2722 return s 2723 } 2724 2725 // SetDeliveryStreamEncryptionConfiguration sets the DeliveryStreamEncryptionConfiguration field's value. 2726 func (s *DeliveryStreamDescription) SetDeliveryStreamEncryptionConfiguration(v *DeliveryStreamEncryptionConfiguration) *DeliveryStreamDescription { 2727 s.DeliveryStreamEncryptionConfiguration = v 2728 return s 2729 } 2730 2731 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 2732 func (s *DeliveryStreamDescription) SetDeliveryStreamName(v string) *DeliveryStreamDescription { 2733 s.DeliveryStreamName = &v 2734 return s 2735 } 2736 2737 // SetDeliveryStreamStatus sets the DeliveryStreamStatus field's value. 2738 func (s *DeliveryStreamDescription) SetDeliveryStreamStatus(v string) *DeliveryStreamDescription { 2739 s.DeliveryStreamStatus = &v 2740 return s 2741 } 2742 2743 // SetDeliveryStreamType sets the DeliveryStreamType field's value. 2744 func (s *DeliveryStreamDescription) SetDeliveryStreamType(v string) *DeliveryStreamDescription { 2745 s.DeliveryStreamType = &v 2746 return s 2747 } 2748 2749 // SetDestinations sets the Destinations field's value. 2750 func (s *DeliveryStreamDescription) SetDestinations(v []*DestinationDescription) *DeliveryStreamDescription { 2751 s.Destinations = v 2752 return s 2753 } 2754 2755 // SetFailureDescription sets the FailureDescription field's value. 2756 func (s *DeliveryStreamDescription) SetFailureDescription(v *FailureDescription) *DeliveryStreamDescription { 2757 s.FailureDescription = v 2758 return s 2759 } 2760 2761 // SetHasMoreDestinations sets the HasMoreDestinations field's value. 2762 func (s *DeliveryStreamDescription) SetHasMoreDestinations(v bool) *DeliveryStreamDescription { 2763 s.HasMoreDestinations = &v 2764 return s 2765 } 2766 2767 // SetLastUpdateTimestamp sets the LastUpdateTimestamp field's value. 2768 func (s *DeliveryStreamDescription) SetLastUpdateTimestamp(v time.Time) *DeliveryStreamDescription { 2769 s.LastUpdateTimestamp = &v 2770 return s 2771 } 2772 2773 // SetSource sets the Source field's value. 2774 func (s *DeliveryStreamDescription) SetSource(v *SourceDescription) *DeliveryStreamDescription { 2775 s.Source = v 2776 return s 2777 } 2778 2779 // SetVersionId sets the VersionId field's value. 2780 func (s *DeliveryStreamDescription) SetVersionId(v string) *DeliveryStreamDescription { 2781 s.VersionId = &v 2782 return s 2783 } 2784 2785 // Contains information about the server-side encryption (SSE) status for the 2786 // delivery stream, the type customer master key (CMK) in use, if any, and the 2787 // ARN of the CMK. You can get DeliveryStreamEncryptionConfiguration by invoking 2788 // the DescribeDeliveryStream operation. 2789 type DeliveryStreamEncryptionConfiguration struct { 2790 _ struct{} `type:"structure"` 2791 2792 // Provides details in case one of the following operations fails due to an 2793 // error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, 2794 // StopDeliveryStreamEncryption. 2795 FailureDescription *FailureDescription `type:"structure"` 2796 2797 // If KeyType is CUSTOMER_MANAGED_CMK, this field contains the ARN of the customer 2798 // managed CMK. If KeyType is AWS_OWNED_CMK, DeliveryStreamEncryptionConfiguration 2799 // doesn't contain a value for KeyARN. 2800 KeyARN *string `min:"1" type:"string"` 2801 2802 // Indicates the type of customer master key (CMK) that is used for encryption. 2803 // The default setting is AWS_OWNED_CMK. For more information about CMKs, see 2804 // Customer Master Keys (CMKs) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). 2805 KeyType *string `type:"string" enum:"KeyType"` 2806 2807 // This is the server-side encryption (SSE) status for the delivery stream. 2808 // For a full description of the different values of this status, see StartDeliveryStreamEncryption 2809 // and StopDeliveryStreamEncryption. If this status is ENABLING_FAILED or DISABLING_FAILED, 2810 // it is the status of the most recent attempt to enable or disable SSE, respectively. 2811 Status *string `type:"string" enum:"DeliveryStreamEncryptionStatus"` 2812 } 2813 2814 // String returns the string representation. 2815 // 2816 // API parameter values that are decorated as "sensitive" in the API will not 2817 // be included in the string output. The member name will be present, but the 2818 // value will be replaced with "sensitive". 2819 func (s DeliveryStreamEncryptionConfiguration) String() string { 2820 return awsutil.Prettify(s) 2821 } 2822 2823 // GoString returns the string representation. 2824 // 2825 // API parameter values that are decorated as "sensitive" in the API will not 2826 // be included in the string output. The member name will be present, but the 2827 // value will be replaced with "sensitive". 2828 func (s DeliveryStreamEncryptionConfiguration) GoString() string { 2829 return s.String() 2830 } 2831 2832 // SetFailureDescription sets the FailureDescription field's value. 2833 func (s *DeliveryStreamEncryptionConfiguration) SetFailureDescription(v *FailureDescription) *DeliveryStreamEncryptionConfiguration { 2834 s.FailureDescription = v 2835 return s 2836 } 2837 2838 // SetKeyARN sets the KeyARN field's value. 2839 func (s *DeliveryStreamEncryptionConfiguration) SetKeyARN(v string) *DeliveryStreamEncryptionConfiguration { 2840 s.KeyARN = &v 2841 return s 2842 } 2843 2844 // SetKeyType sets the KeyType field's value. 2845 func (s *DeliveryStreamEncryptionConfiguration) SetKeyType(v string) *DeliveryStreamEncryptionConfiguration { 2846 s.KeyType = &v 2847 return s 2848 } 2849 2850 // SetStatus sets the Status field's value. 2851 func (s *DeliveryStreamEncryptionConfiguration) SetStatus(v string) *DeliveryStreamEncryptionConfiguration { 2852 s.Status = &v 2853 return s 2854 } 2855 2856 // Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side 2857 // Encryption (SSE). 2858 type DeliveryStreamEncryptionConfigurationInput struct { 2859 _ struct{} `type:"structure"` 2860 2861 // If you set KeyType to CUSTOMER_MANAGED_CMK, you must specify the Amazon Resource 2862 // Name (ARN) of the CMK. If you set KeyType to AWS_OWNED_CMK, Kinesis Data 2863 // Firehose uses a service-account CMK. 2864 KeyARN *string `min:"1" type:"string"` 2865 2866 // Indicates the type of customer master key (CMK) to use for encryption. The 2867 // default setting is AWS_OWNED_CMK. For more information about CMKs, see Customer 2868 // Master Keys (CMKs) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). 2869 // When you invoke CreateDeliveryStream or StartDeliveryStreamEncryption with 2870 // KeyType set to CUSTOMER_MANAGED_CMK, Kinesis Data Firehose invokes the Amazon 2871 // KMS operation CreateGrant (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 2872 // to create a grant that allows the Kinesis Data Firehose service to use the 2873 // customer managed CMK to perform encryption and decryption. Kinesis Data Firehose 2874 // manages that grant. 2875 // 2876 // When you invoke StartDeliveryStreamEncryption to change the CMK for a delivery 2877 // stream that is encrypted with a customer managed CMK, Kinesis Data Firehose 2878 // schedules the grant it had on the old CMK for retirement. 2879 // 2880 // You can use a CMK of type CUSTOMER_MANAGED_CMK to encrypt up to 500 delivery 2881 // streams. If a CreateDeliveryStream or StartDeliveryStreamEncryption operation 2882 // exceeds this limit, Kinesis Data Firehose throws a LimitExceededException. 2883 // 2884 // To encrypt your delivery stream, use symmetric CMKs. Kinesis Data Firehose 2885 // doesn't support asymmetric CMKs. For information about symmetric and asymmetric 2886 // CMKs, see About Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html) 2887 // in the AWS Key Management Service developer guide. 2888 // 2889 // KeyType is a required field 2890 KeyType *string `type:"string" required:"true" enum:"KeyType"` 2891 } 2892 2893 // String returns the string representation. 2894 // 2895 // API parameter values that are decorated as "sensitive" in the API will not 2896 // be included in the string output. The member name will be present, but the 2897 // value will be replaced with "sensitive". 2898 func (s DeliveryStreamEncryptionConfigurationInput) String() string { 2899 return awsutil.Prettify(s) 2900 } 2901 2902 // GoString returns the string representation. 2903 // 2904 // API parameter values that are decorated as "sensitive" in the API will not 2905 // be included in the string output. The member name will be present, but the 2906 // value will be replaced with "sensitive". 2907 func (s DeliveryStreamEncryptionConfigurationInput) GoString() string { 2908 return s.String() 2909 } 2910 2911 // Validate inspects the fields of the type to determine if they are valid. 2912 func (s *DeliveryStreamEncryptionConfigurationInput) Validate() error { 2913 invalidParams := request.ErrInvalidParams{Context: "DeliveryStreamEncryptionConfigurationInput"} 2914 if s.KeyARN != nil && len(*s.KeyARN) < 1 { 2915 invalidParams.Add(request.NewErrParamMinLen("KeyARN", 1)) 2916 } 2917 if s.KeyType == nil { 2918 invalidParams.Add(request.NewErrParamRequired("KeyType")) 2919 } 2920 2921 if invalidParams.Len() > 0 { 2922 return invalidParams 2923 } 2924 return nil 2925 } 2926 2927 // SetKeyARN sets the KeyARN field's value. 2928 func (s *DeliveryStreamEncryptionConfigurationInput) SetKeyARN(v string) *DeliveryStreamEncryptionConfigurationInput { 2929 s.KeyARN = &v 2930 return s 2931 } 2932 2933 // SetKeyType sets the KeyType field's value. 2934 func (s *DeliveryStreamEncryptionConfigurationInput) SetKeyType(v string) *DeliveryStreamEncryptionConfigurationInput { 2935 s.KeyType = &v 2936 return s 2937 } 2938 2939 type DescribeDeliveryStreamInput struct { 2940 _ struct{} `type:"structure"` 2941 2942 // The name of the delivery stream. 2943 // 2944 // DeliveryStreamName is a required field 2945 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 2946 2947 // The ID of the destination to start returning the destination information. 2948 // Kinesis Data Firehose supports one destination per delivery stream. 2949 ExclusiveStartDestinationId *string `min:"1" type:"string"` 2950 2951 // The limit on the number of destinations to return. You can have one destination 2952 // per delivery stream. 2953 Limit *int64 `min:"1" type:"integer"` 2954 } 2955 2956 // String returns the string representation. 2957 // 2958 // API parameter values that are decorated as "sensitive" in the API will not 2959 // be included in the string output. The member name will be present, but the 2960 // value will be replaced with "sensitive". 2961 func (s DescribeDeliveryStreamInput) String() string { 2962 return awsutil.Prettify(s) 2963 } 2964 2965 // GoString returns the string representation. 2966 // 2967 // API parameter values that are decorated as "sensitive" in the API will not 2968 // be included in the string output. The member name will be present, but the 2969 // value will be replaced with "sensitive". 2970 func (s DescribeDeliveryStreamInput) GoString() string { 2971 return s.String() 2972 } 2973 2974 // Validate inspects the fields of the type to determine if they are valid. 2975 func (s *DescribeDeliveryStreamInput) Validate() error { 2976 invalidParams := request.ErrInvalidParams{Context: "DescribeDeliveryStreamInput"} 2977 if s.DeliveryStreamName == nil { 2978 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 2979 } 2980 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 2981 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 2982 } 2983 if s.ExclusiveStartDestinationId != nil && len(*s.ExclusiveStartDestinationId) < 1 { 2984 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartDestinationId", 1)) 2985 } 2986 if s.Limit != nil && *s.Limit < 1 { 2987 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 2988 } 2989 2990 if invalidParams.Len() > 0 { 2991 return invalidParams 2992 } 2993 return nil 2994 } 2995 2996 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 2997 func (s *DescribeDeliveryStreamInput) SetDeliveryStreamName(v string) *DescribeDeliveryStreamInput { 2998 s.DeliveryStreamName = &v 2999 return s 3000 } 3001 3002 // SetExclusiveStartDestinationId sets the ExclusiveStartDestinationId field's value. 3003 func (s *DescribeDeliveryStreamInput) SetExclusiveStartDestinationId(v string) *DescribeDeliveryStreamInput { 3004 s.ExclusiveStartDestinationId = &v 3005 return s 3006 } 3007 3008 // SetLimit sets the Limit field's value. 3009 func (s *DescribeDeliveryStreamInput) SetLimit(v int64) *DescribeDeliveryStreamInput { 3010 s.Limit = &v 3011 return s 3012 } 3013 3014 type DescribeDeliveryStreamOutput struct { 3015 _ struct{} `type:"structure"` 3016 3017 // Information about the delivery stream. 3018 // 3019 // DeliveryStreamDescription is a required field 3020 DeliveryStreamDescription *DeliveryStreamDescription `type:"structure" required:"true"` 3021 } 3022 3023 // String returns the string representation. 3024 // 3025 // API parameter values that are decorated as "sensitive" in the API will not 3026 // be included in the string output. The member name will be present, but the 3027 // value will be replaced with "sensitive". 3028 func (s DescribeDeliveryStreamOutput) String() string { 3029 return awsutil.Prettify(s) 3030 } 3031 3032 // GoString returns the string representation. 3033 // 3034 // API parameter values that are decorated as "sensitive" in the API will not 3035 // be included in the string output. The member name will be present, but the 3036 // value will be replaced with "sensitive". 3037 func (s DescribeDeliveryStreamOutput) GoString() string { 3038 return s.String() 3039 } 3040 3041 // SetDeliveryStreamDescription sets the DeliveryStreamDescription field's value. 3042 func (s *DescribeDeliveryStreamOutput) SetDeliveryStreamDescription(v *DeliveryStreamDescription) *DescribeDeliveryStreamOutput { 3043 s.DeliveryStreamDescription = v 3044 return s 3045 } 3046 3047 // The deserializer you want Kinesis Data Firehose to use for converting the 3048 // input data from JSON. Kinesis Data Firehose then serializes the data to its 3049 // final format using the Serializer. Kinesis Data Firehose supports two types 3050 // of deserializers: the Apache Hive JSON SerDe (https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-JSON) 3051 // and the OpenX JSON SerDe (https://github.com/rcongiu/Hive-JSON-Serde). 3052 type Deserializer struct { 3053 _ struct{} `type:"structure"` 3054 3055 // The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing 3056 // data, which means converting it from the JSON format in preparation for serializing 3057 // it to the Parquet or ORC format. This is one of two deserializers you can 3058 // choose, depending on which one offers the functionality you need. The other 3059 // option is the OpenX SerDe. 3060 HiveJsonSerDe *HiveJsonSerDe `type:"structure"` 3061 3062 // The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which 3063 // means converting it from the JSON format in preparation for serializing it 3064 // to the Parquet or ORC format. This is one of two deserializers you can choose, 3065 // depending on which one offers the functionality you need. The other option 3066 // is the native Hive / HCatalog JsonSerDe. 3067 OpenXJsonSerDe *OpenXJsonSerDe `type:"structure"` 3068 } 3069 3070 // String returns the string representation. 3071 // 3072 // API parameter values that are decorated as "sensitive" in the API will not 3073 // be included in the string output. The member name will be present, but the 3074 // value will be replaced with "sensitive". 3075 func (s Deserializer) String() string { 3076 return awsutil.Prettify(s) 3077 } 3078 3079 // GoString returns the string representation. 3080 // 3081 // API parameter values that are decorated as "sensitive" in the API will not 3082 // be included in the string output. The member name will be present, but the 3083 // value will be replaced with "sensitive". 3084 func (s Deserializer) GoString() string { 3085 return s.String() 3086 } 3087 3088 // SetHiveJsonSerDe sets the HiveJsonSerDe field's value. 3089 func (s *Deserializer) SetHiveJsonSerDe(v *HiveJsonSerDe) *Deserializer { 3090 s.HiveJsonSerDe = v 3091 return s 3092 } 3093 3094 // SetOpenXJsonSerDe sets the OpenXJsonSerDe field's value. 3095 func (s *Deserializer) SetOpenXJsonSerDe(v *OpenXJsonSerDe) *Deserializer { 3096 s.OpenXJsonSerDe = v 3097 return s 3098 } 3099 3100 // Describes the destination for a delivery stream. 3101 type DestinationDescription struct { 3102 _ struct{} `type:"structure"` 3103 3104 AmazonopensearchserviceDestinationDescription *AmazonopensearchserviceDestinationDescription `type:"structure"` 3105 3106 // The ID of the destination. 3107 // 3108 // DestinationId is a required field 3109 DestinationId *string `min:"1" type:"string" required:"true"` 3110 3111 // The destination in Amazon ES. 3112 ElasticsearchDestinationDescription *ElasticsearchDestinationDescription `type:"structure"` 3113 3114 // The destination in Amazon S3. 3115 ExtendedS3DestinationDescription *ExtendedS3DestinationDescription `type:"structure"` 3116 3117 // Describes the specified HTTP endpoint destination. 3118 HttpEndpointDestinationDescription *HttpEndpointDestinationDescription `type:"structure"` 3119 3120 // The destination in Amazon Redshift. 3121 RedshiftDestinationDescription *RedshiftDestinationDescription `type:"structure"` 3122 3123 // [Deprecated] The destination in Amazon S3. 3124 S3DestinationDescription *S3DestinationDescription `type:"structure"` 3125 3126 // The destination in Splunk. 3127 SplunkDestinationDescription *SplunkDestinationDescription `type:"structure"` 3128 } 3129 3130 // String returns the string representation. 3131 // 3132 // API parameter values that are decorated as "sensitive" in the API will not 3133 // be included in the string output. The member name will be present, but the 3134 // value will be replaced with "sensitive". 3135 func (s DestinationDescription) String() string { 3136 return awsutil.Prettify(s) 3137 } 3138 3139 // GoString returns the string representation. 3140 // 3141 // API parameter values that are decorated as "sensitive" in the API will not 3142 // be included in the string output. The member name will be present, but the 3143 // value will be replaced with "sensitive". 3144 func (s DestinationDescription) GoString() string { 3145 return s.String() 3146 } 3147 3148 // SetAmazonopensearchserviceDestinationDescription sets the AmazonopensearchserviceDestinationDescription field's value. 3149 func (s *DestinationDescription) SetAmazonopensearchserviceDestinationDescription(v *AmazonopensearchserviceDestinationDescription) *DestinationDescription { 3150 s.AmazonopensearchserviceDestinationDescription = v 3151 return s 3152 } 3153 3154 // SetDestinationId sets the DestinationId field's value. 3155 func (s *DestinationDescription) SetDestinationId(v string) *DestinationDescription { 3156 s.DestinationId = &v 3157 return s 3158 } 3159 3160 // SetElasticsearchDestinationDescription sets the ElasticsearchDestinationDescription field's value. 3161 func (s *DestinationDescription) SetElasticsearchDestinationDescription(v *ElasticsearchDestinationDescription) *DestinationDescription { 3162 s.ElasticsearchDestinationDescription = v 3163 return s 3164 } 3165 3166 // SetExtendedS3DestinationDescription sets the ExtendedS3DestinationDescription field's value. 3167 func (s *DestinationDescription) SetExtendedS3DestinationDescription(v *ExtendedS3DestinationDescription) *DestinationDescription { 3168 s.ExtendedS3DestinationDescription = v 3169 return s 3170 } 3171 3172 // SetHttpEndpointDestinationDescription sets the HttpEndpointDestinationDescription field's value. 3173 func (s *DestinationDescription) SetHttpEndpointDestinationDescription(v *HttpEndpointDestinationDescription) *DestinationDescription { 3174 s.HttpEndpointDestinationDescription = v 3175 return s 3176 } 3177 3178 // SetRedshiftDestinationDescription sets the RedshiftDestinationDescription field's value. 3179 func (s *DestinationDescription) SetRedshiftDestinationDescription(v *RedshiftDestinationDescription) *DestinationDescription { 3180 s.RedshiftDestinationDescription = v 3181 return s 3182 } 3183 3184 // SetS3DestinationDescription sets the S3DestinationDescription field's value. 3185 func (s *DestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *DestinationDescription { 3186 s.S3DestinationDescription = v 3187 return s 3188 } 3189 3190 // SetSplunkDestinationDescription sets the SplunkDestinationDescription field's value. 3191 func (s *DestinationDescription) SetSplunkDestinationDescription(v *SplunkDestinationDescription) *DestinationDescription { 3192 s.SplunkDestinationDescription = v 3193 return s 3194 } 3195 3196 // The configuration of the dynamic partitioning mechanism that creates smaller 3197 // data sets from the streaming data by partitioning it based on partition keys. 3198 // Currently, dynamic partitioning is only supported for Amazon S3 destinations. 3199 // For more information, see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html 3200 // (https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html) 3201 type DynamicPartitioningConfiguration struct { 3202 _ struct{} `type:"structure"` 3203 3204 // Specifies that the dynamic partitioning is enabled for this Kinesis Data 3205 // Firehose delivery stream. 3206 Enabled *bool `type:"boolean"` 3207 3208 // The retry behavior in case Kinesis Data Firehose is unable to deliver data 3209 // to an Amazon S3 prefix. 3210 RetryOptions *RetryOptions `type:"structure"` 3211 } 3212 3213 // String returns the string representation. 3214 // 3215 // API parameter values that are decorated as "sensitive" in the API will not 3216 // be included in the string output. The member name will be present, but the 3217 // value will be replaced with "sensitive". 3218 func (s DynamicPartitioningConfiguration) String() string { 3219 return awsutil.Prettify(s) 3220 } 3221 3222 // GoString returns the string representation. 3223 // 3224 // API parameter values that are decorated as "sensitive" in the API will not 3225 // be included in the string output. The member name will be present, but the 3226 // value will be replaced with "sensitive". 3227 func (s DynamicPartitioningConfiguration) GoString() string { 3228 return s.String() 3229 } 3230 3231 // SetEnabled sets the Enabled field's value. 3232 func (s *DynamicPartitioningConfiguration) SetEnabled(v bool) *DynamicPartitioningConfiguration { 3233 s.Enabled = &v 3234 return s 3235 } 3236 3237 // SetRetryOptions sets the RetryOptions field's value. 3238 func (s *DynamicPartitioningConfiguration) SetRetryOptions(v *RetryOptions) *DynamicPartitioningConfiguration { 3239 s.RetryOptions = v 3240 return s 3241 } 3242 3243 // Describes the buffering to perform before delivering data to the Amazon ES 3244 // destination. 3245 type ElasticsearchBufferingHints struct { 3246 _ struct{} `type:"structure"` 3247 3248 // Buffer incoming data for the specified period of time, in seconds, before 3249 // delivering it to the destination. The default value is 300 (5 minutes). 3250 IntervalInSeconds *int64 `min:"60" type:"integer"` 3251 3252 // Buffer incoming data to the specified size, in MBs, before delivering it 3253 // to the destination. The default value is 5. 3254 // 3255 // We recommend setting this parameter to a value greater than the amount of 3256 // data you typically ingest into the delivery stream in 10 seconds. For example, 3257 // if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher. 3258 SizeInMBs *int64 `min:"1" type:"integer"` 3259 } 3260 3261 // String returns the string representation. 3262 // 3263 // API parameter values that are decorated as "sensitive" in the API will not 3264 // be included in the string output. The member name will be present, but the 3265 // value will be replaced with "sensitive". 3266 func (s ElasticsearchBufferingHints) String() string { 3267 return awsutil.Prettify(s) 3268 } 3269 3270 // GoString returns the string representation. 3271 // 3272 // API parameter values that are decorated as "sensitive" in the API will not 3273 // be included in the string output. The member name will be present, but the 3274 // value will be replaced with "sensitive". 3275 func (s ElasticsearchBufferingHints) GoString() string { 3276 return s.String() 3277 } 3278 3279 // Validate inspects the fields of the type to determine if they are valid. 3280 func (s *ElasticsearchBufferingHints) Validate() error { 3281 invalidParams := request.ErrInvalidParams{Context: "ElasticsearchBufferingHints"} 3282 if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { 3283 invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) 3284 } 3285 if s.SizeInMBs != nil && *s.SizeInMBs < 1 { 3286 invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) 3287 } 3288 3289 if invalidParams.Len() > 0 { 3290 return invalidParams 3291 } 3292 return nil 3293 } 3294 3295 // SetIntervalInSeconds sets the IntervalInSeconds field's value. 3296 func (s *ElasticsearchBufferingHints) SetIntervalInSeconds(v int64) *ElasticsearchBufferingHints { 3297 s.IntervalInSeconds = &v 3298 return s 3299 } 3300 3301 // SetSizeInMBs sets the SizeInMBs field's value. 3302 func (s *ElasticsearchBufferingHints) SetSizeInMBs(v int64) *ElasticsearchBufferingHints { 3303 s.SizeInMBs = &v 3304 return s 3305 } 3306 3307 // Describes the configuration of a destination in Amazon ES. 3308 type ElasticsearchDestinationConfiguration struct { 3309 _ struct{} `type:"structure"` 3310 3311 // The buffering options. If no value is specified, the default values for ElasticsearchBufferingHints 3312 // are used. 3313 BufferingHints *ElasticsearchBufferingHints `type:"structure"` 3314 3315 // The Amazon CloudWatch logging options for your delivery stream. 3316 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 3317 3318 // The endpoint to use when communicating with the cluster. Specify either this 3319 // ClusterEndpoint or the DomainARN field. 3320 ClusterEndpoint *string `min:"1" type:"string"` 3321 3322 // The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, 3323 // DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after 3324 // assuming the role specified in RoleARN. For more information, see Amazon 3325 // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3326 // 3327 // Specify either ClusterEndpoint or DomainARN. 3328 DomainARN *string `min:"1" type:"string"` 3329 3330 // The Elasticsearch index name. 3331 // 3332 // IndexName is a required field 3333 IndexName *string `min:"1" type:"string" required:"true"` 3334 3335 // The Elasticsearch index rotation period. Index rotation appends a timestamp 3336 // to the IndexName to facilitate the expiration of old data. For more information, 3337 // see Index Rotation for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). 3338 // The default value is OneDay. 3339 IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` 3340 3341 // The data processing configuration. 3342 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 3343 3344 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 3345 // to Amazon ES. The default value is 300 (5 minutes). 3346 RetryOptions *ElasticsearchRetryOptions `type:"structure"` 3347 3348 // The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 3349 // Firehose for calling the Amazon ES Configuration API and for indexing documents. 3350 // For more information, see Grant Kinesis Data Firehose Access to an Amazon 3351 // S3 Destination (https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) 3352 // and Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3353 // 3354 // RoleARN is a required field 3355 RoleARN *string `min:"1" type:"string" required:"true"` 3356 3357 // Defines how documents should be delivered to Amazon S3. When it is set to 3358 // FailedDocumentsOnly, Kinesis Data Firehose writes any documents that could 3359 // not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ 3360 // appended to the key prefix. When set to AllDocuments, Kinesis Data Firehose 3361 // delivers all incoming records to Amazon S3, and also writes failed documents 3362 // with elasticsearch-failed/ appended to the prefix. For more information, 3363 // see Amazon S3 Backup for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup). 3364 // Default value is FailedDocumentsOnly. 3365 // 3366 // You can't change this backup mode after you create the delivery stream. 3367 S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` 3368 3369 // The configuration for the backup Amazon S3 location. 3370 // 3371 // S3Configuration is a required field 3372 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 3373 3374 // The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 3375 // type per index. If you try to specify a new type for an existing index that 3376 // already has another type, Kinesis Data Firehose returns an error during run 3377 // time. 3378 // 3379 // For Elasticsearch 7.x, don't specify a TypeName. 3380 TypeName *string `type:"string"` 3381 3382 // The details of the VPC of the Amazon ES destination. 3383 VpcConfiguration *VpcConfiguration `type:"structure"` 3384 } 3385 3386 // String returns the string representation. 3387 // 3388 // API parameter values that are decorated as "sensitive" in the API will not 3389 // be included in the string output. The member name will be present, but the 3390 // value will be replaced with "sensitive". 3391 func (s ElasticsearchDestinationConfiguration) String() string { 3392 return awsutil.Prettify(s) 3393 } 3394 3395 // GoString returns the string representation. 3396 // 3397 // API parameter values that are decorated as "sensitive" in the API will not 3398 // be included in the string output. The member name will be present, but the 3399 // value will be replaced with "sensitive". 3400 func (s ElasticsearchDestinationConfiguration) GoString() string { 3401 return s.String() 3402 } 3403 3404 // Validate inspects the fields of the type to determine if they are valid. 3405 func (s *ElasticsearchDestinationConfiguration) Validate() error { 3406 invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDestinationConfiguration"} 3407 if s.ClusterEndpoint != nil && len(*s.ClusterEndpoint) < 1 { 3408 invalidParams.Add(request.NewErrParamMinLen("ClusterEndpoint", 1)) 3409 } 3410 if s.DomainARN != nil && len(*s.DomainARN) < 1 { 3411 invalidParams.Add(request.NewErrParamMinLen("DomainARN", 1)) 3412 } 3413 if s.IndexName == nil { 3414 invalidParams.Add(request.NewErrParamRequired("IndexName")) 3415 } 3416 if s.IndexName != nil && len(*s.IndexName) < 1 { 3417 invalidParams.Add(request.NewErrParamMinLen("IndexName", 1)) 3418 } 3419 if s.RoleARN == nil { 3420 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 3421 } 3422 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 3423 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 3424 } 3425 if s.S3Configuration == nil { 3426 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 3427 } 3428 if s.BufferingHints != nil { 3429 if err := s.BufferingHints.Validate(); err != nil { 3430 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 3431 } 3432 } 3433 if s.ProcessingConfiguration != nil { 3434 if err := s.ProcessingConfiguration.Validate(); err != nil { 3435 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 3436 } 3437 } 3438 if s.S3Configuration != nil { 3439 if err := s.S3Configuration.Validate(); err != nil { 3440 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 3441 } 3442 } 3443 if s.VpcConfiguration != nil { 3444 if err := s.VpcConfiguration.Validate(); err != nil { 3445 invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) 3446 } 3447 } 3448 3449 if invalidParams.Len() > 0 { 3450 return invalidParams 3451 } 3452 return nil 3453 } 3454 3455 // SetBufferingHints sets the BufferingHints field's value. 3456 func (s *ElasticsearchDestinationConfiguration) SetBufferingHints(v *ElasticsearchBufferingHints) *ElasticsearchDestinationConfiguration { 3457 s.BufferingHints = v 3458 return s 3459 } 3460 3461 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 3462 func (s *ElasticsearchDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ElasticsearchDestinationConfiguration { 3463 s.CloudWatchLoggingOptions = v 3464 return s 3465 } 3466 3467 // SetClusterEndpoint sets the ClusterEndpoint field's value. 3468 func (s *ElasticsearchDestinationConfiguration) SetClusterEndpoint(v string) *ElasticsearchDestinationConfiguration { 3469 s.ClusterEndpoint = &v 3470 return s 3471 } 3472 3473 // SetDomainARN sets the DomainARN field's value. 3474 func (s *ElasticsearchDestinationConfiguration) SetDomainARN(v string) *ElasticsearchDestinationConfiguration { 3475 s.DomainARN = &v 3476 return s 3477 } 3478 3479 // SetIndexName sets the IndexName field's value. 3480 func (s *ElasticsearchDestinationConfiguration) SetIndexName(v string) *ElasticsearchDestinationConfiguration { 3481 s.IndexName = &v 3482 return s 3483 } 3484 3485 // SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 3486 func (s *ElasticsearchDestinationConfiguration) SetIndexRotationPeriod(v string) *ElasticsearchDestinationConfiguration { 3487 s.IndexRotationPeriod = &v 3488 return s 3489 } 3490 3491 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 3492 func (s *ElasticsearchDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *ElasticsearchDestinationConfiguration { 3493 s.ProcessingConfiguration = v 3494 return s 3495 } 3496 3497 // SetRetryOptions sets the RetryOptions field's value. 3498 func (s *ElasticsearchDestinationConfiguration) SetRetryOptions(v *ElasticsearchRetryOptions) *ElasticsearchDestinationConfiguration { 3499 s.RetryOptions = v 3500 return s 3501 } 3502 3503 // SetRoleARN sets the RoleARN field's value. 3504 func (s *ElasticsearchDestinationConfiguration) SetRoleARN(v string) *ElasticsearchDestinationConfiguration { 3505 s.RoleARN = &v 3506 return s 3507 } 3508 3509 // SetS3BackupMode sets the S3BackupMode field's value. 3510 func (s *ElasticsearchDestinationConfiguration) SetS3BackupMode(v string) *ElasticsearchDestinationConfiguration { 3511 s.S3BackupMode = &v 3512 return s 3513 } 3514 3515 // SetS3Configuration sets the S3Configuration field's value. 3516 func (s *ElasticsearchDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *ElasticsearchDestinationConfiguration { 3517 s.S3Configuration = v 3518 return s 3519 } 3520 3521 // SetTypeName sets the TypeName field's value. 3522 func (s *ElasticsearchDestinationConfiguration) SetTypeName(v string) *ElasticsearchDestinationConfiguration { 3523 s.TypeName = &v 3524 return s 3525 } 3526 3527 // SetVpcConfiguration sets the VpcConfiguration field's value. 3528 func (s *ElasticsearchDestinationConfiguration) SetVpcConfiguration(v *VpcConfiguration) *ElasticsearchDestinationConfiguration { 3529 s.VpcConfiguration = v 3530 return s 3531 } 3532 3533 // The destination description in Amazon ES. 3534 type ElasticsearchDestinationDescription struct { 3535 _ struct{} `type:"structure"` 3536 3537 // The buffering options. 3538 BufferingHints *ElasticsearchBufferingHints `type:"structure"` 3539 3540 // The Amazon CloudWatch logging options. 3541 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 3542 3543 // The endpoint to use when communicating with the cluster. Kinesis Data Firehose 3544 // uses either this ClusterEndpoint or the DomainARN field to send data to Amazon 3545 // ES. 3546 ClusterEndpoint *string `min:"1" type:"string"` 3547 3548 // The ARN of the Amazon ES domain. For more information, see Amazon Resource 3549 // Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3550 // 3551 // Kinesis Data Firehose uses either ClusterEndpoint or DomainARN to send data 3552 // to Amazon ES. 3553 DomainARN *string `min:"1" type:"string"` 3554 3555 // The Elasticsearch index name. 3556 IndexName *string `min:"1" type:"string"` 3557 3558 // The Elasticsearch index rotation period 3559 IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` 3560 3561 // The data processing configuration. 3562 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 3563 3564 // The Amazon ES retry options. 3565 RetryOptions *ElasticsearchRetryOptions `type:"structure"` 3566 3567 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 3568 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3569 RoleARN *string `min:"1" type:"string"` 3570 3571 // The Amazon S3 backup mode. 3572 S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` 3573 3574 // The Amazon S3 destination. 3575 S3DestinationDescription *S3DestinationDescription `type:"structure"` 3576 3577 // The Elasticsearch type name. This applies to Elasticsearch 6.x and lower 3578 // versions. For Elasticsearch 7.x, there's no value for TypeName. 3579 TypeName *string `type:"string"` 3580 3581 // The details of the VPC of the Amazon ES destination. 3582 VpcConfigurationDescription *VpcConfigurationDescription `type:"structure"` 3583 } 3584 3585 // String returns the string representation. 3586 // 3587 // API parameter values that are decorated as "sensitive" in the API will not 3588 // be included in the string output. The member name will be present, but the 3589 // value will be replaced with "sensitive". 3590 func (s ElasticsearchDestinationDescription) String() string { 3591 return awsutil.Prettify(s) 3592 } 3593 3594 // GoString returns the string representation. 3595 // 3596 // API parameter values that are decorated as "sensitive" in the API will not 3597 // be included in the string output. The member name will be present, but the 3598 // value will be replaced with "sensitive". 3599 func (s ElasticsearchDestinationDescription) GoString() string { 3600 return s.String() 3601 } 3602 3603 // SetBufferingHints sets the BufferingHints field's value. 3604 func (s *ElasticsearchDestinationDescription) SetBufferingHints(v *ElasticsearchBufferingHints) *ElasticsearchDestinationDescription { 3605 s.BufferingHints = v 3606 return s 3607 } 3608 3609 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 3610 func (s *ElasticsearchDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ElasticsearchDestinationDescription { 3611 s.CloudWatchLoggingOptions = v 3612 return s 3613 } 3614 3615 // SetClusterEndpoint sets the ClusterEndpoint field's value. 3616 func (s *ElasticsearchDestinationDescription) SetClusterEndpoint(v string) *ElasticsearchDestinationDescription { 3617 s.ClusterEndpoint = &v 3618 return s 3619 } 3620 3621 // SetDomainARN sets the DomainARN field's value. 3622 func (s *ElasticsearchDestinationDescription) SetDomainARN(v string) *ElasticsearchDestinationDescription { 3623 s.DomainARN = &v 3624 return s 3625 } 3626 3627 // SetIndexName sets the IndexName field's value. 3628 func (s *ElasticsearchDestinationDescription) SetIndexName(v string) *ElasticsearchDestinationDescription { 3629 s.IndexName = &v 3630 return s 3631 } 3632 3633 // SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 3634 func (s *ElasticsearchDestinationDescription) SetIndexRotationPeriod(v string) *ElasticsearchDestinationDescription { 3635 s.IndexRotationPeriod = &v 3636 return s 3637 } 3638 3639 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 3640 func (s *ElasticsearchDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *ElasticsearchDestinationDescription { 3641 s.ProcessingConfiguration = v 3642 return s 3643 } 3644 3645 // SetRetryOptions sets the RetryOptions field's value. 3646 func (s *ElasticsearchDestinationDescription) SetRetryOptions(v *ElasticsearchRetryOptions) *ElasticsearchDestinationDescription { 3647 s.RetryOptions = v 3648 return s 3649 } 3650 3651 // SetRoleARN sets the RoleARN field's value. 3652 func (s *ElasticsearchDestinationDescription) SetRoleARN(v string) *ElasticsearchDestinationDescription { 3653 s.RoleARN = &v 3654 return s 3655 } 3656 3657 // SetS3BackupMode sets the S3BackupMode field's value. 3658 func (s *ElasticsearchDestinationDescription) SetS3BackupMode(v string) *ElasticsearchDestinationDescription { 3659 s.S3BackupMode = &v 3660 return s 3661 } 3662 3663 // SetS3DestinationDescription sets the S3DestinationDescription field's value. 3664 func (s *ElasticsearchDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *ElasticsearchDestinationDescription { 3665 s.S3DestinationDescription = v 3666 return s 3667 } 3668 3669 // SetTypeName sets the TypeName field's value. 3670 func (s *ElasticsearchDestinationDescription) SetTypeName(v string) *ElasticsearchDestinationDescription { 3671 s.TypeName = &v 3672 return s 3673 } 3674 3675 // SetVpcConfigurationDescription sets the VpcConfigurationDescription field's value. 3676 func (s *ElasticsearchDestinationDescription) SetVpcConfigurationDescription(v *VpcConfigurationDescription) *ElasticsearchDestinationDescription { 3677 s.VpcConfigurationDescription = v 3678 return s 3679 } 3680 3681 // Describes an update for a destination in Amazon ES. 3682 type ElasticsearchDestinationUpdate struct { 3683 _ struct{} `type:"structure"` 3684 3685 // The buffering options. If no value is specified, ElasticsearchBufferingHints 3686 // object default values are used. 3687 BufferingHints *ElasticsearchBufferingHints `type:"structure"` 3688 3689 // The CloudWatch logging options for your delivery stream. 3690 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 3691 3692 // The endpoint to use when communicating with the cluster. Specify either this 3693 // ClusterEndpoint or the DomainARN field. 3694 ClusterEndpoint *string `min:"1" type:"string"` 3695 3696 // The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, 3697 // DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after 3698 // assuming the IAM role specified in RoleARN. For more information, see Amazon 3699 // Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3700 // 3701 // Specify either ClusterEndpoint or DomainARN. 3702 DomainARN *string `min:"1" type:"string"` 3703 3704 // The Elasticsearch index name. 3705 IndexName *string `min:"1" type:"string"` 3706 3707 // The Elasticsearch index rotation period. Index rotation appends a timestamp 3708 // to IndexName to facilitate the expiration of old data. For more information, 3709 // see Index Rotation for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation). 3710 // Default value is OneDay. 3711 IndexRotationPeriod *string `type:"string" enum:"ElasticsearchIndexRotationPeriod"` 3712 3713 // The data processing configuration. 3714 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 3715 3716 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 3717 // to Amazon ES. The default value is 300 (5 minutes). 3718 RetryOptions *ElasticsearchRetryOptions `type:"structure"` 3719 3720 // The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data 3721 // Firehose for calling the Amazon ES Configuration API and for indexing documents. 3722 // For more information, see Grant Kinesis Data Firehose Access to an Amazon 3723 // S3 Destination (https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) 3724 // and Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3725 RoleARN *string `min:"1" type:"string"` 3726 3727 // The Amazon S3 destination. 3728 S3Update *S3DestinationUpdate `type:"structure"` 3729 3730 // The Elasticsearch type name. For Elasticsearch 6.x, there can be only one 3731 // type per index. If you try to specify a new type for an existing index that 3732 // already has another type, Kinesis Data Firehose returns an error during runtime. 3733 // 3734 // If you upgrade Elasticsearch from 6.x to 7.x and don’t update your delivery 3735 // stream, Kinesis Data Firehose still delivers data to Elasticsearch with the 3736 // old index name and type name. If you want to update your delivery stream 3737 // with a new index name, provide an empty string for TypeName. 3738 TypeName *string `type:"string"` 3739 } 3740 3741 // String returns the string representation. 3742 // 3743 // API parameter values that are decorated as "sensitive" in the API will not 3744 // be included in the string output. The member name will be present, but the 3745 // value will be replaced with "sensitive". 3746 func (s ElasticsearchDestinationUpdate) String() string { 3747 return awsutil.Prettify(s) 3748 } 3749 3750 // GoString returns the string representation. 3751 // 3752 // API parameter values that are decorated as "sensitive" in the API will not 3753 // be included in the string output. The member name will be present, but the 3754 // value will be replaced with "sensitive". 3755 func (s ElasticsearchDestinationUpdate) GoString() string { 3756 return s.String() 3757 } 3758 3759 // Validate inspects the fields of the type to determine if they are valid. 3760 func (s *ElasticsearchDestinationUpdate) Validate() error { 3761 invalidParams := request.ErrInvalidParams{Context: "ElasticsearchDestinationUpdate"} 3762 if s.ClusterEndpoint != nil && len(*s.ClusterEndpoint) < 1 { 3763 invalidParams.Add(request.NewErrParamMinLen("ClusterEndpoint", 1)) 3764 } 3765 if s.DomainARN != nil && len(*s.DomainARN) < 1 { 3766 invalidParams.Add(request.NewErrParamMinLen("DomainARN", 1)) 3767 } 3768 if s.IndexName != nil && len(*s.IndexName) < 1 { 3769 invalidParams.Add(request.NewErrParamMinLen("IndexName", 1)) 3770 } 3771 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 3772 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 3773 } 3774 if s.BufferingHints != nil { 3775 if err := s.BufferingHints.Validate(); err != nil { 3776 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 3777 } 3778 } 3779 if s.ProcessingConfiguration != nil { 3780 if err := s.ProcessingConfiguration.Validate(); err != nil { 3781 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 3782 } 3783 } 3784 if s.S3Update != nil { 3785 if err := s.S3Update.Validate(); err != nil { 3786 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 3787 } 3788 } 3789 3790 if invalidParams.Len() > 0 { 3791 return invalidParams 3792 } 3793 return nil 3794 } 3795 3796 // SetBufferingHints sets the BufferingHints field's value. 3797 func (s *ElasticsearchDestinationUpdate) SetBufferingHints(v *ElasticsearchBufferingHints) *ElasticsearchDestinationUpdate { 3798 s.BufferingHints = v 3799 return s 3800 } 3801 3802 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 3803 func (s *ElasticsearchDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ElasticsearchDestinationUpdate { 3804 s.CloudWatchLoggingOptions = v 3805 return s 3806 } 3807 3808 // SetClusterEndpoint sets the ClusterEndpoint field's value. 3809 func (s *ElasticsearchDestinationUpdate) SetClusterEndpoint(v string) *ElasticsearchDestinationUpdate { 3810 s.ClusterEndpoint = &v 3811 return s 3812 } 3813 3814 // SetDomainARN sets the DomainARN field's value. 3815 func (s *ElasticsearchDestinationUpdate) SetDomainARN(v string) *ElasticsearchDestinationUpdate { 3816 s.DomainARN = &v 3817 return s 3818 } 3819 3820 // SetIndexName sets the IndexName field's value. 3821 func (s *ElasticsearchDestinationUpdate) SetIndexName(v string) *ElasticsearchDestinationUpdate { 3822 s.IndexName = &v 3823 return s 3824 } 3825 3826 // SetIndexRotationPeriod sets the IndexRotationPeriod field's value. 3827 func (s *ElasticsearchDestinationUpdate) SetIndexRotationPeriod(v string) *ElasticsearchDestinationUpdate { 3828 s.IndexRotationPeriod = &v 3829 return s 3830 } 3831 3832 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 3833 func (s *ElasticsearchDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *ElasticsearchDestinationUpdate { 3834 s.ProcessingConfiguration = v 3835 return s 3836 } 3837 3838 // SetRetryOptions sets the RetryOptions field's value. 3839 func (s *ElasticsearchDestinationUpdate) SetRetryOptions(v *ElasticsearchRetryOptions) *ElasticsearchDestinationUpdate { 3840 s.RetryOptions = v 3841 return s 3842 } 3843 3844 // SetRoleARN sets the RoleARN field's value. 3845 func (s *ElasticsearchDestinationUpdate) SetRoleARN(v string) *ElasticsearchDestinationUpdate { 3846 s.RoleARN = &v 3847 return s 3848 } 3849 3850 // SetS3Update sets the S3Update field's value. 3851 func (s *ElasticsearchDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *ElasticsearchDestinationUpdate { 3852 s.S3Update = v 3853 return s 3854 } 3855 3856 // SetTypeName sets the TypeName field's value. 3857 func (s *ElasticsearchDestinationUpdate) SetTypeName(v string) *ElasticsearchDestinationUpdate { 3858 s.TypeName = &v 3859 return s 3860 } 3861 3862 // Configures retry behavior in case Kinesis Data Firehose is unable to deliver 3863 // documents to Amazon ES. 3864 type ElasticsearchRetryOptions struct { 3865 _ struct{} `type:"structure"` 3866 3867 // After an initial failure to deliver to Amazon ES, the total amount of time 3868 // during which Kinesis Data Firehose retries delivery (including the first 3869 // attempt). After this time has elapsed, the failed documents are written to 3870 // Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) 3871 // results in no retries. 3872 DurationInSeconds *int64 `type:"integer"` 3873 } 3874 3875 // String returns the string representation. 3876 // 3877 // API parameter values that are decorated as "sensitive" in the API will not 3878 // be included in the string output. The member name will be present, but the 3879 // value will be replaced with "sensitive". 3880 func (s ElasticsearchRetryOptions) String() string { 3881 return awsutil.Prettify(s) 3882 } 3883 3884 // GoString returns the string representation. 3885 // 3886 // API parameter values that are decorated as "sensitive" in the API will not 3887 // be included in the string output. The member name will be present, but the 3888 // value will be replaced with "sensitive". 3889 func (s ElasticsearchRetryOptions) GoString() string { 3890 return s.String() 3891 } 3892 3893 // SetDurationInSeconds sets the DurationInSeconds field's value. 3894 func (s *ElasticsearchRetryOptions) SetDurationInSeconds(v int64) *ElasticsearchRetryOptions { 3895 s.DurationInSeconds = &v 3896 return s 3897 } 3898 3899 // Describes the encryption for a destination in Amazon S3. 3900 type EncryptionConfiguration struct { 3901 _ struct{} `type:"structure"` 3902 3903 // The encryption key. 3904 KMSEncryptionConfig *KMSEncryptionConfig `type:"structure"` 3905 3906 // Specifically override existing encryption information to ensure that no encryption 3907 // is used. 3908 NoEncryptionConfig *string `type:"string" enum:"NoEncryptionConfig"` 3909 } 3910 3911 // String returns the string representation. 3912 // 3913 // API parameter values that are decorated as "sensitive" in the API will not 3914 // be included in the string output. The member name will be present, but the 3915 // value will be replaced with "sensitive". 3916 func (s EncryptionConfiguration) String() string { 3917 return awsutil.Prettify(s) 3918 } 3919 3920 // GoString returns the string representation. 3921 // 3922 // API parameter values that are decorated as "sensitive" in the API will not 3923 // be included in the string output. The member name will be present, but the 3924 // value will be replaced with "sensitive". 3925 func (s EncryptionConfiguration) GoString() string { 3926 return s.String() 3927 } 3928 3929 // Validate inspects the fields of the type to determine if they are valid. 3930 func (s *EncryptionConfiguration) Validate() error { 3931 invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} 3932 if s.KMSEncryptionConfig != nil { 3933 if err := s.KMSEncryptionConfig.Validate(); err != nil { 3934 invalidParams.AddNested("KMSEncryptionConfig", err.(request.ErrInvalidParams)) 3935 } 3936 } 3937 3938 if invalidParams.Len() > 0 { 3939 return invalidParams 3940 } 3941 return nil 3942 } 3943 3944 // SetKMSEncryptionConfig sets the KMSEncryptionConfig field's value. 3945 func (s *EncryptionConfiguration) SetKMSEncryptionConfig(v *KMSEncryptionConfig) *EncryptionConfiguration { 3946 s.KMSEncryptionConfig = v 3947 return s 3948 } 3949 3950 // SetNoEncryptionConfig sets the NoEncryptionConfig field's value. 3951 func (s *EncryptionConfiguration) SetNoEncryptionConfig(v string) *EncryptionConfiguration { 3952 s.NoEncryptionConfig = &v 3953 return s 3954 } 3955 3956 // Describes the configuration of a destination in Amazon S3. 3957 type ExtendedS3DestinationConfiguration struct { 3958 _ struct{} `type:"structure"` 3959 3960 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 3961 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 3962 // 3963 // BucketARN is a required field 3964 BucketARN *string `min:"1" type:"string" required:"true"` 3965 3966 // The buffering option. 3967 BufferingHints *BufferingHints `type:"structure"` 3968 3969 // The Amazon CloudWatch logging options for your delivery stream. 3970 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 3971 3972 // The compression format. If no value is specified, the default is UNCOMPRESSED. 3973 CompressionFormat *string `type:"string" enum:"CompressionFormat"` 3974 3975 // The serializer, deserializer, and schema for converting data from the JSON 3976 // format to the Parquet or ORC format before writing it to Amazon S3. 3977 DataFormatConversionConfiguration *DataFormatConversionConfiguration `type:"structure"` 3978 3979 // The configuration of the dynamic partitioning mechanism that creates smaller 3980 // data sets from the streaming data by partitioning it based on partition keys. 3981 // Currently, dynamic partitioning is only supported for Amazon S3 destinations. 3982 // For more information, see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html 3983 // (https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html) 3984 DynamicPartitioningConfiguration *DynamicPartitioningConfiguration `type:"structure"` 3985 3986 // The encryption configuration. If no value is specified, the default is no 3987 // encryption. 3988 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 3989 3990 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 3991 // before writing them to S3. This prefix appears immediately following the 3992 // bucket name. For information about how to specify this prefix, see Custom 3993 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 3994 ErrorOutputPrefix *string `type:"string"` 3995 3996 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 3997 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 3998 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 3999 Prefix *string `type:"string"` 4000 4001 // The data processing configuration. 4002 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 4003 4004 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 4005 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 4006 // 4007 // RoleARN is a required field 4008 RoleARN *string `min:"1" type:"string" required:"true"` 4009 4010 // The configuration for backup in Amazon S3. 4011 S3BackupConfiguration *S3DestinationConfiguration `type:"structure"` 4012 4013 // The Amazon S3 backup mode. After you create a delivery stream, you can update 4014 // it to enable Amazon S3 backup if it is disabled. If backup is enabled, you 4015 // can't update the delivery stream to disable it. 4016 S3BackupMode *string `type:"string" enum:"S3BackupMode"` 4017 } 4018 4019 // String returns the string representation. 4020 // 4021 // API parameter values that are decorated as "sensitive" in the API will not 4022 // be included in the string output. The member name will be present, but the 4023 // value will be replaced with "sensitive". 4024 func (s ExtendedS3DestinationConfiguration) String() string { 4025 return awsutil.Prettify(s) 4026 } 4027 4028 // GoString returns the string representation. 4029 // 4030 // API parameter values that are decorated as "sensitive" in the API will not 4031 // be included in the string output. The member name will be present, but the 4032 // value will be replaced with "sensitive". 4033 func (s ExtendedS3DestinationConfiguration) GoString() string { 4034 return s.String() 4035 } 4036 4037 // Validate inspects the fields of the type to determine if they are valid. 4038 func (s *ExtendedS3DestinationConfiguration) Validate() error { 4039 invalidParams := request.ErrInvalidParams{Context: "ExtendedS3DestinationConfiguration"} 4040 if s.BucketARN == nil { 4041 invalidParams.Add(request.NewErrParamRequired("BucketARN")) 4042 } 4043 if s.BucketARN != nil && len(*s.BucketARN) < 1 { 4044 invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) 4045 } 4046 if s.RoleARN == nil { 4047 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 4048 } 4049 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 4050 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 4051 } 4052 if s.BufferingHints != nil { 4053 if err := s.BufferingHints.Validate(); err != nil { 4054 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 4055 } 4056 } 4057 if s.DataFormatConversionConfiguration != nil { 4058 if err := s.DataFormatConversionConfiguration.Validate(); err != nil { 4059 invalidParams.AddNested("DataFormatConversionConfiguration", err.(request.ErrInvalidParams)) 4060 } 4061 } 4062 if s.EncryptionConfiguration != nil { 4063 if err := s.EncryptionConfiguration.Validate(); err != nil { 4064 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 4065 } 4066 } 4067 if s.ProcessingConfiguration != nil { 4068 if err := s.ProcessingConfiguration.Validate(); err != nil { 4069 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 4070 } 4071 } 4072 if s.S3BackupConfiguration != nil { 4073 if err := s.S3BackupConfiguration.Validate(); err != nil { 4074 invalidParams.AddNested("S3BackupConfiguration", err.(request.ErrInvalidParams)) 4075 } 4076 } 4077 4078 if invalidParams.Len() > 0 { 4079 return invalidParams 4080 } 4081 return nil 4082 } 4083 4084 // SetBucketARN sets the BucketARN field's value. 4085 func (s *ExtendedS3DestinationConfiguration) SetBucketARN(v string) *ExtendedS3DestinationConfiguration { 4086 s.BucketARN = &v 4087 return s 4088 } 4089 4090 // SetBufferingHints sets the BufferingHints field's value. 4091 func (s *ExtendedS3DestinationConfiguration) SetBufferingHints(v *BufferingHints) *ExtendedS3DestinationConfiguration { 4092 s.BufferingHints = v 4093 return s 4094 } 4095 4096 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 4097 func (s *ExtendedS3DestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ExtendedS3DestinationConfiguration { 4098 s.CloudWatchLoggingOptions = v 4099 return s 4100 } 4101 4102 // SetCompressionFormat sets the CompressionFormat field's value. 4103 func (s *ExtendedS3DestinationConfiguration) SetCompressionFormat(v string) *ExtendedS3DestinationConfiguration { 4104 s.CompressionFormat = &v 4105 return s 4106 } 4107 4108 // SetDataFormatConversionConfiguration sets the DataFormatConversionConfiguration field's value. 4109 func (s *ExtendedS3DestinationConfiguration) SetDataFormatConversionConfiguration(v *DataFormatConversionConfiguration) *ExtendedS3DestinationConfiguration { 4110 s.DataFormatConversionConfiguration = v 4111 return s 4112 } 4113 4114 // SetDynamicPartitioningConfiguration sets the DynamicPartitioningConfiguration field's value. 4115 func (s *ExtendedS3DestinationConfiguration) SetDynamicPartitioningConfiguration(v *DynamicPartitioningConfiguration) *ExtendedS3DestinationConfiguration { 4116 s.DynamicPartitioningConfiguration = v 4117 return s 4118 } 4119 4120 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 4121 func (s *ExtendedS3DestinationConfiguration) SetEncryptionConfiguration(v *EncryptionConfiguration) *ExtendedS3DestinationConfiguration { 4122 s.EncryptionConfiguration = v 4123 return s 4124 } 4125 4126 // SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 4127 func (s *ExtendedS3DestinationConfiguration) SetErrorOutputPrefix(v string) *ExtendedS3DestinationConfiguration { 4128 s.ErrorOutputPrefix = &v 4129 return s 4130 } 4131 4132 // SetPrefix sets the Prefix field's value. 4133 func (s *ExtendedS3DestinationConfiguration) SetPrefix(v string) *ExtendedS3DestinationConfiguration { 4134 s.Prefix = &v 4135 return s 4136 } 4137 4138 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 4139 func (s *ExtendedS3DestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *ExtendedS3DestinationConfiguration { 4140 s.ProcessingConfiguration = v 4141 return s 4142 } 4143 4144 // SetRoleARN sets the RoleARN field's value. 4145 func (s *ExtendedS3DestinationConfiguration) SetRoleARN(v string) *ExtendedS3DestinationConfiguration { 4146 s.RoleARN = &v 4147 return s 4148 } 4149 4150 // SetS3BackupConfiguration sets the S3BackupConfiguration field's value. 4151 func (s *ExtendedS3DestinationConfiguration) SetS3BackupConfiguration(v *S3DestinationConfiguration) *ExtendedS3DestinationConfiguration { 4152 s.S3BackupConfiguration = v 4153 return s 4154 } 4155 4156 // SetS3BackupMode sets the S3BackupMode field's value. 4157 func (s *ExtendedS3DestinationConfiguration) SetS3BackupMode(v string) *ExtendedS3DestinationConfiguration { 4158 s.S3BackupMode = &v 4159 return s 4160 } 4161 4162 // Describes a destination in Amazon S3. 4163 type ExtendedS3DestinationDescription struct { 4164 _ struct{} `type:"structure"` 4165 4166 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 4167 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 4168 // 4169 // BucketARN is a required field 4170 BucketARN *string `min:"1" type:"string" required:"true"` 4171 4172 // The buffering option. 4173 // 4174 // BufferingHints is a required field 4175 BufferingHints *BufferingHints `type:"structure" required:"true"` 4176 4177 // The Amazon CloudWatch logging options for your delivery stream. 4178 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 4179 4180 // The compression format. If no value is specified, the default is UNCOMPRESSED. 4181 // 4182 // CompressionFormat is a required field 4183 CompressionFormat *string `type:"string" required:"true" enum:"CompressionFormat"` 4184 4185 // The serializer, deserializer, and schema for converting data from the JSON 4186 // format to the Parquet or ORC format before writing it to Amazon S3. 4187 DataFormatConversionConfiguration *DataFormatConversionConfiguration `type:"structure"` 4188 4189 // The configuration of the dynamic partitioning mechanism that creates smaller 4190 // data sets from the streaming data by partitioning it based on partition keys. 4191 // Currently, dynamic partitioning is only supported for Amazon S3 destinations. 4192 // For more information, see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html 4193 // (https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html) 4194 DynamicPartitioningConfiguration *DynamicPartitioningConfiguration `type:"structure"` 4195 4196 // The encryption configuration. If no value is specified, the default is no 4197 // encryption. 4198 // 4199 // EncryptionConfiguration is a required field 4200 EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` 4201 4202 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 4203 // before writing them to S3. This prefix appears immediately following the 4204 // bucket name. For information about how to specify this prefix, see Custom 4205 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 4206 ErrorOutputPrefix *string `type:"string"` 4207 4208 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 4209 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 4210 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 4211 Prefix *string `type:"string"` 4212 4213 // The data processing configuration. 4214 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 4215 4216 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 4217 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 4218 // 4219 // RoleARN is a required field 4220 RoleARN *string `min:"1" type:"string" required:"true"` 4221 4222 // The configuration for backup in Amazon S3. 4223 S3BackupDescription *S3DestinationDescription `type:"structure"` 4224 4225 // The Amazon S3 backup mode. 4226 S3BackupMode *string `type:"string" enum:"S3BackupMode"` 4227 } 4228 4229 // String returns the string representation. 4230 // 4231 // API parameter values that are decorated as "sensitive" in the API will not 4232 // be included in the string output. The member name will be present, but the 4233 // value will be replaced with "sensitive". 4234 func (s ExtendedS3DestinationDescription) String() string { 4235 return awsutil.Prettify(s) 4236 } 4237 4238 // GoString returns the string representation. 4239 // 4240 // API parameter values that are decorated as "sensitive" in the API will not 4241 // be included in the string output. The member name will be present, but the 4242 // value will be replaced with "sensitive". 4243 func (s ExtendedS3DestinationDescription) GoString() string { 4244 return s.String() 4245 } 4246 4247 // SetBucketARN sets the BucketARN field's value. 4248 func (s *ExtendedS3DestinationDescription) SetBucketARN(v string) *ExtendedS3DestinationDescription { 4249 s.BucketARN = &v 4250 return s 4251 } 4252 4253 // SetBufferingHints sets the BufferingHints field's value. 4254 func (s *ExtendedS3DestinationDescription) SetBufferingHints(v *BufferingHints) *ExtendedS3DestinationDescription { 4255 s.BufferingHints = v 4256 return s 4257 } 4258 4259 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 4260 func (s *ExtendedS3DestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ExtendedS3DestinationDescription { 4261 s.CloudWatchLoggingOptions = v 4262 return s 4263 } 4264 4265 // SetCompressionFormat sets the CompressionFormat field's value. 4266 func (s *ExtendedS3DestinationDescription) SetCompressionFormat(v string) *ExtendedS3DestinationDescription { 4267 s.CompressionFormat = &v 4268 return s 4269 } 4270 4271 // SetDataFormatConversionConfiguration sets the DataFormatConversionConfiguration field's value. 4272 func (s *ExtendedS3DestinationDescription) SetDataFormatConversionConfiguration(v *DataFormatConversionConfiguration) *ExtendedS3DestinationDescription { 4273 s.DataFormatConversionConfiguration = v 4274 return s 4275 } 4276 4277 // SetDynamicPartitioningConfiguration sets the DynamicPartitioningConfiguration field's value. 4278 func (s *ExtendedS3DestinationDescription) SetDynamicPartitioningConfiguration(v *DynamicPartitioningConfiguration) *ExtendedS3DestinationDescription { 4279 s.DynamicPartitioningConfiguration = v 4280 return s 4281 } 4282 4283 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 4284 func (s *ExtendedS3DestinationDescription) SetEncryptionConfiguration(v *EncryptionConfiguration) *ExtendedS3DestinationDescription { 4285 s.EncryptionConfiguration = v 4286 return s 4287 } 4288 4289 // SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 4290 func (s *ExtendedS3DestinationDescription) SetErrorOutputPrefix(v string) *ExtendedS3DestinationDescription { 4291 s.ErrorOutputPrefix = &v 4292 return s 4293 } 4294 4295 // SetPrefix sets the Prefix field's value. 4296 func (s *ExtendedS3DestinationDescription) SetPrefix(v string) *ExtendedS3DestinationDescription { 4297 s.Prefix = &v 4298 return s 4299 } 4300 4301 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 4302 func (s *ExtendedS3DestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *ExtendedS3DestinationDescription { 4303 s.ProcessingConfiguration = v 4304 return s 4305 } 4306 4307 // SetRoleARN sets the RoleARN field's value. 4308 func (s *ExtendedS3DestinationDescription) SetRoleARN(v string) *ExtendedS3DestinationDescription { 4309 s.RoleARN = &v 4310 return s 4311 } 4312 4313 // SetS3BackupDescription sets the S3BackupDescription field's value. 4314 func (s *ExtendedS3DestinationDescription) SetS3BackupDescription(v *S3DestinationDescription) *ExtendedS3DestinationDescription { 4315 s.S3BackupDescription = v 4316 return s 4317 } 4318 4319 // SetS3BackupMode sets the S3BackupMode field's value. 4320 func (s *ExtendedS3DestinationDescription) SetS3BackupMode(v string) *ExtendedS3DestinationDescription { 4321 s.S3BackupMode = &v 4322 return s 4323 } 4324 4325 // Describes an update for a destination in Amazon S3. 4326 type ExtendedS3DestinationUpdate struct { 4327 _ struct{} `type:"structure"` 4328 4329 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 4330 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 4331 BucketARN *string `min:"1" type:"string"` 4332 4333 // The buffering option. 4334 BufferingHints *BufferingHints `type:"structure"` 4335 4336 // The Amazon CloudWatch logging options for your delivery stream. 4337 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 4338 4339 // The compression format. If no value is specified, the default is UNCOMPRESSED. 4340 CompressionFormat *string `type:"string" enum:"CompressionFormat"` 4341 4342 // The serializer, deserializer, and schema for converting data from the JSON 4343 // format to the Parquet or ORC format before writing it to Amazon S3. 4344 DataFormatConversionConfiguration *DataFormatConversionConfiguration `type:"structure"` 4345 4346 // The configuration of the dynamic partitioning mechanism that creates smaller 4347 // data sets from the streaming data by partitioning it based on partition keys. 4348 // Currently, dynamic partitioning is only supported for Amazon S3 destinations. 4349 // For more information, see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html 4350 // (https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html) 4351 DynamicPartitioningConfiguration *DynamicPartitioningConfiguration `type:"structure"` 4352 4353 // The encryption configuration. If no value is specified, the default is no 4354 // encryption. 4355 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 4356 4357 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 4358 // before writing them to S3. This prefix appears immediately following the 4359 // bucket name. For information about how to specify this prefix, see Custom 4360 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 4361 ErrorOutputPrefix *string `type:"string"` 4362 4363 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 4364 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 4365 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 4366 Prefix *string `type:"string"` 4367 4368 // The data processing configuration. 4369 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 4370 4371 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 4372 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 4373 RoleARN *string `min:"1" type:"string"` 4374 4375 // You can update a delivery stream to enable Amazon S3 backup if it is disabled. 4376 // If backup is enabled, you can't update the delivery stream to disable it. 4377 S3BackupMode *string `type:"string" enum:"S3BackupMode"` 4378 4379 // The Amazon S3 destination for backup. 4380 S3BackupUpdate *S3DestinationUpdate `type:"structure"` 4381 } 4382 4383 // String returns the string representation. 4384 // 4385 // API parameter values that are decorated as "sensitive" in the API will not 4386 // be included in the string output. The member name will be present, but the 4387 // value will be replaced with "sensitive". 4388 func (s ExtendedS3DestinationUpdate) String() string { 4389 return awsutil.Prettify(s) 4390 } 4391 4392 // GoString returns the string representation. 4393 // 4394 // API parameter values that are decorated as "sensitive" in the API will not 4395 // be included in the string output. The member name will be present, but the 4396 // value will be replaced with "sensitive". 4397 func (s ExtendedS3DestinationUpdate) GoString() string { 4398 return s.String() 4399 } 4400 4401 // Validate inspects the fields of the type to determine if they are valid. 4402 func (s *ExtendedS3DestinationUpdate) Validate() error { 4403 invalidParams := request.ErrInvalidParams{Context: "ExtendedS3DestinationUpdate"} 4404 if s.BucketARN != nil && len(*s.BucketARN) < 1 { 4405 invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) 4406 } 4407 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 4408 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 4409 } 4410 if s.BufferingHints != nil { 4411 if err := s.BufferingHints.Validate(); err != nil { 4412 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 4413 } 4414 } 4415 if s.DataFormatConversionConfiguration != nil { 4416 if err := s.DataFormatConversionConfiguration.Validate(); err != nil { 4417 invalidParams.AddNested("DataFormatConversionConfiguration", err.(request.ErrInvalidParams)) 4418 } 4419 } 4420 if s.EncryptionConfiguration != nil { 4421 if err := s.EncryptionConfiguration.Validate(); err != nil { 4422 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 4423 } 4424 } 4425 if s.ProcessingConfiguration != nil { 4426 if err := s.ProcessingConfiguration.Validate(); err != nil { 4427 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 4428 } 4429 } 4430 if s.S3BackupUpdate != nil { 4431 if err := s.S3BackupUpdate.Validate(); err != nil { 4432 invalidParams.AddNested("S3BackupUpdate", err.(request.ErrInvalidParams)) 4433 } 4434 } 4435 4436 if invalidParams.Len() > 0 { 4437 return invalidParams 4438 } 4439 return nil 4440 } 4441 4442 // SetBucketARN sets the BucketARN field's value. 4443 func (s *ExtendedS3DestinationUpdate) SetBucketARN(v string) *ExtendedS3DestinationUpdate { 4444 s.BucketARN = &v 4445 return s 4446 } 4447 4448 // SetBufferingHints sets the BufferingHints field's value. 4449 func (s *ExtendedS3DestinationUpdate) SetBufferingHints(v *BufferingHints) *ExtendedS3DestinationUpdate { 4450 s.BufferingHints = v 4451 return s 4452 } 4453 4454 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 4455 func (s *ExtendedS3DestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *ExtendedS3DestinationUpdate { 4456 s.CloudWatchLoggingOptions = v 4457 return s 4458 } 4459 4460 // SetCompressionFormat sets the CompressionFormat field's value. 4461 func (s *ExtendedS3DestinationUpdate) SetCompressionFormat(v string) *ExtendedS3DestinationUpdate { 4462 s.CompressionFormat = &v 4463 return s 4464 } 4465 4466 // SetDataFormatConversionConfiguration sets the DataFormatConversionConfiguration field's value. 4467 func (s *ExtendedS3DestinationUpdate) SetDataFormatConversionConfiguration(v *DataFormatConversionConfiguration) *ExtendedS3DestinationUpdate { 4468 s.DataFormatConversionConfiguration = v 4469 return s 4470 } 4471 4472 // SetDynamicPartitioningConfiguration sets the DynamicPartitioningConfiguration field's value. 4473 func (s *ExtendedS3DestinationUpdate) SetDynamicPartitioningConfiguration(v *DynamicPartitioningConfiguration) *ExtendedS3DestinationUpdate { 4474 s.DynamicPartitioningConfiguration = v 4475 return s 4476 } 4477 4478 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 4479 func (s *ExtendedS3DestinationUpdate) SetEncryptionConfiguration(v *EncryptionConfiguration) *ExtendedS3DestinationUpdate { 4480 s.EncryptionConfiguration = v 4481 return s 4482 } 4483 4484 // SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 4485 func (s *ExtendedS3DestinationUpdate) SetErrorOutputPrefix(v string) *ExtendedS3DestinationUpdate { 4486 s.ErrorOutputPrefix = &v 4487 return s 4488 } 4489 4490 // SetPrefix sets the Prefix field's value. 4491 func (s *ExtendedS3DestinationUpdate) SetPrefix(v string) *ExtendedS3DestinationUpdate { 4492 s.Prefix = &v 4493 return s 4494 } 4495 4496 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 4497 func (s *ExtendedS3DestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *ExtendedS3DestinationUpdate { 4498 s.ProcessingConfiguration = v 4499 return s 4500 } 4501 4502 // SetRoleARN sets the RoleARN field's value. 4503 func (s *ExtendedS3DestinationUpdate) SetRoleARN(v string) *ExtendedS3DestinationUpdate { 4504 s.RoleARN = &v 4505 return s 4506 } 4507 4508 // SetS3BackupMode sets the S3BackupMode field's value. 4509 func (s *ExtendedS3DestinationUpdate) SetS3BackupMode(v string) *ExtendedS3DestinationUpdate { 4510 s.S3BackupMode = &v 4511 return s 4512 } 4513 4514 // SetS3BackupUpdate sets the S3BackupUpdate field's value. 4515 func (s *ExtendedS3DestinationUpdate) SetS3BackupUpdate(v *S3DestinationUpdate) *ExtendedS3DestinationUpdate { 4516 s.S3BackupUpdate = v 4517 return s 4518 } 4519 4520 // Provides details in case one of the following operations fails due to an 4521 // error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, 4522 // StopDeliveryStreamEncryption. 4523 type FailureDescription struct { 4524 _ struct{} `type:"structure"` 4525 4526 // A message providing details about the error that caused the failure. 4527 // 4528 // Details is a required field 4529 Details *string `min:"1" type:"string" required:"true"` 4530 4531 // The type of error that caused the failure. 4532 // 4533 // Type is a required field 4534 Type *string `type:"string" required:"true" enum:"DeliveryStreamFailureType"` 4535 } 4536 4537 // String returns the string representation. 4538 // 4539 // API parameter values that are decorated as "sensitive" in the API will not 4540 // be included in the string output. The member name will be present, but the 4541 // value will be replaced with "sensitive". 4542 func (s FailureDescription) String() string { 4543 return awsutil.Prettify(s) 4544 } 4545 4546 // GoString returns the string representation. 4547 // 4548 // API parameter values that are decorated as "sensitive" in the API will not 4549 // be included in the string output. The member name will be present, but the 4550 // value will be replaced with "sensitive". 4551 func (s FailureDescription) GoString() string { 4552 return s.String() 4553 } 4554 4555 // SetDetails sets the Details field's value. 4556 func (s *FailureDescription) SetDetails(v string) *FailureDescription { 4557 s.Details = &v 4558 return s 4559 } 4560 4561 // SetType sets the Type field's value. 4562 func (s *FailureDescription) SetType(v string) *FailureDescription { 4563 s.Type = &v 4564 return s 4565 } 4566 4567 // The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing 4568 // data, which means converting it from the JSON format in preparation for serializing 4569 // it to the Parquet or ORC format. This is one of two deserializers you can 4570 // choose, depending on which one offers the functionality you need. The other 4571 // option is the OpenX SerDe. 4572 type HiveJsonSerDe struct { 4573 _ struct{} `type:"structure"` 4574 4575 // Indicates how you want Kinesis Data Firehose to parse the date and timestamps 4576 // that may be present in your input data JSON. To specify these format strings, 4577 // follow the pattern syntax of JodaTime's DateTimeFormat format strings. For 4578 // more information, see Class DateTimeFormat (https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html). 4579 // You can also use the special value millis to parse timestamps in epoch milliseconds. 4580 // If you don't specify a format, Kinesis Data Firehose uses java.sql.Timestamp::valueOf 4581 // by default. 4582 TimestampFormats []*string `type:"list"` 4583 } 4584 4585 // String returns the string representation. 4586 // 4587 // API parameter values that are decorated as "sensitive" in the API will not 4588 // be included in the string output. The member name will be present, but the 4589 // value will be replaced with "sensitive". 4590 func (s HiveJsonSerDe) String() string { 4591 return awsutil.Prettify(s) 4592 } 4593 4594 // GoString returns the string representation. 4595 // 4596 // API parameter values that are decorated as "sensitive" in the API will not 4597 // be included in the string output. The member name will be present, but the 4598 // value will be replaced with "sensitive". 4599 func (s HiveJsonSerDe) GoString() string { 4600 return s.String() 4601 } 4602 4603 // SetTimestampFormats sets the TimestampFormats field's value. 4604 func (s *HiveJsonSerDe) SetTimestampFormats(v []*string) *HiveJsonSerDe { 4605 s.TimestampFormats = v 4606 return s 4607 } 4608 4609 // Describes the buffering options that can be applied before data is delivered 4610 // to the HTTP endpoint destination. Kinesis Data Firehose treats these options 4611 // as hints, and it might choose to use more optimal values. The SizeInMBs and 4612 // IntervalInSeconds parameters are optional. However, if specify a value for 4613 // one of them, you must also provide a value for the other. 4614 type HttpEndpointBufferingHints struct { 4615 _ struct{} `type:"structure"` 4616 4617 // Buffer incoming data for the specified period of time, in seconds, before 4618 // delivering it to the destination. The default value is 300 (5 minutes). 4619 IntervalInSeconds *int64 `min:"60" type:"integer"` 4620 4621 // Buffer incoming data to the specified size, in MBs, before delivering it 4622 // to the destination. The default value is 5. 4623 // 4624 // We recommend setting this parameter to a value greater than the amount of 4625 // data you typically ingest into the delivery stream in 10 seconds. For example, 4626 // if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher. 4627 SizeInMBs *int64 `min:"1" type:"integer"` 4628 } 4629 4630 // String returns the string representation. 4631 // 4632 // API parameter values that are decorated as "sensitive" in the API will not 4633 // be included in the string output. The member name will be present, but the 4634 // value will be replaced with "sensitive". 4635 func (s HttpEndpointBufferingHints) String() string { 4636 return awsutil.Prettify(s) 4637 } 4638 4639 // GoString returns the string representation. 4640 // 4641 // API parameter values that are decorated as "sensitive" in the API will not 4642 // be included in the string output. The member name will be present, but the 4643 // value will be replaced with "sensitive". 4644 func (s HttpEndpointBufferingHints) GoString() string { 4645 return s.String() 4646 } 4647 4648 // Validate inspects the fields of the type to determine if they are valid. 4649 func (s *HttpEndpointBufferingHints) Validate() error { 4650 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointBufferingHints"} 4651 if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { 4652 invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) 4653 } 4654 if s.SizeInMBs != nil && *s.SizeInMBs < 1 { 4655 invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) 4656 } 4657 4658 if invalidParams.Len() > 0 { 4659 return invalidParams 4660 } 4661 return nil 4662 } 4663 4664 // SetIntervalInSeconds sets the IntervalInSeconds field's value. 4665 func (s *HttpEndpointBufferingHints) SetIntervalInSeconds(v int64) *HttpEndpointBufferingHints { 4666 s.IntervalInSeconds = &v 4667 return s 4668 } 4669 4670 // SetSizeInMBs sets the SizeInMBs field's value. 4671 func (s *HttpEndpointBufferingHints) SetSizeInMBs(v int64) *HttpEndpointBufferingHints { 4672 s.SizeInMBs = &v 4673 return s 4674 } 4675 4676 // Describes the metadata that's delivered to the specified HTTP endpoint destination. 4677 type HttpEndpointCommonAttribute struct { 4678 _ struct{} `type:"structure"` 4679 4680 // The name of the HTTP endpoint common attribute. 4681 // 4682 // AttributeName is a sensitive parameter and its value will be 4683 // replaced with "sensitive" in string returned by HttpEndpointCommonAttribute's 4684 // String and GoString methods. 4685 // 4686 // AttributeName is a required field 4687 AttributeName *string `min:"1" type:"string" required:"true" sensitive:"true"` 4688 4689 // The value of the HTTP endpoint common attribute. 4690 // 4691 // AttributeValue is a sensitive parameter and its value will be 4692 // replaced with "sensitive" in string returned by HttpEndpointCommonAttribute's 4693 // String and GoString methods. 4694 // 4695 // AttributeValue is a required field 4696 AttributeValue *string `type:"string" required:"true" sensitive:"true"` 4697 } 4698 4699 // String returns the string representation. 4700 // 4701 // API parameter values that are decorated as "sensitive" in the API will not 4702 // be included in the string output. The member name will be present, but the 4703 // value will be replaced with "sensitive". 4704 func (s HttpEndpointCommonAttribute) String() string { 4705 return awsutil.Prettify(s) 4706 } 4707 4708 // GoString returns the string representation. 4709 // 4710 // API parameter values that are decorated as "sensitive" in the API will not 4711 // be included in the string output. The member name will be present, but the 4712 // value will be replaced with "sensitive". 4713 func (s HttpEndpointCommonAttribute) GoString() string { 4714 return s.String() 4715 } 4716 4717 // Validate inspects the fields of the type to determine if they are valid. 4718 func (s *HttpEndpointCommonAttribute) Validate() error { 4719 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointCommonAttribute"} 4720 if s.AttributeName == nil { 4721 invalidParams.Add(request.NewErrParamRequired("AttributeName")) 4722 } 4723 if s.AttributeName != nil && len(*s.AttributeName) < 1 { 4724 invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) 4725 } 4726 if s.AttributeValue == nil { 4727 invalidParams.Add(request.NewErrParamRequired("AttributeValue")) 4728 } 4729 4730 if invalidParams.Len() > 0 { 4731 return invalidParams 4732 } 4733 return nil 4734 } 4735 4736 // SetAttributeName sets the AttributeName field's value. 4737 func (s *HttpEndpointCommonAttribute) SetAttributeName(v string) *HttpEndpointCommonAttribute { 4738 s.AttributeName = &v 4739 return s 4740 } 4741 4742 // SetAttributeValue sets the AttributeValue field's value. 4743 func (s *HttpEndpointCommonAttribute) SetAttributeValue(v string) *HttpEndpointCommonAttribute { 4744 s.AttributeValue = &v 4745 return s 4746 } 4747 4748 // Describes the configuration of the HTTP endpoint to which Kinesis Firehose 4749 // delivers data. 4750 type HttpEndpointConfiguration struct { 4751 _ struct{} `type:"structure"` 4752 4753 // The access key required for Kinesis Firehose to authenticate with the HTTP 4754 // endpoint selected as the destination. 4755 // 4756 // AccessKey is a sensitive parameter and its value will be 4757 // replaced with "sensitive" in string returned by HttpEndpointConfiguration's 4758 // String and GoString methods. 4759 AccessKey *string `type:"string" sensitive:"true"` 4760 4761 // The name of the HTTP endpoint selected as the destination. 4762 Name *string `min:"1" type:"string"` 4763 4764 // The URL of the HTTP endpoint selected as the destination. 4765 // 4766 // If you choose an HTTP endpoint as your destination, review and follow the 4767 // instructions in the Appendix - HTTP Endpoint Delivery Request and Response 4768 // Specifications (https://docs.aws.amazon.com/firehose/latest/dev/httpdeliveryrequestresponse.html). 4769 // 4770 // Url is a sensitive parameter and its value will be 4771 // replaced with "sensitive" in string returned by HttpEndpointConfiguration's 4772 // String and GoString methods. 4773 // 4774 // Url is a required field 4775 Url *string `min:"1" type:"string" required:"true" sensitive:"true"` 4776 } 4777 4778 // String returns the string representation. 4779 // 4780 // API parameter values that are decorated as "sensitive" in the API will not 4781 // be included in the string output. The member name will be present, but the 4782 // value will be replaced with "sensitive". 4783 func (s HttpEndpointConfiguration) String() string { 4784 return awsutil.Prettify(s) 4785 } 4786 4787 // GoString returns the string representation. 4788 // 4789 // API parameter values that are decorated as "sensitive" in the API will not 4790 // be included in the string output. The member name will be present, but the 4791 // value will be replaced with "sensitive". 4792 func (s HttpEndpointConfiguration) GoString() string { 4793 return s.String() 4794 } 4795 4796 // Validate inspects the fields of the type to determine if they are valid. 4797 func (s *HttpEndpointConfiguration) Validate() error { 4798 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointConfiguration"} 4799 if s.Name != nil && len(*s.Name) < 1 { 4800 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 4801 } 4802 if s.Url == nil { 4803 invalidParams.Add(request.NewErrParamRequired("Url")) 4804 } 4805 if s.Url != nil && len(*s.Url) < 1 { 4806 invalidParams.Add(request.NewErrParamMinLen("Url", 1)) 4807 } 4808 4809 if invalidParams.Len() > 0 { 4810 return invalidParams 4811 } 4812 return nil 4813 } 4814 4815 // SetAccessKey sets the AccessKey field's value. 4816 func (s *HttpEndpointConfiguration) SetAccessKey(v string) *HttpEndpointConfiguration { 4817 s.AccessKey = &v 4818 return s 4819 } 4820 4821 // SetName sets the Name field's value. 4822 func (s *HttpEndpointConfiguration) SetName(v string) *HttpEndpointConfiguration { 4823 s.Name = &v 4824 return s 4825 } 4826 4827 // SetUrl sets the Url field's value. 4828 func (s *HttpEndpointConfiguration) SetUrl(v string) *HttpEndpointConfiguration { 4829 s.Url = &v 4830 return s 4831 } 4832 4833 // Describes the HTTP endpoint selected as the destination. 4834 type HttpEndpointDescription struct { 4835 _ struct{} `type:"structure"` 4836 4837 // The name of the HTTP endpoint selected as the destination. 4838 Name *string `min:"1" type:"string"` 4839 4840 // The URL of the HTTP endpoint selected as the destination. 4841 // 4842 // Url is a sensitive parameter and its value will be 4843 // replaced with "sensitive" in string returned by HttpEndpointDescription's 4844 // String and GoString methods. 4845 Url *string `min:"1" type:"string" sensitive:"true"` 4846 } 4847 4848 // String returns the string representation. 4849 // 4850 // API parameter values that are decorated as "sensitive" in the API will not 4851 // be included in the string output. The member name will be present, but the 4852 // value will be replaced with "sensitive". 4853 func (s HttpEndpointDescription) String() string { 4854 return awsutil.Prettify(s) 4855 } 4856 4857 // GoString returns the string representation. 4858 // 4859 // API parameter values that are decorated as "sensitive" in the API will not 4860 // be included in the string output. The member name will be present, but the 4861 // value will be replaced with "sensitive". 4862 func (s HttpEndpointDescription) GoString() string { 4863 return s.String() 4864 } 4865 4866 // SetName sets the Name field's value. 4867 func (s *HttpEndpointDescription) SetName(v string) *HttpEndpointDescription { 4868 s.Name = &v 4869 return s 4870 } 4871 4872 // SetUrl sets the Url field's value. 4873 func (s *HttpEndpointDescription) SetUrl(v string) *HttpEndpointDescription { 4874 s.Url = &v 4875 return s 4876 } 4877 4878 // Describes the configuration of the HTTP endpoint destination. 4879 type HttpEndpointDestinationConfiguration struct { 4880 _ struct{} `type:"structure"` 4881 4882 // The buffering options that can be used before data is delivered to the specified 4883 // destination. Kinesis Data Firehose treats these options as hints, and it 4884 // might choose to use more optimal values. The SizeInMBs and IntervalInSeconds 4885 // parameters are optional. However, if you specify a value for one of them, 4886 // you must also provide a value for the other. 4887 BufferingHints *HttpEndpointBufferingHints `type:"structure"` 4888 4889 // Describes the Amazon CloudWatch logging options for your delivery stream. 4890 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 4891 4892 // The configuration of the HTTP endpoint selected as the destination. 4893 // 4894 // EndpointConfiguration is a required field 4895 EndpointConfiguration *HttpEndpointConfiguration `type:"structure" required:"true"` 4896 4897 // Describes a data processing configuration. 4898 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 4899 4900 // The configuration of the requeste sent to the HTTP endpoint specified as 4901 // the destination. 4902 RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` 4903 4904 // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver 4905 // data to the specified HTTP endpoint destination, or if it doesn't receive 4906 // a valid acknowledgment of receipt from the specified HTTP endpoint destination. 4907 RetryOptions *HttpEndpointRetryOptions `type:"structure"` 4908 4909 // Kinesis Data Firehose uses this IAM role for all the permissions that the 4910 // delivery stream needs. 4911 RoleARN *string `min:"1" type:"string"` 4912 4913 // Describes the S3 bucket backup options for the data that Kinesis Data Firehose 4914 // delivers to the HTTP endpoint destination. You can back up all documents 4915 // (AllData) or only the documents that Kinesis Data Firehose could not deliver 4916 // to the specified HTTP endpoint destination (FailedDataOnly). 4917 S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` 4918 4919 // Describes the configuration of a destination in Amazon S3. 4920 // 4921 // S3Configuration is a required field 4922 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 4923 } 4924 4925 // String returns the string representation. 4926 // 4927 // API parameter values that are decorated as "sensitive" in the API will not 4928 // be included in the string output. The member name will be present, but the 4929 // value will be replaced with "sensitive". 4930 func (s HttpEndpointDestinationConfiguration) String() string { 4931 return awsutil.Prettify(s) 4932 } 4933 4934 // GoString returns the string representation. 4935 // 4936 // API parameter values that are decorated as "sensitive" in the API will not 4937 // be included in the string output. The member name will be present, but the 4938 // value will be replaced with "sensitive". 4939 func (s HttpEndpointDestinationConfiguration) GoString() string { 4940 return s.String() 4941 } 4942 4943 // Validate inspects the fields of the type to determine if they are valid. 4944 func (s *HttpEndpointDestinationConfiguration) Validate() error { 4945 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointDestinationConfiguration"} 4946 if s.EndpointConfiguration == nil { 4947 invalidParams.Add(request.NewErrParamRequired("EndpointConfiguration")) 4948 } 4949 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 4950 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 4951 } 4952 if s.S3Configuration == nil { 4953 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 4954 } 4955 if s.BufferingHints != nil { 4956 if err := s.BufferingHints.Validate(); err != nil { 4957 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 4958 } 4959 } 4960 if s.EndpointConfiguration != nil { 4961 if err := s.EndpointConfiguration.Validate(); err != nil { 4962 invalidParams.AddNested("EndpointConfiguration", err.(request.ErrInvalidParams)) 4963 } 4964 } 4965 if s.ProcessingConfiguration != nil { 4966 if err := s.ProcessingConfiguration.Validate(); err != nil { 4967 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 4968 } 4969 } 4970 if s.RequestConfiguration != nil { 4971 if err := s.RequestConfiguration.Validate(); err != nil { 4972 invalidParams.AddNested("RequestConfiguration", err.(request.ErrInvalidParams)) 4973 } 4974 } 4975 if s.S3Configuration != nil { 4976 if err := s.S3Configuration.Validate(); err != nil { 4977 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 4978 } 4979 } 4980 4981 if invalidParams.Len() > 0 { 4982 return invalidParams 4983 } 4984 return nil 4985 } 4986 4987 // SetBufferingHints sets the BufferingHints field's value. 4988 func (s *HttpEndpointDestinationConfiguration) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationConfiguration { 4989 s.BufferingHints = v 4990 return s 4991 } 4992 4993 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 4994 func (s *HttpEndpointDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationConfiguration { 4995 s.CloudWatchLoggingOptions = v 4996 return s 4997 } 4998 4999 // SetEndpointConfiguration sets the EndpointConfiguration field's value. 5000 func (s *HttpEndpointDestinationConfiguration) SetEndpointConfiguration(v *HttpEndpointConfiguration) *HttpEndpointDestinationConfiguration { 5001 s.EndpointConfiguration = v 5002 return s 5003 } 5004 5005 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 5006 func (s *HttpEndpointDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationConfiguration { 5007 s.ProcessingConfiguration = v 5008 return s 5009 } 5010 5011 // SetRequestConfiguration sets the RequestConfiguration field's value. 5012 func (s *HttpEndpointDestinationConfiguration) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationConfiguration { 5013 s.RequestConfiguration = v 5014 return s 5015 } 5016 5017 // SetRetryOptions sets the RetryOptions field's value. 5018 func (s *HttpEndpointDestinationConfiguration) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationConfiguration { 5019 s.RetryOptions = v 5020 return s 5021 } 5022 5023 // SetRoleARN sets the RoleARN field's value. 5024 func (s *HttpEndpointDestinationConfiguration) SetRoleARN(v string) *HttpEndpointDestinationConfiguration { 5025 s.RoleARN = &v 5026 return s 5027 } 5028 5029 // SetS3BackupMode sets the S3BackupMode field's value. 5030 func (s *HttpEndpointDestinationConfiguration) SetS3BackupMode(v string) *HttpEndpointDestinationConfiguration { 5031 s.S3BackupMode = &v 5032 return s 5033 } 5034 5035 // SetS3Configuration sets the S3Configuration field's value. 5036 func (s *HttpEndpointDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *HttpEndpointDestinationConfiguration { 5037 s.S3Configuration = v 5038 return s 5039 } 5040 5041 // Describes the HTTP endpoint destination. 5042 type HttpEndpointDestinationDescription struct { 5043 _ struct{} `type:"structure"` 5044 5045 // Describes buffering options that can be applied to the data before it is 5046 // delivered to the HTTPS endpoint destination. Kinesis Data Firehose teats 5047 // these options as hints, and it might choose to use more optimal values. The 5048 // SizeInMBs and IntervalInSeconds parameters are optional. However, if specify 5049 // a value for one of them, you must also provide a value for the other. 5050 BufferingHints *HttpEndpointBufferingHints `type:"structure"` 5051 5052 // Describes the Amazon CloudWatch logging options for your delivery stream. 5053 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 5054 5055 // The configuration of the specified HTTP endpoint destination. 5056 EndpointConfiguration *HttpEndpointDescription `type:"structure"` 5057 5058 // Describes a data processing configuration. 5059 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 5060 5061 // The configuration of request sent to the HTTP endpoint specified as the destination. 5062 RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` 5063 5064 // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver 5065 // data to the specified HTTP endpoint destination, or if it doesn't receive 5066 // a valid acknowledgment of receipt from the specified HTTP endpoint destination. 5067 RetryOptions *HttpEndpointRetryOptions `type:"structure"` 5068 5069 // Kinesis Data Firehose uses this IAM role for all the permissions that the 5070 // delivery stream needs. 5071 RoleARN *string `min:"1" type:"string"` 5072 5073 // Describes the S3 bucket backup options for the data that Kinesis Firehose 5074 // delivers to the HTTP endpoint destination. You can back up all documents 5075 // (AllData) or only the documents that Kinesis Data Firehose could not deliver 5076 // to the specified HTTP endpoint destination (FailedDataOnly). 5077 S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` 5078 5079 // Describes a destination in Amazon S3. 5080 S3DestinationDescription *S3DestinationDescription `type:"structure"` 5081 } 5082 5083 // String returns the string representation. 5084 // 5085 // API parameter values that are decorated as "sensitive" in the API will not 5086 // be included in the string output. The member name will be present, but the 5087 // value will be replaced with "sensitive". 5088 func (s HttpEndpointDestinationDescription) String() string { 5089 return awsutil.Prettify(s) 5090 } 5091 5092 // GoString returns the string representation. 5093 // 5094 // API parameter values that are decorated as "sensitive" in the API will not 5095 // be included in the string output. The member name will be present, but the 5096 // value will be replaced with "sensitive". 5097 func (s HttpEndpointDestinationDescription) GoString() string { 5098 return s.String() 5099 } 5100 5101 // SetBufferingHints sets the BufferingHints field's value. 5102 func (s *HttpEndpointDestinationDescription) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationDescription { 5103 s.BufferingHints = v 5104 return s 5105 } 5106 5107 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 5108 func (s *HttpEndpointDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationDescription { 5109 s.CloudWatchLoggingOptions = v 5110 return s 5111 } 5112 5113 // SetEndpointConfiguration sets the EndpointConfiguration field's value. 5114 func (s *HttpEndpointDestinationDescription) SetEndpointConfiguration(v *HttpEndpointDescription) *HttpEndpointDestinationDescription { 5115 s.EndpointConfiguration = v 5116 return s 5117 } 5118 5119 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 5120 func (s *HttpEndpointDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationDescription { 5121 s.ProcessingConfiguration = v 5122 return s 5123 } 5124 5125 // SetRequestConfiguration sets the RequestConfiguration field's value. 5126 func (s *HttpEndpointDestinationDescription) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationDescription { 5127 s.RequestConfiguration = v 5128 return s 5129 } 5130 5131 // SetRetryOptions sets the RetryOptions field's value. 5132 func (s *HttpEndpointDestinationDescription) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationDescription { 5133 s.RetryOptions = v 5134 return s 5135 } 5136 5137 // SetRoleARN sets the RoleARN field's value. 5138 func (s *HttpEndpointDestinationDescription) SetRoleARN(v string) *HttpEndpointDestinationDescription { 5139 s.RoleARN = &v 5140 return s 5141 } 5142 5143 // SetS3BackupMode sets the S3BackupMode field's value. 5144 func (s *HttpEndpointDestinationDescription) SetS3BackupMode(v string) *HttpEndpointDestinationDescription { 5145 s.S3BackupMode = &v 5146 return s 5147 } 5148 5149 // SetS3DestinationDescription sets the S3DestinationDescription field's value. 5150 func (s *HttpEndpointDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *HttpEndpointDestinationDescription { 5151 s.S3DestinationDescription = v 5152 return s 5153 } 5154 5155 // Updates the specified HTTP endpoint destination. 5156 type HttpEndpointDestinationUpdate struct { 5157 _ struct{} `type:"structure"` 5158 5159 // Describes buffering options that can be applied to the data before it is 5160 // delivered to the HTTPS endpoint destination. Kinesis Data Firehose teats 5161 // these options as hints, and it might choose to use more optimal values. The 5162 // SizeInMBs and IntervalInSeconds parameters are optional. However, if specify 5163 // a value for one of them, you must also provide a value for the other. 5164 BufferingHints *HttpEndpointBufferingHints `type:"structure"` 5165 5166 // Describes the Amazon CloudWatch logging options for your delivery stream. 5167 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 5168 5169 // Describes the configuration of the HTTP endpoint destination. 5170 EndpointConfiguration *HttpEndpointConfiguration `type:"structure"` 5171 5172 // Describes a data processing configuration. 5173 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 5174 5175 // The configuration of the request sent to the HTTP endpoint specified as the 5176 // destination. 5177 RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` 5178 5179 // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver 5180 // data to the specified HTTP endpoint destination, or if it doesn't receive 5181 // a valid acknowledgment of receipt from the specified HTTP endpoint destination. 5182 RetryOptions *HttpEndpointRetryOptions `type:"structure"` 5183 5184 // Kinesis Data Firehose uses this IAM role for all the permissions that the 5185 // delivery stream needs. 5186 RoleARN *string `min:"1" type:"string"` 5187 5188 // Describes the S3 bucket backup options for the data that Kinesis Firehose 5189 // delivers to the HTTP endpoint destination. You can back up all documents 5190 // (AllData) or only the documents that Kinesis Data Firehose could not deliver 5191 // to the specified HTTP endpoint destination (FailedDataOnly). 5192 S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` 5193 5194 // Describes an update for a destination in Amazon S3. 5195 S3Update *S3DestinationUpdate `type:"structure"` 5196 } 5197 5198 // String returns the string representation. 5199 // 5200 // API parameter values that are decorated as "sensitive" in the API will not 5201 // be included in the string output. The member name will be present, but the 5202 // value will be replaced with "sensitive". 5203 func (s HttpEndpointDestinationUpdate) String() string { 5204 return awsutil.Prettify(s) 5205 } 5206 5207 // GoString returns the string representation. 5208 // 5209 // API parameter values that are decorated as "sensitive" in the API will not 5210 // be included in the string output. The member name will be present, but the 5211 // value will be replaced with "sensitive". 5212 func (s HttpEndpointDestinationUpdate) GoString() string { 5213 return s.String() 5214 } 5215 5216 // Validate inspects the fields of the type to determine if they are valid. 5217 func (s *HttpEndpointDestinationUpdate) Validate() error { 5218 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointDestinationUpdate"} 5219 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 5220 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 5221 } 5222 if s.BufferingHints != nil { 5223 if err := s.BufferingHints.Validate(); err != nil { 5224 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 5225 } 5226 } 5227 if s.EndpointConfiguration != nil { 5228 if err := s.EndpointConfiguration.Validate(); err != nil { 5229 invalidParams.AddNested("EndpointConfiguration", err.(request.ErrInvalidParams)) 5230 } 5231 } 5232 if s.ProcessingConfiguration != nil { 5233 if err := s.ProcessingConfiguration.Validate(); err != nil { 5234 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 5235 } 5236 } 5237 if s.RequestConfiguration != nil { 5238 if err := s.RequestConfiguration.Validate(); err != nil { 5239 invalidParams.AddNested("RequestConfiguration", err.(request.ErrInvalidParams)) 5240 } 5241 } 5242 if s.S3Update != nil { 5243 if err := s.S3Update.Validate(); err != nil { 5244 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 5245 } 5246 } 5247 5248 if invalidParams.Len() > 0 { 5249 return invalidParams 5250 } 5251 return nil 5252 } 5253 5254 // SetBufferingHints sets the BufferingHints field's value. 5255 func (s *HttpEndpointDestinationUpdate) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationUpdate { 5256 s.BufferingHints = v 5257 return s 5258 } 5259 5260 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 5261 func (s *HttpEndpointDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationUpdate { 5262 s.CloudWatchLoggingOptions = v 5263 return s 5264 } 5265 5266 // SetEndpointConfiguration sets the EndpointConfiguration field's value. 5267 func (s *HttpEndpointDestinationUpdate) SetEndpointConfiguration(v *HttpEndpointConfiguration) *HttpEndpointDestinationUpdate { 5268 s.EndpointConfiguration = v 5269 return s 5270 } 5271 5272 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 5273 func (s *HttpEndpointDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationUpdate { 5274 s.ProcessingConfiguration = v 5275 return s 5276 } 5277 5278 // SetRequestConfiguration sets the RequestConfiguration field's value. 5279 func (s *HttpEndpointDestinationUpdate) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationUpdate { 5280 s.RequestConfiguration = v 5281 return s 5282 } 5283 5284 // SetRetryOptions sets the RetryOptions field's value. 5285 func (s *HttpEndpointDestinationUpdate) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationUpdate { 5286 s.RetryOptions = v 5287 return s 5288 } 5289 5290 // SetRoleARN sets the RoleARN field's value. 5291 func (s *HttpEndpointDestinationUpdate) SetRoleARN(v string) *HttpEndpointDestinationUpdate { 5292 s.RoleARN = &v 5293 return s 5294 } 5295 5296 // SetS3BackupMode sets the S3BackupMode field's value. 5297 func (s *HttpEndpointDestinationUpdate) SetS3BackupMode(v string) *HttpEndpointDestinationUpdate { 5298 s.S3BackupMode = &v 5299 return s 5300 } 5301 5302 // SetS3Update sets the S3Update field's value. 5303 func (s *HttpEndpointDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *HttpEndpointDestinationUpdate { 5304 s.S3Update = v 5305 return s 5306 } 5307 5308 // The configuration of the HTTP endpoint request. 5309 type HttpEndpointRequestConfiguration struct { 5310 _ struct{} `type:"structure"` 5311 5312 // Describes the metadata sent to the HTTP endpoint destination. 5313 CommonAttributes []*HttpEndpointCommonAttribute `type:"list"` 5314 5315 // Kinesis Data Firehose uses the content encoding to compress the body of a 5316 // request before sending the request to the destination. For more information, 5317 // see Content-Encoding (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding) 5318 // in MDN Web Docs, the official Mozilla documentation. 5319 ContentEncoding *string `type:"string" enum:"ContentEncoding"` 5320 } 5321 5322 // String returns the string representation. 5323 // 5324 // API parameter values that are decorated as "sensitive" in the API will not 5325 // be included in the string output. The member name will be present, but the 5326 // value will be replaced with "sensitive". 5327 func (s HttpEndpointRequestConfiguration) String() string { 5328 return awsutil.Prettify(s) 5329 } 5330 5331 // GoString returns the string representation. 5332 // 5333 // API parameter values that are decorated as "sensitive" in the API will not 5334 // be included in the string output. The member name will be present, but the 5335 // value will be replaced with "sensitive". 5336 func (s HttpEndpointRequestConfiguration) GoString() string { 5337 return s.String() 5338 } 5339 5340 // Validate inspects the fields of the type to determine if they are valid. 5341 func (s *HttpEndpointRequestConfiguration) Validate() error { 5342 invalidParams := request.ErrInvalidParams{Context: "HttpEndpointRequestConfiguration"} 5343 if s.CommonAttributes != nil { 5344 for i, v := range s.CommonAttributes { 5345 if v == nil { 5346 continue 5347 } 5348 if err := v.Validate(); err != nil { 5349 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CommonAttributes", i), err.(request.ErrInvalidParams)) 5350 } 5351 } 5352 } 5353 5354 if invalidParams.Len() > 0 { 5355 return invalidParams 5356 } 5357 return nil 5358 } 5359 5360 // SetCommonAttributes sets the CommonAttributes field's value. 5361 func (s *HttpEndpointRequestConfiguration) SetCommonAttributes(v []*HttpEndpointCommonAttribute) *HttpEndpointRequestConfiguration { 5362 s.CommonAttributes = v 5363 return s 5364 } 5365 5366 // SetContentEncoding sets the ContentEncoding field's value. 5367 func (s *HttpEndpointRequestConfiguration) SetContentEncoding(v string) *HttpEndpointRequestConfiguration { 5368 s.ContentEncoding = &v 5369 return s 5370 } 5371 5372 // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver 5373 // data to the specified HTTP endpoint destination, or if it doesn't receive 5374 // a valid acknowledgment of receipt from the specified HTTP endpoint destination. 5375 type HttpEndpointRetryOptions struct { 5376 _ struct{} `type:"structure"` 5377 5378 // The total amount of time that Kinesis Data Firehose spends on retries. This 5379 // duration starts after the initial attempt to send data to the custom destination 5380 // via HTTPS endpoint fails. It doesn't include the periods during which Kinesis 5381 // Data Firehose waits for acknowledgment from the specified destination after 5382 // each attempt. 5383 DurationInSeconds *int64 `type:"integer"` 5384 } 5385 5386 // String returns the string representation. 5387 // 5388 // API parameter values that are decorated as "sensitive" in the API will not 5389 // be included in the string output. The member name will be present, but the 5390 // value will be replaced with "sensitive". 5391 func (s HttpEndpointRetryOptions) String() string { 5392 return awsutil.Prettify(s) 5393 } 5394 5395 // GoString returns the string representation. 5396 // 5397 // API parameter values that are decorated as "sensitive" in the API will not 5398 // be included in the string output. The member name will be present, but the 5399 // value will be replaced with "sensitive". 5400 func (s HttpEndpointRetryOptions) GoString() string { 5401 return s.String() 5402 } 5403 5404 // SetDurationInSeconds sets the DurationInSeconds field's value. 5405 func (s *HttpEndpointRetryOptions) SetDurationInSeconds(v int64) *HttpEndpointRetryOptions { 5406 s.DurationInSeconds = &v 5407 return s 5408 } 5409 5410 // Specifies the deserializer you want to use to convert the format of the input 5411 // data. This parameter is required if Enabled is set to true. 5412 type InputFormatConfiguration struct { 5413 _ struct{} `type:"structure"` 5414 5415 // Specifies which deserializer to use. You can choose either the Apache Hive 5416 // JSON SerDe or the OpenX JSON SerDe. If both are non-null, the server rejects 5417 // the request. 5418 Deserializer *Deserializer `type:"structure"` 5419 } 5420 5421 // String returns the string representation. 5422 // 5423 // API parameter values that are decorated as "sensitive" in the API will not 5424 // be included in the string output. The member name will be present, but the 5425 // value will be replaced with "sensitive". 5426 func (s InputFormatConfiguration) String() string { 5427 return awsutil.Prettify(s) 5428 } 5429 5430 // GoString returns the string representation. 5431 // 5432 // API parameter values that are decorated as "sensitive" in the API will not 5433 // be included in the string output. The member name will be present, but the 5434 // value will be replaced with "sensitive". 5435 func (s InputFormatConfiguration) GoString() string { 5436 return s.String() 5437 } 5438 5439 // SetDeserializer sets the Deserializer field's value. 5440 func (s *InputFormatConfiguration) SetDeserializer(v *Deserializer) *InputFormatConfiguration { 5441 s.Deserializer = v 5442 return s 5443 } 5444 5445 // The specified input parameter has a value that is not valid. 5446 type InvalidArgumentException struct { 5447 _ struct{} `type:"structure"` 5448 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5449 5450 // A message that provides information about the error. 5451 Message_ *string `locationName:"message" type:"string"` 5452 } 5453 5454 // String returns the string representation. 5455 // 5456 // API parameter values that are decorated as "sensitive" in the API will not 5457 // be included in the string output. The member name will be present, but the 5458 // value will be replaced with "sensitive". 5459 func (s InvalidArgumentException) String() string { 5460 return awsutil.Prettify(s) 5461 } 5462 5463 // GoString returns the string representation. 5464 // 5465 // API parameter values that are decorated as "sensitive" in the API will not 5466 // be included in the string output. The member name will be present, but the 5467 // value will be replaced with "sensitive". 5468 func (s InvalidArgumentException) GoString() string { 5469 return s.String() 5470 } 5471 5472 func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error { 5473 return &InvalidArgumentException{ 5474 RespMetadata: v, 5475 } 5476 } 5477 5478 // Code returns the exception type name. 5479 func (s *InvalidArgumentException) Code() string { 5480 return "InvalidArgumentException" 5481 } 5482 5483 // Message returns the exception's message. 5484 func (s *InvalidArgumentException) Message() string { 5485 if s.Message_ != nil { 5486 return *s.Message_ 5487 } 5488 return "" 5489 } 5490 5491 // OrigErr always returns nil, satisfies awserr.Error interface. 5492 func (s *InvalidArgumentException) OrigErr() error { 5493 return nil 5494 } 5495 5496 func (s *InvalidArgumentException) Error() string { 5497 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5498 } 5499 5500 // Status code returns the HTTP status code for the request's response error. 5501 func (s *InvalidArgumentException) StatusCode() int { 5502 return s.RespMetadata.StatusCode 5503 } 5504 5505 // RequestID returns the service's response RequestID for request. 5506 func (s *InvalidArgumentException) RequestID() string { 5507 return s.RespMetadata.RequestID 5508 } 5509 5510 // Kinesis Data Firehose throws this exception when an attempt to put records 5511 // or to start or stop delivery stream encryption fails. This happens when the 5512 // KMS service throws one of the following exception types: AccessDeniedException, 5513 // InvalidStateException, DisabledException, or NotFoundException. 5514 type InvalidKMSResourceException struct { 5515 _ struct{} `type:"structure"` 5516 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5517 5518 Code_ *string `locationName:"code" type:"string"` 5519 5520 Message_ *string `locationName:"message" type:"string"` 5521 } 5522 5523 // String returns the string representation. 5524 // 5525 // API parameter values that are decorated as "sensitive" in the API will not 5526 // be included in the string output. The member name will be present, but the 5527 // value will be replaced with "sensitive". 5528 func (s InvalidKMSResourceException) String() string { 5529 return awsutil.Prettify(s) 5530 } 5531 5532 // GoString returns the string representation. 5533 // 5534 // API parameter values that are decorated as "sensitive" in the API will not 5535 // be included in the string output. The member name will be present, but the 5536 // value will be replaced with "sensitive". 5537 func (s InvalidKMSResourceException) GoString() string { 5538 return s.String() 5539 } 5540 5541 func newErrorInvalidKMSResourceException(v protocol.ResponseMetadata) error { 5542 return &InvalidKMSResourceException{ 5543 RespMetadata: v, 5544 } 5545 } 5546 5547 // Code returns the exception type name. 5548 func (s *InvalidKMSResourceException) Code() string { 5549 return "InvalidKMSResourceException" 5550 } 5551 5552 // Message returns the exception's message. 5553 func (s *InvalidKMSResourceException) Message() string { 5554 if s.Message_ != nil { 5555 return *s.Message_ 5556 } 5557 return "" 5558 } 5559 5560 // OrigErr always returns nil, satisfies awserr.Error interface. 5561 func (s *InvalidKMSResourceException) OrigErr() error { 5562 return nil 5563 } 5564 5565 func (s *InvalidKMSResourceException) Error() string { 5566 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 5567 } 5568 5569 // Status code returns the HTTP status code for the request's response error. 5570 func (s *InvalidKMSResourceException) StatusCode() int { 5571 return s.RespMetadata.StatusCode 5572 } 5573 5574 // RequestID returns the service's response RequestID for request. 5575 func (s *InvalidKMSResourceException) RequestID() string { 5576 return s.RespMetadata.RequestID 5577 } 5578 5579 // Describes an encryption key for a destination in Amazon S3. 5580 type KMSEncryptionConfig struct { 5581 _ struct{} `type:"structure"` 5582 5583 // The Amazon Resource Name (ARN) of the encryption key. Must belong to the 5584 // same AWS Region as the destination Amazon S3 bucket. For more information, 5585 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 5586 // 5587 // AWSKMSKeyARN is a required field 5588 AWSKMSKeyARN *string `min:"1" type:"string" required:"true"` 5589 } 5590 5591 // String returns the string representation. 5592 // 5593 // API parameter values that are decorated as "sensitive" in the API will not 5594 // be included in the string output. The member name will be present, but the 5595 // value will be replaced with "sensitive". 5596 func (s KMSEncryptionConfig) String() string { 5597 return awsutil.Prettify(s) 5598 } 5599 5600 // GoString returns the string representation. 5601 // 5602 // API parameter values that are decorated as "sensitive" in the API will not 5603 // be included in the string output. The member name will be present, but the 5604 // value will be replaced with "sensitive". 5605 func (s KMSEncryptionConfig) GoString() string { 5606 return s.String() 5607 } 5608 5609 // Validate inspects the fields of the type to determine if they are valid. 5610 func (s *KMSEncryptionConfig) Validate() error { 5611 invalidParams := request.ErrInvalidParams{Context: "KMSEncryptionConfig"} 5612 if s.AWSKMSKeyARN == nil { 5613 invalidParams.Add(request.NewErrParamRequired("AWSKMSKeyARN")) 5614 } 5615 if s.AWSKMSKeyARN != nil && len(*s.AWSKMSKeyARN) < 1 { 5616 invalidParams.Add(request.NewErrParamMinLen("AWSKMSKeyARN", 1)) 5617 } 5618 5619 if invalidParams.Len() > 0 { 5620 return invalidParams 5621 } 5622 return nil 5623 } 5624 5625 // SetAWSKMSKeyARN sets the AWSKMSKeyARN field's value. 5626 func (s *KMSEncryptionConfig) SetAWSKMSKeyARN(v string) *KMSEncryptionConfig { 5627 s.AWSKMSKeyARN = &v 5628 return s 5629 } 5630 5631 // The stream and role Amazon Resource Names (ARNs) for a Kinesis data stream 5632 // used as the source for a delivery stream. 5633 type KinesisStreamSourceConfiguration struct { 5634 _ struct{} `type:"structure"` 5635 5636 // The ARN of the source Kinesis data stream. For more information, see Amazon 5637 // Kinesis Data Streams ARN Format (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). 5638 // 5639 // KinesisStreamARN is a required field 5640 KinesisStreamARN *string `min:"1" type:"string" required:"true"` 5641 5642 // The ARN of the role that provides access to the source Kinesis data stream. 5643 // For more information, see AWS Identity and Access Management (IAM) ARN Format 5644 // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam). 5645 // 5646 // RoleARN is a required field 5647 RoleARN *string `min:"1" type:"string" required:"true"` 5648 } 5649 5650 // String returns the string representation. 5651 // 5652 // API parameter values that are decorated as "sensitive" in the API will not 5653 // be included in the string output. The member name will be present, but the 5654 // value will be replaced with "sensitive". 5655 func (s KinesisStreamSourceConfiguration) String() string { 5656 return awsutil.Prettify(s) 5657 } 5658 5659 // GoString returns the string representation. 5660 // 5661 // API parameter values that are decorated as "sensitive" in the API will not 5662 // be included in the string output. The member name will be present, but the 5663 // value will be replaced with "sensitive". 5664 func (s KinesisStreamSourceConfiguration) GoString() string { 5665 return s.String() 5666 } 5667 5668 // Validate inspects the fields of the type to determine if they are valid. 5669 func (s *KinesisStreamSourceConfiguration) Validate() error { 5670 invalidParams := request.ErrInvalidParams{Context: "KinesisStreamSourceConfiguration"} 5671 if s.KinesisStreamARN == nil { 5672 invalidParams.Add(request.NewErrParamRequired("KinesisStreamARN")) 5673 } 5674 if s.KinesisStreamARN != nil && len(*s.KinesisStreamARN) < 1 { 5675 invalidParams.Add(request.NewErrParamMinLen("KinesisStreamARN", 1)) 5676 } 5677 if s.RoleARN == nil { 5678 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 5679 } 5680 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 5681 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 5682 } 5683 5684 if invalidParams.Len() > 0 { 5685 return invalidParams 5686 } 5687 return nil 5688 } 5689 5690 // SetKinesisStreamARN sets the KinesisStreamARN field's value. 5691 func (s *KinesisStreamSourceConfiguration) SetKinesisStreamARN(v string) *KinesisStreamSourceConfiguration { 5692 s.KinesisStreamARN = &v 5693 return s 5694 } 5695 5696 // SetRoleARN sets the RoleARN field's value. 5697 func (s *KinesisStreamSourceConfiguration) SetRoleARN(v string) *KinesisStreamSourceConfiguration { 5698 s.RoleARN = &v 5699 return s 5700 } 5701 5702 // Details about a Kinesis data stream used as the source for a Kinesis Data 5703 // Firehose delivery stream. 5704 type KinesisStreamSourceDescription struct { 5705 _ struct{} `type:"structure"` 5706 5707 // Kinesis Data Firehose starts retrieving records from the Kinesis data stream 5708 // starting with this timestamp. 5709 DeliveryStartTimestamp *time.Time `type:"timestamp"` 5710 5711 // The Amazon Resource Name (ARN) of the source Kinesis data stream. For more 5712 // 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). 5713 KinesisStreamARN *string `min:"1" type:"string"` 5714 5715 // The ARN of the role used by the source Kinesis data stream. For more information, 5716 // 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). 5717 RoleARN *string `min:"1" type:"string"` 5718 } 5719 5720 // String returns the string representation. 5721 // 5722 // API parameter values that are decorated as "sensitive" in the API will not 5723 // be included in the string output. The member name will be present, but the 5724 // value will be replaced with "sensitive". 5725 func (s KinesisStreamSourceDescription) String() string { 5726 return awsutil.Prettify(s) 5727 } 5728 5729 // GoString returns the string representation. 5730 // 5731 // API parameter values that are decorated as "sensitive" in the API will not 5732 // be included in the string output. The member name will be present, but the 5733 // value will be replaced with "sensitive". 5734 func (s KinesisStreamSourceDescription) GoString() string { 5735 return s.String() 5736 } 5737 5738 // SetDeliveryStartTimestamp sets the DeliveryStartTimestamp field's value. 5739 func (s *KinesisStreamSourceDescription) SetDeliveryStartTimestamp(v time.Time) *KinesisStreamSourceDescription { 5740 s.DeliveryStartTimestamp = &v 5741 return s 5742 } 5743 5744 // SetKinesisStreamARN sets the KinesisStreamARN field's value. 5745 func (s *KinesisStreamSourceDescription) SetKinesisStreamARN(v string) *KinesisStreamSourceDescription { 5746 s.KinesisStreamARN = &v 5747 return s 5748 } 5749 5750 // SetRoleARN sets the RoleARN field's value. 5751 func (s *KinesisStreamSourceDescription) SetRoleARN(v string) *KinesisStreamSourceDescription { 5752 s.RoleARN = &v 5753 return s 5754 } 5755 5756 // You have already reached the limit for a requested resource. 5757 type LimitExceededException struct { 5758 _ struct{} `type:"structure"` 5759 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5760 5761 // A message that provides information about the error. 5762 Message_ *string `locationName:"message" type:"string"` 5763 } 5764 5765 // String returns the string representation. 5766 // 5767 // API parameter values that are decorated as "sensitive" in the API will not 5768 // be included in the string output. The member name will be present, but the 5769 // value will be replaced with "sensitive". 5770 func (s LimitExceededException) String() string { 5771 return awsutil.Prettify(s) 5772 } 5773 5774 // GoString returns the string representation. 5775 // 5776 // API parameter values that are decorated as "sensitive" in the API will not 5777 // be included in the string output. The member name will be present, but the 5778 // value will be replaced with "sensitive". 5779 func (s LimitExceededException) GoString() string { 5780 return s.String() 5781 } 5782 5783 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 5784 return &LimitExceededException{ 5785 RespMetadata: v, 5786 } 5787 } 5788 5789 // Code returns the exception type name. 5790 func (s *LimitExceededException) Code() string { 5791 return "LimitExceededException" 5792 } 5793 5794 // Message returns the exception's message. 5795 func (s *LimitExceededException) Message() string { 5796 if s.Message_ != nil { 5797 return *s.Message_ 5798 } 5799 return "" 5800 } 5801 5802 // OrigErr always returns nil, satisfies awserr.Error interface. 5803 func (s *LimitExceededException) OrigErr() error { 5804 return nil 5805 } 5806 5807 func (s *LimitExceededException) Error() string { 5808 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5809 } 5810 5811 // Status code returns the HTTP status code for the request's response error. 5812 func (s *LimitExceededException) StatusCode() int { 5813 return s.RespMetadata.StatusCode 5814 } 5815 5816 // RequestID returns the service's response RequestID for request. 5817 func (s *LimitExceededException) RequestID() string { 5818 return s.RespMetadata.RequestID 5819 } 5820 5821 type ListDeliveryStreamsInput struct { 5822 _ struct{} `type:"structure"` 5823 5824 // The delivery stream type. This can be one of the following values: 5825 // 5826 // * DirectPut: Provider applications access the delivery stream directly. 5827 // 5828 // * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream 5829 // as a source. 5830 // 5831 // This parameter is optional. If this parameter is omitted, delivery streams 5832 // of all types are returned. 5833 DeliveryStreamType *string `type:"string" enum:"DeliveryStreamType"` 5834 5835 // The list of delivery streams returned by this call to ListDeliveryStreams 5836 // will start with the delivery stream whose name comes alphabetically immediately 5837 // after the name you specify in ExclusiveStartDeliveryStreamName. 5838 ExclusiveStartDeliveryStreamName *string `min:"1" type:"string"` 5839 5840 // The maximum number of delivery streams to list. The default value is 10. 5841 Limit *int64 `min:"1" type:"integer"` 5842 } 5843 5844 // String returns the string representation. 5845 // 5846 // API parameter values that are decorated as "sensitive" in the API will not 5847 // be included in the string output. The member name will be present, but the 5848 // value will be replaced with "sensitive". 5849 func (s ListDeliveryStreamsInput) String() string { 5850 return awsutil.Prettify(s) 5851 } 5852 5853 // GoString returns the string representation. 5854 // 5855 // API parameter values that are decorated as "sensitive" in the API will not 5856 // be included in the string output. The member name will be present, but the 5857 // value will be replaced with "sensitive". 5858 func (s ListDeliveryStreamsInput) GoString() string { 5859 return s.String() 5860 } 5861 5862 // Validate inspects the fields of the type to determine if they are valid. 5863 func (s *ListDeliveryStreamsInput) Validate() error { 5864 invalidParams := request.ErrInvalidParams{Context: "ListDeliveryStreamsInput"} 5865 if s.ExclusiveStartDeliveryStreamName != nil && len(*s.ExclusiveStartDeliveryStreamName) < 1 { 5866 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartDeliveryStreamName", 1)) 5867 } 5868 if s.Limit != nil && *s.Limit < 1 { 5869 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 5870 } 5871 5872 if invalidParams.Len() > 0 { 5873 return invalidParams 5874 } 5875 return nil 5876 } 5877 5878 // SetDeliveryStreamType sets the DeliveryStreamType field's value. 5879 func (s *ListDeliveryStreamsInput) SetDeliveryStreamType(v string) *ListDeliveryStreamsInput { 5880 s.DeliveryStreamType = &v 5881 return s 5882 } 5883 5884 // SetExclusiveStartDeliveryStreamName sets the ExclusiveStartDeliveryStreamName field's value. 5885 func (s *ListDeliveryStreamsInput) SetExclusiveStartDeliveryStreamName(v string) *ListDeliveryStreamsInput { 5886 s.ExclusiveStartDeliveryStreamName = &v 5887 return s 5888 } 5889 5890 // SetLimit sets the Limit field's value. 5891 func (s *ListDeliveryStreamsInput) SetLimit(v int64) *ListDeliveryStreamsInput { 5892 s.Limit = &v 5893 return s 5894 } 5895 5896 type ListDeliveryStreamsOutput struct { 5897 _ struct{} `type:"structure"` 5898 5899 // The names of the delivery streams. 5900 // 5901 // DeliveryStreamNames is a required field 5902 DeliveryStreamNames []*string `type:"list" required:"true"` 5903 5904 // Indicates whether there are more delivery streams available to list. 5905 // 5906 // HasMoreDeliveryStreams is a required field 5907 HasMoreDeliveryStreams *bool `type:"boolean" required:"true"` 5908 } 5909 5910 // String returns the string representation. 5911 // 5912 // API parameter values that are decorated as "sensitive" in the API will not 5913 // be included in the string output. The member name will be present, but the 5914 // value will be replaced with "sensitive". 5915 func (s ListDeliveryStreamsOutput) String() string { 5916 return awsutil.Prettify(s) 5917 } 5918 5919 // GoString returns the string representation. 5920 // 5921 // API parameter values that are decorated as "sensitive" in the API will not 5922 // be included in the string output. The member name will be present, but the 5923 // value will be replaced with "sensitive". 5924 func (s ListDeliveryStreamsOutput) GoString() string { 5925 return s.String() 5926 } 5927 5928 // SetDeliveryStreamNames sets the DeliveryStreamNames field's value. 5929 func (s *ListDeliveryStreamsOutput) SetDeliveryStreamNames(v []*string) *ListDeliveryStreamsOutput { 5930 s.DeliveryStreamNames = v 5931 return s 5932 } 5933 5934 // SetHasMoreDeliveryStreams sets the HasMoreDeliveryStreams field's value. 5935 func (s *ListDeliveryStreamsOutput) SetHasMoreDeliveryStreams(v bool) *ListDeliveryStreamsOutput { 5936 s.HasMoreDeliveryStreams = &v 5937 return s 5938 } 5939 5940 type ListTagsForDeliveryStreamInput struct { 5941 _ struct{} `type:"structure"` 5942 5943 // The name of the delivery stream whose tags you want to list. 5944 // 5945 // DeliveryStreamName is a required field 5946 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 5947 5948 // The key to use as the starting point for the list of tags. If you set this 5949 // parameter, ListTagsForDeliveryStream gets all tags that occur after ExclusiveStartTagKey. 5950 ExclusiveStartTagKey *string `min:"1" type:"string"` 5951 5952 // The number of tags to return. If this number is less than the total number 5953 // of tags associated with the delivery stream, HasMoreTags is set to true in 5954 // the response. To list additional tags, set ExclusiveStartTagKey to the last 5955 // key in the response. 5956 Limit *int64 `min:"1" type:"integer"` 5957 } 5958 5959 // String returns the string representation. 5960 // 5961 // API parameter values that are decorated as "sensitive" in the API will not 5962 // be included in the string output. The member name will be present, but the 5963 // value will be replaced with "sensitive". 5964 func (s ListTagsForDeliveryStreamInput) String() string { 5965 return awsutil.Prettify(s) 5966 } 5967 5968 // GoString returns the string representation. 5969 // 5970 // API parameter values that are decorated as "sensitive" in the API will not 5971 // be included in the string output. The member name will be present, but the 5972 // value will be replaced with "sensitive". 5973 func (s ListTagsForDeliveryStreamInput) GoString() string { 5974 return s.String() 5975 } 5976 5977 // Validate inspects the fields of the type to determine if they are valid. 5978 func (s *ListTagsForDeliveryStreamInput) Validate() error { 5979 invalidParams := request.ErrInvalidParams{Context: "ListTagsForDeliveryStreamInput"} 5980 if s.DeliveryStreamName == nil { 5981 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 5982 } 5983 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 5984 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 5985 } 5986 if s.ExclusiveStartTagKey != nil && len(*s.ExclusiveStartTagKey) < 1 { 5987 invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartTagKey", 1)) 5988 } 5989 if s.Limit != nil && *s.Limit < 1 { 5990 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 5991 } 5992 5993 if invalidParams.Len() > 0 { 5994 return invalidParams 5995 } 5996 return nil 5997 } 5998 5999 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 6000 func (s *ListTagsForDeliveryStreamInput) SetDeliveryStreamName(v string) *ListTagsForDeliveryStreamInput { 6001 s.DeliveryStreamName = &v 6002 return s 6003 } 6004 6005 // SetExclusiveStartTagKey sets the ExclusiveStartTagKey field's value. 6006 func (s *ListTagsForDeliveryStreamInput) SetExclusiveStartTagKey(v string) *ListTagsForDeliveryStreamInput { 6007 s.ExclusiveStartTagKey = &v 6008 return s 6009 } 6010 6011 // SetLimit sets the Limit field's value. 6012 func (s *ListTagsForDeliveryStreamInput) SetLimit(v int64) *ListTagsForDeliveryStreamInput { 6013 s.Limit = &v 6014 return s 6015 } 6016 6017 type ListTagsForDeliveryStreamOutput struct { 6018 _ struct{} `type:"structure"` 6019 6020 // If this is true in the response, more tags are available. To list the remaining 6021 // tags, set ExclusiveStartTagKey to the key of the last tag returned and call 6022 // ListTagsForDeliveryStream again. 6023 // 6024 // HasMoreTags is a required field 6025 HasMoreTags *bool `type:"boolean" required:"true"` 6026 6027 // A list of tags associated with DeliveryStreamName, starting with the first 6028 // tag after ExclusiveStartTagKey and up to the specified Limit. 6029 // 6030 // Tags is a required field 6031 Tags []*Tag `type:"list" required:"true"` 6032 } 6033 6034 // String returns the string representation. 6035 // 6036 // API parameter values that are decorated as "sensitive" in the API will not 6037 // be included in the string output. The member name will be present, but the 6038 // value will be replaced with "sensitive". 6039 func (s ListTagsForDeliveryStreamOutput) String() string { 6040 return awsutil.Prettify(s) 6041 } 6042 6043 // GoString returns the string representation. 6044 // 6045 // API parameter values that are decorated as "sensitive" in the API will not 6046 // be included in the string output. The member name will be present, but the 6047 // value will be replaced with "sensitive". 6048 func (s ListTagsForDeliveryStreamOutput) GoString() string { 6049 return s.String() 6050 } 6051 6052 // SetHasMoreTags sets the HasMoreTags field's value. 6053 func (s *ListTagsForDeliveryStreamOutput) SetHasMoreTags(v bool) *ListTagsForDeliveryStreamOutput { 6054 s.HasMoreTags = &v 6055 return s 6056 } 6057 6058 // SetTags sets the Tags field's value. 6059 func (s *ListTagsForDeliveryStreamOutput) SetTags(v []*Tag) *ListTagsForDeliveryStreamOutput { 6060 s.Tags = v 6061 return s 6062 } 6063 6064 // The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which 6065 // means converting it from the JSON format in preparation for serializing it 6066 // to the Parquet or ORC format. This is one of two deserializers you can choose, 6067 // depending on which one offers the functionality you need. The other option 6068 // is the native Hive / HCatalog JsonSerDe. 6069 type OpenXJsonSerDe struct { 6070 _ struct{} `type:"structure"` 6071 6072 // When set to true, which is the default, Kinesis Data Firehose converts JSON 6073 // keys to lowercase before deserializing them. 6074 CaseInsensitive *bool `type:"boolean"` 6075 6076 // Maps column names to JSON keys that aren't identical to the column names. 6077 // This is useful when the JSON contains keys that are Hive keywords. For example, 6078 // timestamp is a Hive keyword. If you have a JSON key named timestamp, set 6079 // this parameter to {"ts": "timestamp"} to map this key to a column named ts. 6080 ColumnToJsonKeyMappings map[string]*string `type:"map"` 6081 6082 // When set to true, specifies that the names of the keys include dots and that 6083 // you want Kinesis Data Firehose to replace them with underscores. This is 6084 // useful because Apache Hive does not allow dots in column names. For example, 6085 // if the JSON contains a key whose name is "a.b", you can define the column 6086 // name to be "a_b" when using this option. 6087 // 6088 // The default is false. 6089 ConvertDotsInJsonKeysToUnderscores *bool `type:"boolean"` 6090 } 6091 6092 // String returns the string representation. 6093 // 6094 // API parameter values that are decorated as "sensitive" in the API will not 6095 // be included in the string output. The member name will be present, but the 6096 // value will be replaced with "sensitive". 6097 func (s OpenXJsonSerDe) String() string { 6098 return awsutil.Prettify(s) 6099 } 6100 6101 // GoString returns the string representation. 6102 // 6103 // API parameter values that are decorated as "sensitive" in the API will not 6104 // be included in the string output. The member name will be present, but the 6105 // value will be replaced with "sensitive". 6106 func (s OpenXJsonSerDe) GoString() string { 6107 return s.String() 6108 } 6109 6110 // SetCaseInsensitive sets the CaseInsensitive field's value. 6111 func (s *OpenXJsonSerDe) SetCaseInsensitive(v bool) *OpenXJsonSerDe { 6112 s.CaseInsensitive = &v 6113 return s 6114 } 6115 6116 // SetColumnToJsonKeyMappings sets the ColumnToJsonKeyMappings field's value. 6117 func (s *OpenXJsonSerDe) SetColumnToJsonKeyMappings(v map[string]*string) *OpenXJsonSerDe { 6118 s.ColumnToJsonKeyMappings = v 6119 return s 6120 } 6121 6122 // SetConvertDotsInJsonKeysToUnderscores sets the ConvertDotsInJsonKeysToUnderscores field's value. 6123 func (s *OpenXJsonSerDe) SetConvertDotsInJsonKeysToUnderscores(v bool) *OpenXJsonSerDe { 6124 s.ConvertDotsInJsonKeysToUnderscores = &v 6125 return s 6126 } 6127 6128 // A serializer to use for converting data to the ORC format before storing 6129 // it in Amazon S3. For more information, see Apache ORC (https://orc.apache.org/docs/). 6130 type OrcSerDe struct { 6131 _ struct{} `type:"structure"` 6132 6133 // The Hadoop Distributed File System (HDFS) block size. This is useful if you 6134 // intend to copy the data from Amazon S3 to HDFS before querying. The default 6135 // is 256 MiB and the minimum is 64 MiB. Kinesis Data Firehose uses this value 6136 // for padding calculations. 6137 BlockSizeBytes *int64 `min:"6.7108864e+07" type:"integer"` 6138 6139 // The column names for which you want Kinesis Data Firehose to create bloom 6140 // filters. The default is null. 6141 BloomFilterColumns []*string `type:"list"` 6142 6143 // The Bloom filter false positive probability (FPP). The lower the FPP, the 6144 // bigger the Bloom filter. The default value is 0.05, the minimum is 0, and 6145 // the maximum is 1. 6146 BloomFilterFalsePositiveProbability *float64 `type:"double"` 6147 6148 // The compression code to use over data blocks. The default is SNAPPY. 6149 Compression *string `type:"string" enum:"OrcCompression"` 6150 6151 // Represents the fraction of the total number of non-null rows. To turn off 6152 // dictionary encoding, set this fraction to a number that is less than the 6153 // number of distinct keys in a dictionary. To always use dictionary encoding, 6154 // set this threshold to 1. 6155 DictionaryKeyThreshold *float64 `type:"double"` 6156 6157 // Set this to true to indicate that you want stripes to be padded to the HDFS 6158 // block boundaries. This is useful if you intend to copy the data from Amazon 6159 // S3 to HDFS before querying. The default is false. 6160 EnablePadding *bool `type:"boolean"` 6161 6162 // The version of the file to write. The possible values are V0_11 and V0_12. 6163 // The default is V0_12. 6164 FormatVersion *string `type:"string" enum:"OrcFormatVersion"` 6165 6166 // A number between 0 and 1 that defines the tolerance for block padding as 6167 // a decimal fraction of stripe size. The default value is 0.05, which means 6168 // 5 percent of stripe size. 6169 // 6170 // For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the 6171 // default block padding tolerance of 5 percent reserves a maximum of 3.2 MiB 6172 // for padding within the 256 MiB block. In such a case, if the available size 6173 // within the block is more than 3.2 MiB, a new, smaller stripe is inserted 6174 // to fit within that space. This ensures that no stripe crosses block boundaries 6175 // and causes remote reads within a node-local task. 6176 // 6177 // Kinesis Data Firehose ignores this parameter when OrcSerDe$EnablePadding 6178 // is false. 6179 PaddingTolerance *float64 `type:"double"` 6180 6181 // The number of rows between index entries. The default is 10,000 and the minimum 6182 // is 1,000. 6183 RowIndexStride *int64 `min:"1000" type:"integer"` 6184 6185 // The number of bytes in each stripe. The default is 64 MiB and the minimum 6186 // is 8 MiB. 6187 StripeSizeBytes *int64 `min:"8.388608e+06" type:"integer"` 6188 } 6189 6190 // String returns the string representation. 6191 // 6192 // API parameter values that are decorated as "sensitive" in the API will not 6193 // be included in the string output. The member name will be present, but the 6194 // value will be replaced with "sensitive". 6195 func (s OrcSerDe) String() string { 6196 return awsutil.Prettify(s) 6197 } 6198 6199 // GoString returns the string representation. 6200 // 6201 // API parameter values that are decorated as "sensitive" in the API will not 6202 // be included in the string output. The member name will be present, but the 6203 // value will be replaced with "sensitive". 6204 func (s OrcSerDe) GoString() string { 6205 return s.String() 6206 } 6207 6208 // Validate inspects the fields of the type to determine if they are valid. 6209 func (s *OrcSerDe) Validate() error { 6210 invalidParams := request.ErrInvalidParams{Context: "OrcSerDe"} 6211 if s.BlockSizeBytes != nil && *s.BlockSizeBytes < 6.7108864e+07 { 6212 invalidParams.Add(request.NewErrParamMinValue("BlockSizeBytes", 6.7108864e+07)) 6213 } 6214 if s.RowIndexStride != nil && *s.RowIndexStride < 1000 { 6215 invalidParams.Add(request.NewErrParamMinValue("RowIndexStride", 1000)) 6216 } 6217 if s.StripeSizeBytes != nil && *s.StripeSizeBytes < 8.388608e+06 { 6218 invalidParams.Add(request.NewErrParamMinValue("StripeSizeBytes", 8.388608e+06)) 6219 } 6220 6221 if invalidParams.Len() > 0 { 6222 return invalidParams 6223 } 6224 return nil 6225 } 6226 6227 // SetBlockSizeBytes sets the BlockSizeBytes field's value. 6228 func (s *OrcSerDe) SetBlockSizeBytes(v int64) *OrcSerDe { 6229 s.BlockSizeBytes = &v 6230 return s 6231 } 6232 6233 // SetBloomFilterColumns sets the BloomFilterColumns field's value. 6234 func (s *OrcSerDe) SetBloomFilterColumns(v []*string) *OrcSerDe { 6235 s.BloomFilterColumns = v 6236 return s 6237 } 6238 6239 // SetBloomFilterFalsePositiveProbability sets the BloomFilterFalsePositiveProbability field's value. 6240 func (s *OrcSerDe) SetBloomFilterFalsePositiveProbability(v float64) *OrcSerDe { 6241 s.BloomFilterFalsePositiveProbability = &v 6242 return s 6243 } 6244 6245 // SetCompression sets the Compression field's value. 6246 func (s *OrcSerDe) SetCompression(v string) *OrcSerDe { 6247 s.Compression = &v 6248 return s 6249 } 6250 6251 // SetDictionaryKeyThreshold sets the DictionaryKeyThreshold field's value. 6252 func (s *OrcSerDe) SetDictionaryKeyThreshold(v float64) *OrcSerDe { 6253 s.DictionaryKeyThreshold = &v 6254 return s 6255 } 6256 6257 // SetEnablePadding sets the EnablePadding field's value. 6258 func (s *OrcSerDe) SetEnablePadding(v bool) *OrcSerDe { 6259 s.EnablePadding = &v 6260 return s 6261 } 6262 6263 // SetFormatVersion sets the FormatVersion field's value. 6264 func (s *OrcSerDe) SetFormatVersion(v string) *OrcSerDe { 6265 s.FormatVersion = &v 6266 return s 6267 } 6268 6269 // SetPaddingTolerance sets the PaddingTolerance field's value. 6270 func (s *OrcSerDe) SetPaddingTolerance(v float64) *OrcSerDe { 6271 s.PaddingTolerance = &v 6272 return s 6273 } 6274 6275 // SetRowIndexStride sets the RowIndexStride field's value. 6276 func (s *OrcSerDe) SetRowIndexStride(v int64) *OrcSerDe { 6277 s.RowIndexStride = &v 6278 return s 6279 } 6280 6281 // SetStripeSizeBytes sets the StripeSizeBytes field's value. 6282 func (s *OrcSerDe) SetStripeSizeBytes(v int64) *OrcSerDe { 6283 s.StripeSizeBytes = &v 6284 return s 6285 } 6286 6287 // Specifies the serializer that you want Kinesis Data Firehose to use to convert 6288 // the format of your data before it writes it to Amazon S3. This parameter 6289 // is required if Enabled is set to true. 6290 type OutputFormatConfiguration struct { 6291 _ struct{} `type:"structure"` 6292 6293 // Specifies which serializer to use. You can choose either the ORC SerDe or 6294 // the Parquet SerDe. If both are non-null, the server rejects the request. 6295 Serializer *Serializer `type:"structure"` 6296 } 6297 6298 // String returns the string representation. 6299 // 6300 // API parameter values that are decorated as "sensitive" in the API will not 6301 // be included in the string output. The member name will be present, but the 6302 // value will be replaced with "sensitive". 6303 func (s OutputFormatConfiguration) String() string { 6304 return awsutil.Prettify(s) 6305 } 6306 6307 // GoString returns the string representation. 6308 // 6309 // API parameter values that are decorated as "sensitive" in the API will not 6310 // be included in the string output. The member name will be present, but the 6311 // value will be replaced with "sensitive". 6312 func (s OutputFormatConfiguration) GoString() string { 6313 return s.String() 6314 } 6315 6316 // Validate inspects the fields of the type to determine if they are valid. 6317 func (s *OutputFormatConfiguration) Validate() error { 6318 invalidParams := request.ErrInvalidParams{Context: "OutputFormatConfiguration"} 6319 if s.Serializer != nil { 6320 if err := s.Serializer.Validate(); err != nil { 6321 invalidParams.AddNested("Serializer", err.(request.ErrInvalidParams)) 6322 } 6323 } 6324 6325 if invalidParams.Len() > 0 { 6326 return invalidParams 6327 } 6328 return nil 6329 } 6330 6331 // SetSerializer sets the Serializer field's value. 6332 func (s *OutputFormatConfiguration) SetSerializer(v *Serializer) *OutputFormatConfiguration { 6333 s.Serializer = v 6334 return s 6335 } 6336 6337 // A serializer to use for converting data to the Parquet format before storing 6338 // it in Amazon S3. For more information, see Apache Parquet (https://parquet.apache.org/documentation/latest/). 6339 type ParquetSerDe struct { 6340 _ struct{} `type:"structure"` 6341 6342 // The Hadoop Distributed File System (HDFS) block size. This is useful if you 6343 // intend to copy the data from Amazon S3 to HDFS before querying. The default 6344 // is 256 MiB and the minimum is 64 MiB. Kinesis Data Firehose uses this value 6345 // for padding calculations. 6346 BlockSizeBytes *int64 `min:"6.7108864e+07" type:"integer"` 6347 6348 // The compression code to use over data blocks. The possible values are UNCOMPRESSED, 6349 // SNAPPY, and GZIP, with the default being SNAPPY. Use SNAPPY for higher decompression 6350 // speed. Use GZIP if the compression ratio is more important than speed. 6351 Compression *string `type:"string" enum:"ParquetCompression"` 6352 6353 // Indicates whether to enable dictionary compression. 6354 EnableDictionaryCompression *bool `type:"boolean"` 6355 6356 // The maximum amount of padding to apply. This is useful if you intend to copy 6357 // the data from Amazon S3 to HDFS before querying. The default is 0. 6358 MaxPaddingBytes *int64 `type:"integer"` 6359 6360 // The Parquet page size. Column chunks are divided into pages. A page is conceptually 6361 // an indivisible unit (in terms of compression and encoding). The minimum value 6362 // is 64 KiB and the default is 1 MiB. 6363 PageSizeBytes *int64 `min:"65536" type:"integer"` 6364 6365 // Indicates the version of row format to output. The possible values are V1 6366 // and V2. The default is V1. 6367 WriterVersion *string `type:"string" enum:"ParquetWriterVersion"` 6368 } 6369 6370 // String returns the string representation. 6371 // 6372 // API parameter values that are decorated as "sensitive" in the API will not 6373 // be included in the string output. The member name will be present, but the 6374 // value will be replaced with "sensitive". 6375 func (s ParquetSerDe) String() string { 6376 return awsutil.Prettify(s) 6377 } 6378 6379 // GoString returns the string representation. 6380 // 6381 // API parameter values that are decorated as "sensitive" in the API will not 6382 // be included in the string output. The member name will be present, but the 6383 // value will be replaced with "sensitive". 6384 func (s ParquetSerDe) GoString() string { 6385 return s.String() 6386 } 6387 6388 // Validate inspects the fields of the type to determine if they are valid. 6389 func (s *ParquetSerDe) Validate() error { 6390 invalidParams := request.ErrInvalidParams{Context: "ParquetSerDe"} 6391 if s.BlockSizeBytes != nil && *s.BlockSizeBytes < 6.7108864e+07 { 6392 invalidParams.Add(request.NewErrParamMinValue("BlockSizeBytes", 6.7108864e+07)) 6393 } 6394 if s.PageSizeBytes != nil && *s.PageSizeBytes < 65536 { 6395 invalidParams.Add(request.NewErrParamMinValue("PageSizeBytes", 65536)) 6396 } 6397 6398 if invalidParams.Len() > 0 { 6399 return invalidParams 6400 } 6401 return nil 6402 } 6403 6404 // SetBlockSizeBytes sets the BlockSizeBytes field's value. 6405 func (s *ParquetSerDe) SetBlockSizeBytes(v int64) *ParquetSerDe { 6406 s.BlockSizeBytes = &v 6407 return s 6408 } 6409 6410 // SetCompression sets the Compression field's value. 6411 func (s *ParquetSerDe) SetCompression(v string) *ParquetSerDe { 6412 s.Compression = &v 6413 return s 6414 } 6415 6416 // SetEnableDictionaryCompression sets the EnableDictionaryCompression field's value. 6417 func (s *ParquetSerDe) SetEnableDictionaryCompression(v bool) *ParquetSerDe { 6418 s.EnableDictionaryCompression = &v 6419 return s 6420 } 6421 6422 // SetMaxPaddingBytes sets the MaxPaddingBytes field's value. 6423 func (s *ParquetSerDe) SetMaxPaddingBytes(v int64) *ParquetSerDe { 6424 s.MaxPaddingBytes = &v 6425 return s 6426 } 6427 6428 // SetPageSizeBytes sets the PageSizeBytes field's value. 6429 func (s *ParquetSerDe) SetPageSizeBytes(v int64) *ParquetSerDe { 6430 s.PageSizeBytes = &v 6431 return s 6432 } 6433 6434 // SetWriterVersion sets the WriterVersion field's value. 6435 func (s *ParquetSerDe) SetWriterVersion(v string) *ParquetSerDe { 6436 s.WriterVersion = &v 6437 return s 6438 } 6439 6440 // Describes a data processing configuration. 6441 type ProcessingConfiguration struct { 6442 _ struct{} `type:"structure"` 6443 6444 // Enables or disables data processing. 6445 Enabled *bool `type:"boolean"` 6446 6447 // The data processors. 6448 Processors []*Processor `type:"list"` 6449 } 6450 6451 // String returns the string representation. 6452 // 6453 // API parameter values that are decorated as "sensitive" in the API will not 6454 // be included in the string output. The member name will be present, but the 6455 // value will be replaced with "sensitive". 6456 func (s ProcessingConfiguration) String() string { 6457 return awsutil.Prettify(s) 6458 } 6459 6460 // GoString returns the string representation. 6461 // 6462 // API parameter values that are decorated as "sensitive" in the API will not 6463 // be included in the string output. The member name will be present, but the 6464 // value will be replaced with "sensitive". 6465 func (s ProcessingConfiguration) GoString() string { 6466 return s.String() 6467 } 6468 6469 // Validate inspects the fields of the type to determine if they are valid. 6470 func (s *ProcessingConfiguration) Validate() error { 6471 invalidParams := request.ErrInvalidParams{Context: "ProcessingConfiguration"} 6472 if s.Processors != nil { 6473 for i, v := range s.Processors { 6474 if v == nil { 6475 continue 6476 } 6477 if err := v.Validate(); err != nil { 6478 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Processors", i), err.(request.ErrInvalidParams)) 6479 } 6480 } 6481 } 6482 6483 if invalidParams.Len() > 0 { 6484 return invalidParams 6485 } 6486 return nil 6487 } 6488 6489 // SetEnabled sets the Enabled field's value. 6490 func (s *ProcessingConfiguration) SetEnabled(v bool) *ProcessingConfiguration { 6491 s.Enabled = &v 6492 return s 6493 } 6494 6495 // SetProcessors sets the Processors field's value. 6496 func (s *ProcessingConfiguration) SetProcessors(v []*Processor) *ProcessingConfiguration { 6497 s.Processors = v 6498 return s 6499 } 6500 6501 // Describes a data processor. 6502 type Processor struct { 6503 _ struct{} `type:"structure"` 6504 6505 // The processor parameters. 6506 Parameters []*ProcessorParameter `type:"list"` 6507 6508 // The type of processor. 6509 // 6510 // Type is a required field 6511 Type *string `type:"string" required:"true" enum:"ProcessorType"` 6512 } 6513 6514 // String returns the string representation. 6515 // 6516 // API parameter values that are decorated as "sensitive" in the API will not 6517 // be included in the string output. The member name will be present, but the 6518 // value will be replaced with "sensitive". 6519 func (s Processor) String() string { 6520 return awsutil.Prettify(s) 6521 } 6522 6523 // GoString returns the string representation. 6524 // 6525 // API parameter values that are decorated as "sensitive" in the API will not 6526 // be included in the string output. The member name will be present, but the 6527 // value will be replaced with "sensitive". 6528 func (s Processor) GoString() string { 6529 return s.String() 6530 } 6531 6532 // Validate inspects the fields of the type to determine if they are valid. 6533 func (s *Processor) Validate() error { 6534 invalidParams := request.ErrInvalidParams{Context: "Processor"} 6535 if s.Type == nil { 6536 invalidParams.Add(request.NewErrParamRequired("Type")) 6537 } 6538 if s.Parameters != nil { 6539 for i, v := range s.Parameters { 6540 if v == nil { 6541 continue 6542 } 6543 if err := v.Validate(); err != nil { 6544 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) 6545 } 6546 } 6547 } 6548 6549 if invalidParams.Len() > 0 { 6550 return invalidParams 6551 } 6552 return nil 6553 } 6554 6555 // SetParameters sets the Parameters field's value. 6556 func (s *Processor) SetParameters(v []*ProcessorParameter) *Processor { 6557 s.Parameters = v 6558 return s 6559 } 6560 6561 // SetType sets the Type field's value. 6562 func (s *Processor) SetType(v string) *Processor { 6563 s.Type = &v 6564 return s 6565 } 6566 6567 // Describes the processor parameter. 6568 type ProcessorParameter struct { 6569 _ struct{} `type:"structure"` 6570 6571 // The name of the parameter. 6572 // 6573 // ParameterName is a required field 6574 ParameterName *string `type:"string" required:"true" enum:"ProcessorParameterName"` 6575 6576 // The parameter value. 6577 // 6578 // ParameterValue is a required field 6579 ParameterValue *string `min:"1" type:"string" required:"true"` 6580 } 6581 6582 // String returns the string representation. 6583 // 6584 // API parameter values that are decorated as "sensitive" in the API will not 6585 // be included in the string output. The member name will be present, but the 6586 // value will be replaced with "sensitive". 6587 func (s ProcessorParameter) String() string { 6588 return awsutil.Prettify(s) 6589 } 6590 6591 // GoString returns the string representation. 6592 // 6593 // API parameter values that are decorated as "sensitive" in the API will not 6594 // be included in the string output. The member name will be present, but the 6595 // value will be replaced with "sensitive". 6596 func (s ProcessorParameter) GoString() string { 6597 return s.String() 6598 } 6599 6600 // Validate inspects the fields of the type to determine if they are valid. 6601 func (s *ProcessorParameter) Validate() error { 6602 invalidParams := request.ErrInvalidParams{Context: "ProcessorParameter"} 6603 if s.ParameterName == nil { 6604 invalidParams.Add(request.NewErrParamRequired("ParameterName")) 6605 } 6606 if s.ParameterValue == nil { 6607 invalidParams.Add(request.NewErrParamRequired("ParameterValue")) 6608 } 6609 if s.ParameterValue != nil && len(*s.ParameterValue) < 1 { 6610 invalidParams.Add(request.NewErrParamMinLen("ParameterValue", 1)) 6611 } 6612 6613 if invalidParams.Len() > 0 { 6614 return invalidParams 6615 } 6616 return nil 6617 } 6618 6619 // SetParameterName sets the ParameterName field's value. 6620 func (s *ProcessorParameter) SetParameterName(v string) *ProcessorParameter { 6621 s.ParameterName = &v 6622 return s 6623 } 6624 6625 // SetParameterValue sets the ParameterValue field's value. 6626 func (s *ProcessorParameter) SetParameterValue(v string) *ProcessorParameter { 6627 s.ParameterValue = &v 6628 return s 6629 } 6630 6631 type PutRecordBatchInput struct { 6632 _ struct{} `type:"structure"` 6633 6634 // The name of the delivery stream. 6635 // 6636 // DeliveryStreamName is a required field 6637 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 6638 6639 // One or more records. 6640 // 6641 // Records is a required field 6642 Records []*Record `min:"1" type:"list" required:"true"` 6643 } 6644 6645 // String returns the string representation. 6646 // 6647 // API parameter values that are decorated as "sensitive" in the API will not 6648 // be included in the string output. The member name will be present, but the 6649 // value will be replaced with "sensitive". 6650 func (s PutRecordBatchInput) String() string { 6651 return awsutil.Prettify(s) 6652 } 6653 6654 // GoString returns the string representation. 6655 // 6656 // API parameter values that are decorated as "sensitive" in the API will not 6657 // be included in the string output. The member name will be present, but the 6658 // value will be replaced with "sensitive". 6659 func (s PutRecordBatchInput) GoString() string { 6660 return s.String() 6661 } 6662 6663 // Validate inspects the fields of the type to determine if they are valid. 6664 func (s *PutRecordBatchInput) Validate() error { 6665 invalidParams := request.ErrInvalidParams{Context: "PutRecordBatchInput"} 6666 if s.DeliveryStreamName == nil { 6667 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 6668 } 6669 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 6670 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 6671 } 6672 if s.Records == nil { 6673 invalidParams.Add(request.NewErrParamRequired("Records")) 6674 } 6675 if s.Records != nil && len(s.Records) < 1 { 6676 invalidParams.Add(request.NewErrParamMinLen("Records", 1)) 6677 } 6678 if s.Records != nil { 6679 for i, v := range s.Records { 6680 if v == nil { 6681 continue 6682 } 6683 if err := v.Validate(); err != nil { 6684 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Records", i), err.(request.ErrInvalidParams)) 6685 } 6686 } 6687 } 6688 6689 if invalidParams.Len() > 0 { 6690 return invalidParams 6691 } 6692 return nil 6693 } 6694 6695 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 6696 func (s *PutRecordBatchInput) SetDeliveryStreamName(v string) *PutRecordBatchInput { 6697 s.DeliveryStreamName = &v 6698 return s 6699 } 6700 6701 // SetRecords sets the Records field's value. 6702 func (s *PutRecordBatchInput) SetRecords(v []*Record) *PutRecordBatchInput { 6703 s.Records = v 6704 return s 6705 } 6706 6707 type PutRecordBatchOutput struct { 6708 _ struct{} `type:"structure"` 6709 6710 // Indicates whether server-side encryption (SSE) was enabled during this operation. 6711 Encrypted *bool `type:"boolean"` 6712 6713 // The number of records that might have failed processing. This number might 6714 // be greater than 0 even if the PutRecordBatch call succeeds. Check FailedPutCount 6715 // to determine whether there are records that you need to resend. 6716 // 6717 // FailedPutCount is a required field 6718 FailedPutCount *int64 `type:"integer" required:"true"` 6719 6720 // The results array. For each record, the index of the response element is 6721 // the same as the index used in the request array. 6722 // 6723 // RequestResponses is a required field 6724 RequestResponses []*PutRecordBatchResponseEntry `min:"1" type:"list" required:"true"` 6725 } 6726 6727 // String returns the string representation. 6728 // 6729 // API parameter values that are decorated as "sensitive" in the API will not 6730 // be included in the string output. The member name will be present, but the 6731 // value will be replaced with "sensitive". 6732 func (s PutRecordBatchOutput) String() string { 6733 return awsutil.Prettify(s) 6734 } 6735 6736 // GoString returns the string representation. 6737 // 6738 // API parameter values that are decorated as "sensitive" in the API will not 6739 // be included in the string output. The member name will be present, but the 6740 // value will be replaced with "sensitive". 6741 func (s PutRecordBatchOutput) GoString() string { 6742 return s.String() 6743 } 6744 6745 // SetEncrypted sets the Encrypted field's value. 6746 func (s *PutRecordBatchOutput) SetEncrypted(v bool) *PutRecordBatchOutput { 6747 s.Encrypted = &v 6748 return s 6749 } 6750 6751 // SetFailedPutCount sets the FailedPutCount field's value. 6752 func (s *PutRecordBatchOutput) SetFailedPutCount(v int64) *PutRecordBatchOutput { 6753 s.FailedPutCount = &v 6754 return s 6755 } 6756 6757 // SetRequestResponses sets the RequestResponses field's value. 6758 func (s *PutRecordBatchOutput) SetRequestResponses(v []*PutRecordBatchResponseEntry) *PutRecordBatchOutput { 6759 s.RequestResponses = v 6760 return s 6761 } 6762 6763 // Contains the result for an individual record from a PutRecordBatch request. 6764 // If the record is successfully added to your delivery stream, it receives 6765 // a record ID. If the record fails to be added to your delivery stream, the 6766 // result includes an error code and an error message. 6767 type PutRecordBatchResponseEntry struct { 6768 _ struct{} `type:"structure"` 6769 6770 // The error code for an individual record result. 6771 ErrorCode *string `type:"string"` 6772 6773 // The error message for an individual record result. 6774 ErrorMessage *string `type:"string"` 6775 6776 // The ID of the record. 6777 RecordId *string `min:"1" type:"string"` 6778 } 6779 6780 // String returns the string representation. 6781 // 6782 // API parameter values that are decorated as "sensitive" in the API will not 6783 // be included in the string output. The member name will be present, but the 6784 // value will be replaced with "sensitive". 6785 func (s PutRecordBatchResponseEntry) String() string { 6786 return awsutil.Prettify(s) 6787 } 6788 6789 // GoString returns the string representation. 6790 // 6791 // API parameter values that are decorated as "sensitive" in the API will not 6792 // be included in the string output. The member name will be present, but the 6793 // value will be replaced with "sensitive". 6794 func (s PutRecordBatchResponseEntry) GoString() string { 6795 return s.String() 6796 } 6797 6798 // SetErrorCode sets the ErrorCode field's value. 6799 func (s *PutRecordBatchResponseEntry) SetErrorCode(v string) *PutRecordBatchResponseEntry { 6800 s.ErrorCode = &v 6801 return s 6802 } 6803 6804 // SetErrorMessage sets the ErrorMessage field's value. 6805 func (s *PutRecordBatchResponseEntry) SetErrorMessage(v string) *PutRecordBatchResponseEntry { 6806 s.ErrorMessage = &v 6807 return s 6808 } 6809 6810 // SetRecordId sets the RecordId field's value. 6811 func (s *PutRecordBatchResponseEntry) SetRecordId(v string) *PutRecordBatchResponseEntry { 6812 s.RecordId = &v 6813 return s 6814 } 6815 6816 type PutRecordInput struct { 6817 _ struct{} `type:"structure"` 6818 6819 // The name of the delivery stream. 6820 // 6821 // DeliveryStreamName is a required field 6822 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 6823 6824 // The record. 6825 // 6826 // Record is a required field 6827 Record *Record `type:"structure" required:"true"` 6828 } 6829 6830 // String returns the string representation. 6831 // 6832 // API parameter values that are decorated as "sensitive" in the API will not 6833 // be included in the string output. The member name will be present, but the 6834 // value will be replaced with "sensitive". 6835 func (s PutRecordInput) String() string { 6836 return awsutil.Prettify(s) 6837 } 6838 6839 // GoString returns the string representation. 6840 // 6841 // API parameter values that are decorated as "sensitive" in the API will not 6842 // be included in the string output. The member name will be present, but the 6843 // value will be replaced with "sensitive". 6844 func (s PutRecordInput) GoString() string { 6845 return s.String() 6846 } 6847 6848 // Validate inspects the fields of the type to determine if they are valid. 6849 func (s *PutRecordInput) Validate() error { 6850 invalidParams := request.ErrInvalidParams{Context: "PutRecordInput"} 6851 if s.DeliveryStreamName == nil { 6852 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 6853 } 6854 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 6855 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 6856 } 6857 if s.Record == nil { 6858 invalidParams.Add(request.NewErrParamRequired("Record")) 6859 } 6860 if s.Record != nil { 6861 if err := s.Record.Validate(); err != nil { 6862 invalidParams.AddNested("Record", err.(request.ErrInvalidParams)) 6863 } 6864 } 6865 6866 if invalidParams.Len() > 0 { 6867 return invalidParams 6868 } 6869 return nil 6870 } 6871 6872 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 6873 func (s *PutRecordInput) SetDeliveryStreamName(v string) *PutRecordInput { 6874 s.DeliveryStreamName = &v 6875 return s 6876 } 6877 6878 // SetRecord sets the Record field's value. 6879 func (s *PutRecordInput) SetRecord(v *Record) *PutRecordInput { 6880 s.Record = v 6881 return s 6882 } 6883 6884 type PutRecordOutput struct { 6885 _ struct{} `type:"structure"` 6886 6887 // Indicates whether server-side encryption (SSE) was enabled during this operation. 6888 Encrypted *bool `type:"boolean"` 6889 6890 // The ID of the record. 6891 // 6892 // RecordId is a required field 6893 RecordId *string `min:"1" type:"string" required:"true"` 6894 } 6895 6896 // String returns the string representation. 6897 // 6898 // API parameter values that are decorated as "sensitive" in the API will not 6899 // be included in the string output. The member name will be present, but the 6900 // value will be replaced with "sensitive". 6901 func (s PutRecordOutput) String() string { 6902 return awsutil.Prettify(s) 6903 } 6904 6905 // GoString returns the string representation. 6906 // 6907 // API parameter values that are decorated as "sensitive" in the API will not 6908 // be included in the string output. The member name will be present, but the 6909 // value will be replaced with "sensitive". 6910 func (s PutRecordOutput) GoString() string { 6911 return s.String() 6912 } 6913 6914 // SetEncrypted sets the Encrypted field's value. 6915 func (s *PutRecordOutput) SetEncrypted(v bool) *PutRecordOutput { 6916 s.Encrypted = &v 6917 return s 6918 } 6919 6920 // SetRecordId sets the RecordId field's value. 6921 func (s *PutRecordOutput) SetRecordId(v string) *PutRecordOutput { 6922 s.RecordId = &v 6923 return s 6924 } 6925 6926 // The unit of data in a delivery stream. 6927 type Record struct { 6928 _ struct{} `type:"structure"` 6929 6930 // The data blob, which is base64-encoded when the blob is serialized. The maximum 6931 // size of the data blob, before base64-encoding, is 1,000 KiB. 6932 // Data is automatically base64 encoded/decoded by the SDK. 6933 // 6934 // Data is a required field 6935 Data []byte `type:"blob" required:"true"` 6936 } 6937 6938 // String returns the string representation. 6939 // 6940 // API parameter values that are decorated as "sensitive" in the API will not 6941 // be included in the string output. The member name will be present, but the 6942 // value will be replaced with "sensitive". 6943 func (s Record) String() string { 6944 return awsutil.Prettify(s) 6945 } 6946 6947 // GoString returns the string representation. 6948 // 6949 // API parameter values that are decorated as "sensitive" in the API will not 6950 // be included in the string output. The member name will be present, but the 6951 // value will be replaced with "sensitive". 6952 func (s Record) GoString() string { 6953 return s.String() 6954 } 6955 6956 // Validate inspects the fields of the type to determine if they are valid. 6957 func (s *Record) Validate() error { 6958 invalidParams := request.ErrInvalidParams{Context: "Record"} 6959 if s.Data == nil { 6960 invalidParams.Add(request.NewErrParamRequired("Data")) 6961 } 6962 6963 if invalidParams.Len() > 0 { 6964 return invalidParams 6965 } 6966 return nil 6967 } 6968 6969 // SetData sets the Data field's value. 6970 func (s *Record) SetData(v []byte) *Record { 6971 s.Data = v 6972 return s 6973 } 6974 6975 // Describes the configuration of a destination in Amazon Redshift. 6976 type RedshiftDestinationConfiguration struct { 6977 _ struct{} `type:"structure"` 6978 6979 // The CloudWatch logging options for your delivery stream. 6980 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 6981 6982 // The database connection string. 6983 // 6984 // ClusterJDBCURL is a required field 6985 ClusterJDBCURL *string `min:"1" type:"string" required:"true"` 6986 6987 // The COPY command. 6988 // 6989 // CopyCommand is a required field 6990 CopyCommand *CopyCommand `type:"structure" required:"true"` 6991 6992 // The user password. 6993 // 6994 // Password is a sensitive parameter and its value will be 6995 // replaced with "sensitive" in string returned by RedshiftDestinationConfiguration's 6996 // String and GoString methods. 6997 // 6998 // Password is a required field 6999 Password *string `min:"6" type:"string" required:"true" sensitive:"true"` 7000 7001 // The data processing configuration. 7002 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 7003 7004 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 7005 // to Amazon Redshift. Default value is 3600 (60 minutes). 7006 RetryOptions *RedshiftRetryOptions `type:"structure"` 7007 7008 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 7009 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7010 // 7011 // RoleARN is a required field 7012 RoleARN *string `min:"1" type:"string" required:"true"` 7013 7014 // The configuration for backup in Amazon S3. 7015 S3BackupConfiguration *S3DestinationConfiguration `type:"structure"` 7016 7017 // The Amazon S3 backup mode. After you create a delivery stream, you can update 7018 // it to enable Amazon S3 backup if it is disabled. If backup is enabled, you 7019 // can't update the delivery stream to disable it. 7020 S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` 7021 7022 // The configuration for the intermediate Amazon S3 location from which Amazon 7023 // Redshift obtains data. Restrictions are described in the topic for CreateDeliveryStream. 7024 // 7025 // The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration 7026 // because the Amazon Redshift COPY operation that reads from the S3 bucket 7027 // doesn't support these compression formats. 7028 // 7029 // S3Configuration is a required field 7030 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 7031 7032 // The name of the user. 7033 // 7034 // Username is a sensitive parameter and its value will be 7035 // replaced with "sensitive" in string returned by RedshiftDestinationConfiguration's 7036 // String and GoString methods. 7037 // 7038 // Username is a required field 7039 Username *string `min:"1" type:"string" required:"true" sensitive:"true"` 7040 } 7041 7042 // String returns the string representation. 7043 // 7044 // API parameter values that are decorated as "sensitive" in the API will not 7045 // be included in the string output. The member name will be present, but the 7046 // value will be replaced with "sensitive". 7047 func (s RedshiftDestinationConfiguration) String() string { 7048 return awsutil.Prettify(s) 7049 } 7050 7051 // GoString returns the string representation. 7052 // 7053 // API parameter values that are decorated as "sensitive" in the API will not 7054 // be included in the string output. The member name will be present, but the 7055 // value will be replaced with "sensitive". 7056 func (s RedshiftDestinationConfiguration) GoString() string { 7057 return s.String() 7058 } 7059 7060 // Validate inspects the fields of the type to determine if they are valid. 7061 func (s *RedshiftDestinationConfiguration) Validate() error { 7062 invalidParams := request.ErrInvalidParams{Context: "RedshiftDestinationConfiguration"} 7063 if s.ClusterJDBCURL == nil { 7064 invalidParams.Add(request.NewErrParamRequired("ClusterJDBCURL")) 7065 } 7066 if s.ClusterJDBCURL != nil && len(*s.ClusterJDBCURL) < 1 { 7067 invalidParams.Add(request.NewErrParamMinLen("ClusterJDBCURL", 1)) 7068 } 7069 if s.CopyCommand == nil { 7070 invalidParams.Add(request.NewErrParamRequired("CopyCommand")) 7071 } 7072 if s.Password == nil { 7073 invalidParams.Add(request.NewErrParamRequired("Password")) 7074 } 7075 if s.Password != nil && len(*s.Password) < 6 { 7076 invalidParams.Add(request.NewErrParamMinLen("Password", 6)) 7077 } 7078 if s.RoleARN == nil { 7079 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 7080 } 7081 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 7082 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 7083 } 7084 if s.S3Configuration == nil { 7085 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 7086 } 7087 if s.Username == nil { 7088 invalidParams.Add(request.NewErrParamRequired("Username")) 7089 } 7090 if s.Username != nil && len(*s.Username) < 1 { 7091 invalidParams.Add(request.NewErrParamMinLen("Username", 1)) 7092 } 7093 if s.CopyCommand != nil { 7094 if err := s.CopyCommand.Validate(); err != nil { 7095 invalidParams.AddNested("CopyCommand", err.(request.ErrInvalidParams)) 7096 } 7097 } 7098 if s.ProcessingConfiguration != nil { 7099 if err := s.ProcessingConfiguration.Validate(); err != nil { 7100 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 7101 } 7102 } 7103 if s.S3BackupConfiguration != nil { 7104 if err := s.S3BackupConfiguration.Validate(); err != nil { 7105 invalidParams.AddNested("S3BackupConfiguration", err.(request.ErrInvalidParams)) 7106 } 7107 } 7108 if s.S3Configuration != nil { 7109 if err := s.S3Configuration.Validate(); err != nil { 7110 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 7111 } 7112 } 7113 7114 if invalidParams.Len() > 0 { 7115 return invalidParams 7116 } 7117 return nil 7118 } 7119 7120 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 7121 func (s *RedshiftDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *RedshiftDestinationConfiguration { 7122 s.CloudWatchLoggingOptions = v 7123 return s 7124 } 7125 7126 // SetClusterJDBCURL sets the ClusterJDBCURL field's value. 7127 func (s *RedshiftDestinationConfiguration) SetClusterJDBCURL(v string) *RedshiftDestinationConfiguration { 7128 s.ClusterJDBCURL = &v 7129 return s 7130 } 7131 7132 // SetCopyCommand sets the CopyCommand field's value. 7133 func (s *RedshiftDestinationConfiguration) SetCopyCommand(v *CopyCommand) *RedshiftDestinationConfiguration { 7134 s.CopyCommand = v 7135 return s 7136 } 7137 7138 // SetPassword sets the Password field's value. 7139 func (s *RedshiftDestinationConfiguration) SetPassword(v string) *RedshiftDestinationConfiguration { 7140 s.Password = &v 7141 return s 7142 } 7143 7144 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 7145 func (s *RedshiftDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *RedshiftDestinationConfiguration { 7146 s.ProcessingConfiguration = v 7147 return s 7148 } 7149 7150 // SetRetryOptions sets the RetryOptions field's value. 7151 func (s *RedshiftDestinationConfiguration) SetRetryOptions(v *RedshiftRetryOptions) *RedshiftDestinationConfiguration { 7152 s.RetryOptions = v 7153 return s 7154 } 7155 7156 // SetRoleARN sets the RoleARN field's value. 7157 func (s *RedshiftDestinationConfiguration) SetRoleARN(v string) *RedshiftDestinationConfiguration { 7158 s.RoleARN = &v 7159 return s 7160 } 7161 7162 // SetS3BackupConfiguration sets the S3BackupConfiguration field's value. 7163 func (s *RedshiftDestinationConfiguration) SetS3BackupConfiguration(v *S3DestinationConfiguration) *RedshiftDestinationConfiguration { 7164 s.S3BackupConfiguration = v 7165 return s 7166 } 7167 7168 // SetS3BackupMode sets the S3BackupMode field's value. 7169 func (s *RedshiftDestinationConfiguration) SetS3BackupMode(v string) *RedshiftDestinationConfiguration { 7170 s.S3BackupMode = &v 7171 return s 7172 } 7173 7174 // SetS3Configuration sets the S3Configuration field's value. 7175 func (s *RedshiftDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *RedshiftDestinationConfiguration { 7176 s.S3Configuration = v 7177 return s 7178 } 7179 7180 // SetUsername sets the Username field's value. 7181 func (s *RedshiftDestinationConfiguration) SetUsername(v string) *RedshiftDestinationConfiguration { 7182 s.Username = &v 7183 return s 7184 } 7185 7186 // Describes a destination in Amazon Redshift. 7187 type RedshiftDestinationDescription struct { 7188 _ struct{} `type:"structure"` 7189 7190 // The Amazon CloudWatch logging options for your delivery stream. 7191 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 7192 7193 // The database connection string. 7194 // 7195 // ClusterJDBCURL is a required field 7196 ClusterJDBCURL *string `min:"1" type:"string" required:"true"` 7197 7198 // The COPY command. 7199 // 7200 // CopyCommand is a required field 7201 CopyCommand *CopyCommand `type:"structure" required:"true"` 7202 7203 // The data processing configuration. 7204 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 7205 7206 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 7207 // to Amazon Redshift. Default value is 3600 (60 minutes). 7208 RetryOptions *RedshiftRetryOptions `type:"structure"` 7209 7210 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 7211 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7212 // 7213 // RoleARN is a required field 7214 RoleARN *string `min:"1" type:"string" required:"true"` 7215 7216 // The configuration for backup in Amazon S3. 7217 S3BackupDescription *S3DestinationDescription `type:"structure"` 7218 7219 // The Amazon S3 backup mode. 7220 S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` 7221 7222 // The Amazon S3 destination. 7223 // 7224 // S3DestinationDescription is a required field 7225 S3DestinationDescription *S3DestinationDescription `type:"structure" required:"true"` 7226 7227 // The name of the user. 7228 // 7229 // Username is a sensitive parameter and its value will be 7230 // replaced with "sensitive" in string returned by RedshiftDestinationDescription's 7231 // String and GoString methods. 7232 // 7233 // Username is a required field 7234 Username *string `min:"1" type:"string" required:"true" sensitive:"true"` 7235 } 7236 7237 // String returns the string representation. 7238 // 7239 // API parameter values that are decorated as "sensitive" in the API will not 7240 // be included in the string output. The member name will be present, but the 7241 // value will be replaced with "sensitive". 7242 func (s RedshiftDestinationDescription) String() string { 7243 return awsutil.Prettify(s) 7244 } 7245 7246 // GoString returns the string representation. 7247 // 7248 // API parameter values that are decorated as "sensitive" in the API will not 7249 // be included in the string output. The member name will be present, but the 7250 // value will be replaced with "sensitive". 7251 func (s RedshiftDestinationDescription) GoString() string { 7252 return s.String() 7253 } 7254 7255 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 7256 func (s *RedshiftDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *RedshiftDestinationDescription { 7257 s.CloudWatchLoggingOptions = v 7258 return s 7259 } 7260 7261 // SetClusterJDBCURL sets the ClusterJDBCURL field's value. 7262 func (s *RedshiftDestinationDescription) SetClusterJDBCURL(v string) *RedshiftDestinationDescription { 7263 s.ClusterJDBCURL = &v 7264 return s 7265 } 7266 7267 // SetCopyCommand sets the CopyCommand field's value. 7268 func (s *RedshiftDestinationDescription) SetCopyCommand(v *CopyCommand) *RedshiftDestinationDescription { 7269 s.CopyCommand = v 7270 return s 7271 } 7272 7273 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 7274 func (s *RedshiftDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *RedshiftDestinationDescription { 7275 s.ProcessingConfiguration = v 7276 return s 7277 } 7278 7279 // SetRetryOptions sets the RetryOptions field's value. 7280 func (s *RedshiftDestinationDescription) SetRetryOptions(v *RedshiftRetryOptions) *RedshiftDestinationDescription { 7281 s.RetryOptions = v 7282 return s 7283 } 7284 7285 // SetRoleARN sets the RoleARN field's value. 7286 func (s *RedshiftDestinationDescription) SetRoleARN(v string) *RedshiftDestinationDescription { 7287 s.RoleARN = &v 7288 return s 7289 } 7290 7291 // SetS3BackupDescription sets the S3BackupDescription field's value. 7292 func (s *RedshiftDestinationDescription) SetS3BackupDescription(v *S3DestinationDescription) *RedshiftDestinationDescription { 7293 s.S3BackupDescription = v 7294 return s 7295 } 7296 7297 // SetS3BackupMode sets the S3BackupMode field's value. 7298 func (s *RedshiftDestinationDescription) SetS3BackupMode(v string) *RedshiftDestinationDescription { 7299 s.S3BackupMode = &v 7300 return s 7301 } 7302 7303 // SetS3DestinationDescription sets the S3DestinationDescription field's value. 7304 func (s *RedshiftDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *RedshiftDestinationDescription { 7305 s.S3DestinationDescription = v 7306 return s 7307 } 7308 7309 // SetUsername sets the Username field's value. 7310 func (s *RedshiftDestinationDescription) SetUsername(v string) *RedshiftDestinationDescription { 7311 s.Username = &v 7312 return s 7313 } 7314 7315 // Describes an update for a destination in Amazon Redshift. 7316 type RedshiftDestinationUpdate struct { 7317 _ struct{} `type:"structure"` 7318 7319 // The Amazon CloudWatch logging options for your delivery stream. 7320 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 7321 7322 // The database connection string. 7323 ClusterJDBCURL *string `min:"1" type:"string"` 7324 7325 // The COPY command. 7326 CopyCommand *CopyCommand `type:"structure"` 7327 7328 // The user password. 7329 // 7330 // Password is a sensitive parameter and its value will be 7331 // replaced with "sensitive" in string returned by RedshiftDestinationUpdate's 7332 // String and GoString methods. 7333 Password *string `min:"6" type:"string" sensitive:"true"` 7334 7335 // The data processing configuration. 7336 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 7337 7338 // The retry behavior in case Kinesis Data Firehose is unable to deliver documents 7339 // to Amazon Redshift. Default value is 3600 (60 minutes). 7340 RetryOptions *RedshiftRetryOptions `type:"structure"` 7341 7342 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 7343 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7344 RoleARN *string `min:"1" type:"string"` 7345 7346 // You can update a delivery stream to enable Amazon S3 backup if it is disabled. 7347 // If backup is enabled, you can't update the delivery stream to disable it. 7348 S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` 7349 7350 // The Amazon S3 destination for backup. 7351 S3BackupUpdate *S3DestinationUpdate `type:"structure"` 7352 7353 // The Amazon S3 destination. 7354 // 7355 // The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationUpdate.S3Update 7356 // because the Amazon Redshift COPY operation that reads from the S3 bucket 7357 // doesn't support these compression formats. 7358 S3Update *S3DestinationUpdate `type:"structure"` 7359 7360 // The name of the user. 7361 // 7362 // Username is a sensitive parameter and its value will be 7363 // replaced with "sensitive" in string returned by RedshiftDestinationUpdate's 7364 // String and GoString methods. 7365 Username *string `min:"1" type:"string" sensitive:"true"` 7366 } 7367 7368 // String returns the string representation. 7369 // 7370 // API parameter values that are decorated as "sensitive" in the API will not 7371 // be included in the string output. The member name will be present, but the 7372 // value will be replaced with "sensitive". 7373 func (s RedshiftDestinationUpdate) String() string { 7374 return awsutil.Prettify(s) 7375 } 7376 7377 // GoString returns the string representation. 7378 // 7379 // API parameter values that are decorated as "sensitive" in the API will not 7380 // be included in the string output. The member name will be present, but the 7381 // value will be replaced with "sensitive". 7382 func (s RedshiftDestinationUpdate) GoString() string { 7383 return s.String() 7384 } 7385 7386 // Validate inspects the fields of the type to determine if they are valid. 7387 func (s *RedshiftDestinationUpdate) Validate() error { 7388 invalidParams := request.ErrInvalidParams{Context: "RedshiftDestinationUpdate"} 7389 if s.ClusterJDBCURL != nil && len(*s.ClusterJDBCURL) < 1 { 7390 invalidParams.Add(request.NewErrParamMinLen("ClusterJDBCURL", 1)) 7391 } 7392 if s.Password != nil && len(*s.Password) < 6 { 7393 invalidParams.Add(request.NewErrParamMinLen("Password", 6)) 7394 } 7395 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 7396 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 7397 } 7398 if s.Username != nil && len(*s.Username) < 1 { 7399 invalidParams.Add(request.NewErrParamMinLen("Username", 1)) 7400 } 7401 if s.CopyCommand != nil { 7402 if err := s.CopyCommand.Validate(); err != nil { 7403 invalidParams.AddNested("CopyCommand", err.(request.ErrInvalidParams)) 7404 } 7405 } 7406 if s.ProcessingConfiguration != nil { 7407 if err := s.ProcessingConfiguration.Validate(); err != nil { 7408 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 7409 } 7410 } 7411 if s.S3BackupUpdate != nil { 7412 if err := s.S3BackupUpdate.Validate(); err != nil { 7413 invalidParams.AddNested("S3BackupUpdate", err.(request.ErrInvalidParams)) 7414 } 7415 } 7416 if s.S3Update != nil { 7417 if err := s.S3Update.Validate(); err != nil { 7418 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 7419 } 7420 } 7421 7422 if invalidParams.Len() > 0 { 7423 return invalidParams 7424 } 7425 return nil 7426 } 7427 7428 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 7429 func (s *RedshiftDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *RedshiftDestinationUpdate { 7430 s.CloudWatchLoggingOptions = v 7431 return s 7432 } 7433 7434 // SetClusterJDBCURL sets the ClusterJDBCURL field's value. 7435 func (s *RedshiftDestinationUpdate) SetClusterJDBCURL(v string) *RedshiftDestinationUpdate { 7436 s.ClusterJDBCURL = &v 7437 return s 7438 } 7439 7440 // SetCopyCommand sets the CopyCommand field's value. 7441 func (s *RedshiftDestinationUpdate) SetCopyCommand(v *CopyCommand) *RedshiftDestinationUpdate { 7442 s.CopyCommand = v 7443 return s 7444 } 7445 7446 // SetPassword sets the Password field's value. 7447 func (s *RedshiftDestinationUpdate) SetPassword(v string) *RedshiftDestinationUpdate { 7448 s.Password = &v 7449 return s 7450 } 7451 7452 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 7453 func (s *RedshiftDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *RedshiftDestinationUpdate { 7454 s.ProcessingConfiguration = v 7455 return s 7456 } 7457 7458 // SetRetryOptions sets the RetryOptions field's value. 7459 func (s *RedshiftDestinationUpdate) SetRetryOptions(v *RedshiftRetryOptions) *RedshiftDestinationUpdate { 7460 s.RetryOptions = v 7461 return s 7462 } 7463 7464 // SetRoleARN sets the RoleARN field's value. 7465 func (s *RedshiftDestinationUpdate) SetRoleARN(v string) *RedshiftDestinationUpdate { 7466 s.RoleARN = &v 7467 return s 7468 } 7469 7470 // SetS3BackupMode sets the S3BackupMode field's value. 7471 func (s *RedshiftDestinationUpdate) SetS3BackupMode(v string) *RedshiftDestinationUpdate { 7472 s.S3BackupMode = &v 7473 return s 7474 } 7475 7476 // SetS3BackupUpdate sets the S3BackupUpdate field's value. 7477 func (s *RedshiftDestinationUpdate) SetS3BackupUpdate(v *S3DestinationUpdate) *RedshiftDestinationUpdate { 7478 s.S3BackupUpdate = v 7479 return s 7480 } 7481 7482 // SetS3Update sets the S3Update field's value. 7483 func (s *RedshiftDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *RedshiftDestinationUpdate { 7484 s.S3Update = v 7485 return s 7486 } 7487 7488 // SetUsername sets the Username field's value. 7489 func (s *RedshiftDestinationUpdate) SetUsername(v string) *RedshiftDestinationUpdate { 7490 s.Username = &v 7491 return s 7492 } 7493 7494 // Configures retry behavior in case Kinesis Data Firehose is unable to deliver 7495 // documents to Amazon Redshift. 7496 type RedshiftRetryOptions struct { 7497 _ struct{} `type:"structure"` 7498 7499 // The length of time during which Kinesis Data Firehose retries delivery after 7500 // a failure, starting from the initial request and including the first attempt. 7501 // The default value is 3600 seconds (60 minutes). Kinesis Data Firehose does 7502 // not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery 7503 // attempt takes longer than the current value. 7504 DurationInSeconds *int64 `type:"integer"` 7505 } 7506 7507 // String returns the string representation. 7508 // 7509 // API parameter values that are decorated as "sensitive" in the API will not 7510 // be included in the string output. The member name will be present, but the 7511 // value will be replaced with "sensitive". 7512 func (s RedshiftRetryOptions) String() string { 7513 return awsutil.Prettify(s) 7514 } 7515 7516 // GoString returns the string representation. 7517 // 7518 // API parameter values that are decorated as "sensitive" in the API will not 7519 // be included in the string output. The member name will be present, but the 7520 // value will be replaced with "sensitive". 7521 func (s RedshiftRetryOptions) GoString() string { 7522 return s.String() 7523 } 7524 7525 // SetDurationInSeconds sets the DurationInSeconds field's value. 7526 func (s *RedshiftRetryOptions) SetDurationInSeconds(v int64) *RedshiftRetryOptions { 7527 s.DurationInSeconds = &v 7528 return s 7529 } 7530 7531 // The resource is already in use and not available for this operation. 7532 type ResourceInUseException struct { 7533 _ struct{} `type:"structure"` 7534 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7535 7536 // A message that provides information about the error. 7537 Message_ *string `locationName:"message" type:"string"` 7538 } 7539 7540 // String returns the string representation. 7541 // 7542 // API parameter values that are decorated as "sensitive" in the API will not 7543 // be included in the string output. The member name will be present, but the 7544 // value will be replaced with "sensitive". 7545 func (s ResourceInUseException) String() string { 7546 return awsutil.Prettify(s) 7547 } 7548 7549 // GoString returns the string representation. 7550 // 7551 // API parameter values that are decorated as "sensitive" in the API will not 7552 // be included in the string output. The member name will be present, but the 7553 // value will be replaced with "sensitive". 7554 func (s ResourceInUseException) GoString() string { 7555 return s.String() 7556 } 7557 7558 func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 7559 return &ResourceInUseException{ 7560 RespMetadata: v, 7561 } 7562 } 7563 7564 // Code returns the exception type name. 7565 func (s *ResourceInUseException) Code() string { 7566 return "ResourceInUseException" 7567 } 7568 7569 // Message returns the exception's message. 7570 func (s *ResourceInUseException) Message() string { 7571 if s.Message_ != nil { 7572 return *s.Message_ 7573 } 7574 return "" 7575 } 7576 7577 // OrigErr always returns nil, satisfies awserr.Error interface. 7578 func (s *ResourceInUseException) OrigErr() error { 7579 return nil 7580 } 7581 7582 func (s *ResourceInUseException) Error() string { 7583 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7584 } 7585 7586 // Status code returns the HTTP status code for the request's response error. 7587 func (s *ResourceInUseException) StatusCode() int { 7588 return s.RespMetadata.StatusCode 7589 } 7590 7591 // RequestID returns the service's response RequestID for request. 7592 func (s *ResourceInUseException) RequestID() string { 7593 return s.RespMetadata.RequestID 7594 } 7595 7596 // The specified resource could not be found. 7597 type ResourceNotFoundException struct { 7598 _ struct{} `type:"structure"` 7599 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7600 7601 // A message that provides information about the error. 7602 Message_ *string `locationName:"message" type:"string"` 7603 } 7604 7605 // String returns the string representation. 7606 // 7607 // API parameter values that are decorated as "sensitive" in the API will not 7608 // be included in the string output. The member name will be present, but the 7609 // value will be replaced with "sensitive". 7610 func (s ResourceNotFoundException) String() string { 7611 return awsutil.Prettify(s) 7612 } 7613 7614 // GoString returns the string representation. 7615 // 7616 // API parameter values that are decorated as "sensitive" in the API will not 7617 // be included in the string output. The member name will be present, but the 7618 // value will be replaced with "sensitive". 7619 func (s ResourceNotFoundException) GoString() string { 7620 return s.String() 7621 } 7622 7623 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 7624 return &ResourceNotFoundException{ 7625 RespMetadata: v, 7626 } 7627 } 7628 7629 // Code returns the exception type name. 7630 func (s *ResourceNotFoundException) Code() string { 7631 return "ResourceNotFoundException" 7632 } 7633 7634 // Message returns the exception's message. 7635 func (s *ResourceNotFoundException) Message() string { 7636 if s.Message_ != nil { 7637 return *s.Message_ 7638 } 7639 return "" 7640 } 7641 7642 // OrigErr always returns nil, satisfies awserr.Error interface. 7643 func (s *ResourceNotFoundException) OrigErr() error { 7644 return nil 7645 } 7646 7647 func (s *ResourceNotFoundException) Error() string { 7648 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7649 } 7650 7651 // Status code returns the HTTP status code for the request's response error. 7652 func (s *ResourceNotFoundException) StatusCode() int { 7653 return s.RespMetadata.StatusCode 7654 } 7655 7656 // RequestID returns the service's response RequestID for request. 7657 func (s *ResourceNotFoundException) RequestID() string { 7658 return s.RespMetadata.RequestID 7659 } 7660 7661 // The retry behavior in case Kinesis Data Firehose is unable to deliver data 7662 // to an Amazon S3 prefix. 7663 type RetryOptions struct { 7664 _ struct{} `type:"structure"` 7665 7666 // The period of time during which Kinesis Data Firehose retries to deliver 7667 // data to the specified Amazon S3 prefix. 7668 DurationInSeconds *int64 `type:"integer"` 7669 } 7670 7671 // String returns the string representation. 7672 // 7673 // API parameter values that are decorated as "sensitive" in the API will not 7674 // be included in the string output. The member name will be present, but the 7675 // value will be replaced with "sensitive". 7676 func (s RetryOptions) String() string { 7677 return awsutil.Prettify(s) 7678 } 7679 7680 // GoString returns the string representation. 7681 // 7682 // API parameter values that are decorated as "sensitive" in the API will not 7683 // be included in the string output. The member name will be present, but the 7684 // value will be replaced with "sensitive". 7685 func (s RetryOptions) GoString() string { 7686 return s.String() 7687 } 7688 7689 // SetDurationInSeconds sets the DurationInSeconds field's value. 7690 func (s *RetryOptions) SetDurationInSeconds(v int64) *RetryOptions { 7691 s.DurationInSeconds = &v 7692 return s 7693 } 7694 7695 // Describes the configuration of a destination in Amazon S3. 7696 type S3DestinationConfiguration struct { 7697 _ struct{} `type:"structure"` 7698 7699 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 7700 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7701 // 7702 // BucketARN is a required field 7703 BucketARN *string `min:"1" type:"string" required:"true"` 7704 7705 // The buffering option. If no value is specified, BufferingHints object default 7706 // values are used. 7707 BufferingHints *BufferingHints `type:"structure"` 7708 7709 // The CloudWatch logging options for your delivery stream. 7710 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 7711 7712 // The compression format. If no value is specified, the default is UNCOMPRESSED. 7713 // 7714 // The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift 7715 // destinations because they are not supported by the Amazon Redshift COPY operation 7716 // that reads from the S3 bucket. 7717 CompressionFormat *string `type:"string" enum:"CompressionFormat"` 7718 7719 // The encryption configuration. If no value is specified, the default is no 7720 // encryption. 7721 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 7722 7723 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 7724 // before writing them to S3. This prefix appears immediately following the 7725 // bucket name. For information about how to specify this prefix, see Custom 7726 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 7727 ErrorOutputPrefix *string `type:"string"` 7728 7729 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 7730 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 7731 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 7732 Prefix *string `type:"string"` 7733 7734 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 7735 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7736 // 7737 // RoleARN is a required field 7738 RoleARN *string `min:"1" type:"string" required:"true"` 7739 } 7740 7741 // String returns the string representation. 7742 // 7743 // API parameter values that are decorated as "sensitive" in the API will not 7744 // be included in the string output. The member name will be present, but the 7745 // value will be replaced with "sensitive". 7746 func (s S3DestinationConfiguration) String() string { 7747 return awsutil.Prettify(s) 7748 } 7749 7750 // GoString returns the string representation. 7751 // 7752 // API parameter values that are decorated as "sensitive" in the API will not 7753 // be included in the string output. The member name will be present, but the 7754 // value will be replaced with "sensitive". 7755 func (s S3DestinationConfiguration) GoString() string { 7756 return s.String() 7757 } 7758 7759 // Validate inspects the fields of the type to determine if they are valid. 7760 func (s *S3DestinationConfiguration) Validate() error { 7761 invalidParams := request.ErrInvalidParams{Context: "S3DestinationConfiguration"} 7762 if s.BucketARN == nil { 7763 invalidParams.Add(request.NewErrParamRequired("BucketARN")) 7764 } 7765 if s.BucketARN != nil && len(*s.BucketARN) < 1 { 7766 invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) 7767 } 7768 if s.RoleARN == nil { 7769 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 7770 } 7771 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 7772 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 7773 } 7774 if s.BufferingHints != nil { 7775 if err := s.BufferingHints.Validate(); err != nil { 7776 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 7777 } 7778 } 7779 if s.EncryptionConfiguration != nil { 7780 if err := s.EncryptionConfiguration.Validate(); err != nil { 7781 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 7782 } 7783 } 7784 7785 if invalidParams.Len() > 0 { 7786 return invalidParams 7787 } 7788 return nil 7789 } 7790 7791 // SetBucketARN sets the BucketARN field's value. 7792 func (s *S3DestinationConfiguration) SetBucketARN(v string) *S3DestinationConfiguration { 7793 s.BucketARN = &v 7794 return s 7795 } 7796 7797 // SetBufferingHints sets the BufferingHints field's value. 7798 func (s *S3DestinationConfiguration) SetBufferingHints(v *BufferingHints) *S3DestinationConfiguration { 7799 s.BufferingHints = v 7800 return s 7801 } 7802 7803 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 7804 func (s *S3DestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *S3DestinationConfiguration { 7805 s.CloudWatchLoggingOptions = v 7806 return s 7807 } 7808 7809 // SetCompressionFormat sets the CompressionFormat field's value. 7810 func (s *S3DestinationConfiguration) SetCompressionFormat(v string) *S3DestinationConfiguration { 7811 s.CompressionFormat = &v 7812 return s 7813 } 7814 7815 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 7816 func (s *S3DestinationConfiguration) SetEncryptionConfiguration(v *EncryptionConfiguration) *S3DestinationConfiguration { 7817 s.EncryptionConfiguration = v 7818 return s 7819 } 7820 7821 // SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 7822 func (s *S3DestinationConfiguration) SetErrorOutputPrefix(v string) *S3DestinationConfiguration { 7823 s.ErrorOutputPrefix = &v 7824 return s 7825 } 7826 7827 // SetPrefix sets the Prefix field's value. 7828 func (s *S3DestinationConfiguration) SetPrefix(v string) *S3DestinationConfiguration { 7829 s.Prefix = &v 7830 return s 7831 } 7832 7833 // SetRoleARN sets the RoleARN field's value. 7834 func (s *S3DestinationConfiguration) SetRoleARN(v string) *S3DestinationConfiguration { 7835 s.RoleARN = &v 7836 return s 7837 } 7838 7839 // Describes a destination in Amazon S3. 7840 type S3DestinationDescription struct { 7841 _ struct{} `type:"structure"` 7842 7843 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 7844 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7845 // 7846 // BucketARN is a required field 7847 BucketARN *string `min:"1" type:"string" required:"true"` 7848 7849 // The buffering option. If no value is specified, BufferingHints object default 7850 // values are used. 7851 // 7852 // BufferingHints is a required field 7853 BufferingHints *BufferingHints `type:"structure" required:"true"` 7854 7855 // The Amazon CloudWatch logging options for your delivery stream. 7856 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 7857 7858 // The compression format. If no value is specified, the default is UNCOMPRESSED. 7859 // 7860 // CompressionFormat is a required field 7861 CompressionFormat *string `type:"string" required:"true" enum:"CompressionFormat"` 7862 7863 // The encryption configuration. If no value is specified, the default is no 7864 // encryption. 7865 // 7866 // EncryptionConfiguration is a required field 7867 EncryptionConfiguration *EncryptionConfiguration `type:"structure" required:"true"` 7868 7869 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 7870 // before writing them to S3. This prefix appears immediately following the 7871 // bucket name. For information about how to specify this prefix, see Custom 7872 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 7873 ErrorOutputPrefix *string `type:"string"` 7874 7875 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 7876 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 7877 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 7878 Prefix *string `type:"string"` 7879 7880 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 7881 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7882 // 7883 // RoleARN is a required field 7884 RoleARN *string `min:"1" type:"string" required:"true"` 7885 } 7886 7887 // String returns the string representation. 7888 // 7889 // API parameter values that are decorated as "sensitive" in the API will not 7890 // be included in the string output. The member name will be present, but the 7891 // value will be replaced with "sensitive". 7892 func (s S3DestinationDescription) String() string { 7893 return awsutil.Prettify(s) 7894 } 7895 7896 // GoString returns the string representation. 7897 // 7898 // API parameter values that are decorated as "sensitive" in the API will not 7899 // be included in the string output. The member name will be present, but the 7900 // value will be replaced with "sensitive". 7901 func (s S3DestinationDescription) GoString() string { 7902 return s.String() 7903 } 7904 7905 // SetBucketARN sets the BucketARN field's value. 7906 func (s *S3DestinationDescription) SetBucketARN(v string) *S3DestinationDescription { 7907 s.BucketARN = &v 7908 return s 7909 } 7910 7911 // SetBufferingHints sets the BufferingHints field's value. 7912 func (s *S3DestinationDescription) SetBufferingHints(v *BufferingHints) *S3DestinationDescription { 7913 s.BufferingHints = v 7914 return s 7915 } 7916 7917 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 7918 func (s *S3DestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *S3DestinationDescription { 7919 s.CloudWatchLoggingOptions = v 7920 return s 7921 } 7922 7923 // SetCompressionFormat sets the CompressionFormat field's value. 7924 func (s *S3DestinationDescription) SetCompressionFormat(v string) *S3DestinationDescription { 7925 s.CompressionFormat = &v 7926 return s 7927 } 7928 7929 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 7930 func (s *S3DestinationDescription) SetEncryptionConfiguration(v *EncryptionConfiguration) *S3DestinationDescription { 7931 s.EncryptionConfiguration = v 7932 return s 7933 } 7934 7935 // SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 7936 func (s *S3DestinationDescription) SetErrorOutputPrefix(v string) *S3DestinationDescription { 7937 s.ErrorOutputPrefix = &v 7938 return s 7939 } 7940 7941 // SetPrefix sets the Prefix field's value. 7942 func (s *S3DestinationDescription) SetPrefix(v string) *S3DestinationDescription { 7943 s.Prefix = &v 7944 return s 7945 } 7946 7947 // SetRoleARN sets the RoleARN field's value. 7948 func (s *S3DestinationDescription) SetRoleARN(v string) *S3DestinationDescription { 7949 s.RoleARN = &v 7950 return s 7951 } 7952 7953 // Describes an update for a destination in Amazon S3. 7954 type S3DestinationUpdate struct { 7955 _ struct{} `type:"structure"` 7956 7957 // The ARN of the S3 bucket. For more information, see Amazon Resource Names 7958 // (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7959 BucketARN *string `min:"1" type:"string"` 7960 7961 // The buffering option. If no value is specified, BufferingHints object default 7962 // values are used. 7963 BufferingHints *BufferingHints `type:"structure"` 7964 7965 // The CloudWatch logging options for your delivery stream. 7966 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 7967 7968 // The compression format. If no value is specified, the default is UNCOMPRESSED. 7969 // 7970 // The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift 7971 // destinations because they are not supported by the Amazon Redshift COPY operation 7972 // that reads from the S3 bucket. 7973 CompressionFormat *string `type:"string" enum:"CompressionFormat"` 7974 7975 // The encryption configuration. If no value is specified, the default is no 7976 // encryption. 7977 EncryptionConfiguration *EncryptionConfiguration `type:"structure"` 7978 7979 // A prefix that Kinesis Data Firehose evaluates and adds to failed records 7980 // before writing them to S3. This prefix appears immediately following the 7981 // bucket name. For information about how to specify this prefix, see Custom 7982 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 7983 ErrorOutputPrefix *string `type:"string"` 7984 7985 // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered 7986 // Amazon S3 files. You can also specify a custom prefix, as described in Custom 7987 // Prefixes for Amazon S3 Objects (https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). 7988 Prefix *string `type:"string"` 7989 7990 // The Amazon Resource Name (ARN) of the AWS credentials. For more information, 7991 // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7992 RoleARN *string `min:"1" type:"string"` 7993 } 7994 7995 // String returns the string representation. 7996 // 7997 // API parameter values that are decorated as "sensitive" in the API will not 7998 // be included in the string output. The member name will be present, but the 7999 // value will be replaced with "sensitive". 8000 func (s S3DestinationUpdate) String() string { 8001 return awsutil.Prettify(s) 8002 } 8003 8004 // GoString returns the string representation. 8005 // 8006 // API parameter values that are decorated as "sensitive" in the API will not 8007 // be included in the string output. The member name will be present, but the 8008 // value will be replaced with "sensitive". 8009 func (s S3DestinationUpdate) GoString() string { 8010 return s.String() 8011 } 8012 8013 // Validate inspects the fields of the type to determine if they are valid. 8014 func (s *S3DestinationUpdate) Validate() error { 8015 invalidParams := request.ErrInvalidParams{Context: "S3DestinationUpdate"} 8016 if s.BucketARN != nil && len(*s.BucketARN) < 1 { 8017 invalidParams.Add(request.NewErrParamMinLen("BucketARN", 1)) 8018 } 8019 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 8020 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 8021 } 8022 if s.BufferingHints != nil { 8023 if err := s.BufferingHints.Validate(); err != nil { 8024 invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) 8025 } 8026 } 8027 if s.EncryptionConfiguration != nil { 8028 if err := s.EncryptionConfiguration.Validate(); err != nil { 8029 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 8030 } 8031 } 8032 8033 if invalidParams.Len() > 0 { 8034 return invalidParams 8035 } 8036 return nil 8037 } 8038 8039 // SetBucketARN sets the BucketARN field's value. 8040 func (s *S3DestinationUpdate) SetBucketARN(v string) *S3DestinationUpdate { 8041 s.BucketARN = &v 8042 return s 8043 } 8044 8045 // SetBufferingHints sets the BufferingHints field's value. 8046 func (s *S3DestinationUpdate) SetBufferingHints(v *BufferingHints) *S3DestinationUpdate { 8047 s.BufferingHints = v 8048 return s 8049 } 8050 8051 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 8052 func (s *S3DestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *S3DestinationUpdate { 8053 s.CloudWatchLoggingOptions = v 8054 return s 8055 } 8056 8057 // SetCompressionFormat sets the CompressionFormat field's value. 8058 func (s *S3DestinationUpdate) SetCompressionFormat(v string) *S3DestinationUpdate { 8059 s.CompressionFormat = &v 8060 return s 8061 } 8062 8063 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 8064 func (s *S3DestinationUpdate) SetEncryptionConfiguration(v *EncryptionConfiguration) *S3DestinationUpdate { 8065 s.EncryptionConfiguration = v 8066 return s 8067 } 8068 8069 // SetErrorOutputPrefix sets the ErrorOutputPrefix field's value. 8070 func (s *S3DestinationUpdate) SetErrorOutputPrefix(v string) *S3DestinationUpdate { 8071 s.ErrorOutputPrefix = &v 8072 return s 8073 } 8074 8075 // SetPrefix sets the Prefix field's value. 8076 func (s *S3DestinationUpdate) SetPrefix(v string) *S3DestinationUpdate { 8077 s.Prefix = &v 8078 return s 8079 } 8080 8081 // SetRoleARN sets the RoleARN field's value. 8082 func (s *S3DestinationUpdate) SetRoleARN(v string) *S3DestinationUpdate { 8083 s.RoleARN = &v 8084 return s 8085 } 8086 8087 // Specifies the schema to which you want Kinesis Data Firehose to configure 8088 // your data before it writes it to Amazon S3. This parameter is required if 8089 // Enabled is set to true. 8090 type SchemaConfiguration struct { 8091 _ struct{} `type:"structure"` 8092 8093 // The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account 8094 // ID is used by default. 8095 CatalogId *string `min:"1" type:"string"` 8096 8097 // Specifies the name of the AWS Glue database that contains the schema for 8098 // the output data. 8099 // 8100 // If the SchemaConfiguration request parameter is used as part of invoking 8101 // the CreateDeliveryStream API, then the DatabaseName property is required 8102 // and its value must be specified. 8103 DatabaseName *string `min:"1" type:"string"` 8104 8105 // If you don't specify an AWS Region, the default is the current Region. 8106 Region *string `min:"1" type:"string"` 8107 8108 // The role that Kinesis Data Firehose can use to access AWS Glue. This role 8109 // must be in the same account you use for Kinesis Data Firehose. Cross-account 8110 // roles aren't allowed. 8111 // 8112 // If the SchemaConfiguration request parameter is used as part of invoking 8113 // the CreateDeliveryStream API, then the RoleARN property is required and its 8114 // value must be specified. 8115 RoleARN *string `min:"1" type:"string"` 8116 8117 // Specifies the AWS Glue table that contains the column information that constitutes 8118 // your data schema. 8119 // 8120 // If the SchemaConfiguration request parameter is used as part of invoking 8121 // the CreateDeliveryStream API, then the TableName property is required and 8122 // its value must be specified. 8123 TableName *string `min:"1" type:"string"` 8124 8125 // Specifies the table version for the output data schema. If you don't specify 8126 // this version ID, or if you set it to LATEST, Kinesis Data Firehose uses the 8127 // most recent version. This means that any updates to the table are automatically 8128 // picked up. 8129 VersionId *string `min:"1" type:"string"` 8130 } 8131 8132 // String returns the string representation. 8133 // 8134 // API parameter values that are decorated as "sensitive" in the API will not 8135 // be included in the string output. The member name will be present, but the 8136 // value will be replaced with "sensitive". 8137 func (s SchemaConfiguration) String() string { 8138 return awsutil.Prettify(s) 8139 } 8140 8141 // GoString returns the string representation. 8142 // 8143 // API parameter values that are decorated as "sensitive" in the API will not 8144 // be included in the string output. The member name will be present, but the 8145 // value will be replaced with "sensitive". 8146 func (s SchemaConfiguration) GoString() string { 8147 return s.String() 8148 } 8149 8150 // Validate inspects the fields of the type to determine if they are valid. 8151 func (s *SchemaConfiguration) Validate() error { 8152 invalidParams := request.ErrInvalidParams{Context: "SchemaConfiguration"} 8153 if s.CatalogId != nil && len(*s.CatalogId) < 1 { 8154 invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) 8155 } 8156 if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { 8157 invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) 8158 } 8159 if s.Region != nil && len(*s.Region) < 1 { 8160 invalidParams.Add(request.NewErrParamMinLen("Region", 1)) 8161 } 8162 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 8163 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 8164 } 8165 if s.TableName != nil && len(*s.TableName) < 1 { 8166 invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) 8167 } 8168 if s.VersionId != nil && len(*s.VersionId) < 1 { 8169 invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) 8170 } 8171 8172 if invalidParams.Len() > 0 { 8173 return invalidParams 8174 } 8175 return nil 8176 } 8177 8178 // SetCatalogId sets the CatalogId field's value. 8179 func (s *SchemaConfiguration) SetCatalogId(v string) *SchemaConfiguration { 8180 s.CatalogId = &v 8181 return s 8182 } 8183 8184 // SetDatabaseName sets the DatabaseName field's value. 8185 func (s *SchemaConfiguration) SetDatabaseName(v string) *SchemaConfiguration { 8186 s.DatabaseName = &v 8187 return s 8188 } 8189 8190 // SetRegion sets the Region field's value. 8191 func (s *SchemaConfiguration) SetRegion(v string) *SchemaConfiguration { 8192 s.Region = &v 8193 return s 8194 } 8195 8196 // SetRoleARN sets the RoleARN field's value. 8197 func (s *SchemaConfiguration) SetRoleARN(v string) *SchemaConfiguration { 8198 s.RoleARN = &v 8199 return s 8200 } 8201 8202 // SetTableName sets the TableName field's value. 8203 func (s *SchemaConfiguration) SetTableName(v string) *SchemaConfiguration { 8204 s.TableName = &v 8205 return s 8206 } 8207 8208 // SetVersionId sets the VersionId field's value. 8209 func (s *SchemaConfiguration) SetVersionId(v string) *SchemaConfiguration { 8210 s.VersionId = &v 8211 return s 8212 } 8213 8214 // The serializer that you want Kinesis Data Firehose to use to convert data 8215 // to the target format before writing it to Amazon S3. Kinesis Data Firehose 8216 // 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) 8217 // and the Parquet SerDe (https://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.html). 8218 type Serializer struct { 8219 _ struct{} `type:"structure"` 8220 8221 // A serializer to use for converting data to the ORC format before storing 8222 // it in Amazon S3. For more information, see Apache ORC (https://orc.apache.org/docs/). 8223 OrcSerDe *OrcSerDe `type:"structure"` 8224 8225 // A serializer to use for converting data to the Parquet format before storing 8226 // it in Amazon S3. For more information, see Apache Parquet (https://parquet.apache.org/documentation/latest/). 8227 ParquetSerDe *ParquetSerDe `type:"structure"` 8228 } 8229 8230 // String returns the string representation. 8231 // 8232 // API parameter values that are decorated as "sensitive" in the API will not 8233 // be included in the string output. The member name will be present, but the 8234 // value will be replaced with "sensitive". 8235 func (s Serializer) String() string { 8236 return awsutil.Prettify(s) 8237 } 8238 8239 // GoString returns the string representation. 8240 // 8241 // API parameter values that are decorated as "sensitive" in the API will not 8242 // be included in the string output. The member name will be present, but the 8243 // value will be replaced with "sensitive". 8244 func (s Serializer) GoString() string { 8245 return s.String() 8246 } 8247 8248 // Validate inspects the fields of the type to determine if they are valid. 8249 func (s *Serializer) Validate() error { 8250 invalidParams := request.ErrInvalidParams{Context: "Serializer"} 8251 if s.OrcSerDe != nil { 8252 if err := s.OrcSerDe.Validate(); err != nil { 8253 invalidParams.AddNested("OrcSerDe", err.(request.ErrInvalidParams)) 8254 } 8255 } 8256 if s.ParquetSerDe != nil { 8257 if err := s.ParquetSerDe.Validate(); err != nil { 8258 invalidParams.AddNested("ParquetSerDe", err.(request.ErrInvalidParams)) 8259 } 8260 } 8261 8262 if invalidParams.Len() > 0 { 8263 return invalidParams 8264 } 8265 return nil 8266 } 8267 8268 // SetOrcSerDe sets the OrcSerDe field's value. 8269 func (s *Serializer) SetOrcSerDe(v *OrcSerDe) *Serializer { 8270 s.OrcSerDe = v 8271 return s 8272 } 8273 8274 // SetParquetSerDe sets the ParquetSerDe field's value. 8275 func (s *Serializer) SetParquetSerDe(v *ParquetSerDe) *Serializer { 8276 s.ParquetSerDe = v 8277 return s 8278 } 8279 8280 // The service is unavailable. Back off and retry the operation. If you continue 8281 // to see the exception, throughput limits for the delivery stream may have 8282 // been exceeded. For more information about limits and how to request an increase, 8283 // see Amazon Kinesis Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 8284 type ServiceUnavailableException struct { 8285 _ struct{} `type:"structure"` 8286 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8287 8288 // A message that provides information about the error. 8289 Message_ *string `locationName:"message" type:"string"` 8290 } 8291 8292 // String returns the string representation. 8293 // 8294 // API parameter values that are decorated as "sensitive" in the API will not 8295 // be included in the string output. The member name will be present, but the 8296 // value will be replaced with "sensitive". 8297 func (s ServiceUnavailableException) String() string { 8298 return awsutil.Prettify(s) 8299 } 8300 8301 // GoString returns the string representation. 8302 // 8303 // API parameter values that are decorated as "sensitive" in the API will not 8304 // be included in the string output. The member name will be present, but the 8305 // value will be replaced with "sensitive". 8306 func (s ServiceUnavailableException) GoString() string { 8307 return s.String() 8308 } 8309 8310 func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { 8311 return &ServiceUnavailableException{ 8312 RespMetadata: v, 8313 } 8314 } 8315 8316 // Code returns the exception type name. 8317 func (s *ServiceUnavailableException) Code() string { 8318 return "ServiceUnavailableException" 8319 } 8320 8321 // Message returns the exception's message. 8322 func (s *ServiceUnavailableException) Message() string { 8323 if s.Message_ != nil { 8324 return *s.Message_ 8325 } 8326 return "" 8327 } 8328 8329 // OrigErr always returns nil, satisfies awserr.Error interface. 8330 func (s *ServiceUnavailableException) OrigErr() error { 8331 return nil 8332 } 8333 8334 func (s *ServiceUnavailableException) Error() string { 8335 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8336 } 8337 8338 // Status code returns the HTTP status code for the request's response error. 8339 func (s *ServiceUnavailableException) StatusCode() int { 8340 return s.RespMetadata.StatusCode 8341 } 8342 8343 // RequestID returns the service's response RequestID for request. 8344 func (s *ServiceUnavailableException) RequestID() string { 8345 return s.RespMetadata.RequestID 8346 } 8347 8348 // Details about a Kinesis data stream used as the source for a Kinesis Data 8349 // Firehose delivery stream. 8350 type SourceDescription struct { 8351 _ struct{} `type:"structure"` 8352 8353 // The KinesisStreamSourceDescription value for the source Kinesis data stream. 8354 KinesisStreamSourceDescription *KinesisStreamSourceDescription `type:"structure"` 8355 } 8356 8357 // String returns the string representation. 8358 // 8359 // API parameter values that are decorated as "sensitive" in the API will not 8360 // be included in the string output. The member name will be present, but the 8361 // value will be replaced with "sensitive". 8362 func (s SourceDescription) String() string { 8363 return awsutil.Prettify(s) 8364 } 8365 8366 // GoString returns the string representation. 8367 // 8368 // API parameter values that are decorated as "sensitive" in the API will not 8369 // be included in the string output. The member name will be present, but the 8370 // value will be replaced with "sensitive". 8371 func (s SourceDescription) GoString() string { 8372 return s.String() 8373 } 8374 8375 // SetKinesisStreamSourceDescription sets the KinesisStreamSourceDescription field's value. 8376 func (s *SourceDescription) SetKinesisStreamSourceDescription(v *KinesisStreamSourceDescription) *SourceDescription { 8377 s.KinesisStreamSourceDescription = v 8378 return s 8379 } 8380 8381 // Describes the configuration of a destination in Splunk. 8382 type SplunkDestinationConfiguration struct { 8383 _ struct{} `type:"structure"` 8384 8385 // The Amazon CloudWatch logging options for your delivery stream. 8386 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 8387 8388 // The amount of time that Kinesis Data Firehose waits to receive an acknowledgment 8389 // from Splunk after it sends it data. At the end of the timeout period, Kinesis 8390 // Data Firehose either tries to send the data again or considers it an error, 8391 // based on your retry settings. 8392 HECAcknowledgmentTimeoutInSeconds *int64 `min:"180" type:"integer"` 8393 8394 // The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends 8395 // your data. 8396 // 8397 // HECEndpoint is a required field 8398 HECEndpoint *string `type:"string" required:"true"` 8399 8400 // This type can be either "Raw" or "Event." 8401 // 8402 // HECEndpointType is a required field 8403 HECEndpointType *string `type:"string" required:"true" enum:"HECEndpointType"` 8404 8405 // This is a GUID that you obtain from your Splunk cluster when you create a 8406 // new HEC endpoint. 8407 // 8408 // HECToken is a required field 8409 HECToken *string `type:"string" required:"true"` 8410 8411 // The data processing configuration. 8412 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 8413 8414 // The retry behavior in case Kinesis Data Firehose is unable to deliver data 8415 // to Splunk, or if it doesn't receive an acknowledgment of receipt from Splunk. 8416 RetryOptions *SplunkRetryOptions `type:"structure"` 8417 8418 // Defines how documents should be delivered to Amazon S3. When set to FailedEventsOnly, 8419 // Kinesis Data Firehose writes any data that could not be indexed to the configured 8420 // Amazon S3 destination. When set to AllEvents, Kinesis Data Firehose delivers 8421 // all incoming records to Amazon S3, and also writes failed documents to Amazon 8422 // S3. The default value is FailedEventsOnly. 8423 // 8424 // You can update this backup mode from FailedEventsOnly to AllEvents. You can't 8425 // update it from AllEvents to FailedEventsOnly. 8426 S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` 8427 8428 // The configuration for the backup Amazon S3 location. 8429 // 8430 // S3Configuration is a required field 8431 S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` 8432 } 8433 8434 // String returns the string representation. 8435 // 8436 // API parameter values that are decorated as "sensitive" in the API will not 8437 // be included in the string output. The member name will be present, but the 8438 // value will be replaced with "sensitive". 8439 func (s SplunkDestinationConfiguration) String() string { 8440 return awsutil.Prettify(s) 8441 } 8442 8443 // GoString returns the string representation. 8444 // 8445 // API parameter values that are decorated as "sensitive" in the API will not 8446 // be included in the string output. The member name will be present, but the 8447 // value will be replaced with "sensitive". 8448 func (s SplunkDestinationConfiguration) GoString() string { 8449 return s.String() 8450 } 8451 8452 // Validate inspects the fields of the type to determine if they are valid. 8453 func (s *SplunkDestinationConfiguration) Validate() error { 8454 invalidParams := request.ErrInvalidParams{Context: "SplunkDestinationConfiguration"} 8455 if s.HECAcknowledgmentTimeoutInSeconds != nil && *s.HECAcknowledgmentTimeoutInSeconds < 180 { 8456 invalidParams.Add(request.NewErrParamMinValue("HECAcknowledgmentTimeoutInSeconds", 180)) 8457 } 8458 if s.HECEndpoint == nil { 8459 invalidParams.Add(request.NewErrParamRequired("HECEndpoint")) 8460 } 8461 if s.HECEndpointType == nil { 8462 invalidParams.Add(request.NewErrParamRequired("HECEndpointType")) 8463 } 8464 if s.HECToken == nil { 8465 invalidParams.Add(request.NewErrParamRequired("HECToken")) 8466 } 8467 if s.S3Configuration == nil { 8468 invalidParams.Add(request.NewErrParamRequired("S3Configuration")) 8469 } 8470 if s.ProcessingConfiguration != nil { 8471 if err := s.ProcessingConfiguration.Validate(); err != nil { 8472 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 8473 } 8474 } 8475 if s.S3Configuration != nil { 8476 if err := s.S3Configuration.Validate(); err != nil { 8477 invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) 8478 } 8479 } 8480 8481 if invalidParams.Len() > 0 { 8482 return invalidParams 8483 } 8484 return nil 8485 } 8486 8487 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 8488 func (s *SplunkDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *SplunkDestinationConfiguration { 8489 s.CloudWatchLoggingOptions = v 8490 return s 8491 } 8492 8493 // SetHECAcknowledgmentTimeoutInSeconds sets the HECAcknowledgmentTimeoutInSeconds field's value. 8494 func (s *SplunkDestinationConfiguration) SetHECAcknowledgmentTimeoutInSeconds(v int64) *SplunkDestinationConfiguration { 8495 s.HECAcknowledgmentTimeoutInSeconds = &v 8496 return s 8497 } 8498 8499 // SetHECEndpoint sets the HECEndpoint field's value. 8500 func (s *SplunkDestinationConfiguration) SetHECEndpoint(v string) *SplunkDestinationConfiguration { 8501 s.HECEndpoint = &v 8502 return s 8503 } 8504 8505 // SetHECEndpointType sets the HECEndpointType field's value. 8506 func (s *SplunkDestinationConfiguration) SetHECEndpointType(v string) *SplunkDestinationConfiguration { 8507 s.HECEndpointType = &v 8508 return s 8509 } 8510 8511 // SetHECToken sets the HECToken field's value. 8512 func (s *SplunkDestinationConfiguration) SetHECToken(v string) *SplunkDestinationConfiguration { 8513 s.HECToken = &v 8514 return s 8515 } 8516 8517 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 8518 func (s *SplunkDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *SplunkDestinationConfiguration { 8519 s.ProcessingConfiguration = v 8520 return s 8521 } 8522 8523 // SetRetryOptions sets the RetryOptions field's value. 8524 func (s *SplunkDestinationConfiguration) SetRetryOptions(v *SplunkRetryOptions) *SplunkDestinationConfiguration { 8525 s.RetryOptions = v 8526 return s 8527 } 8528 8529 // SetS3BackupMode sets the S3BackupMode field's value. 8530 func (s *SplunkDestinationConfiguration) SetS3BackupMode(v string) *SplunkDestinationConfiguration { 8531 s.S3BackupMode = &v 8532 return s 8533 } 8534 8535 // SetS3Configuration sets the S3Configuration field's value. 8536 func (s *SplunkDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *SplunkDestinationConfiguration { 8537 s.S3Configuration = v 8538 return s 8539 } 8540 8541 // Describes a destination in Splunk. 8542 type SplunkDestinationDescription struct { 8543 _ struct{} `type:"structure"` 8544 8545 // The Amazon CloudWatch logging options for your delivery stream. 8546 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 8547 8548 // The amount of time that Kinesis Data Firehose waits to receive an acknowledgment 8549 // from Splunk after it sends it data. At the end of the timeout period, Kinesis 8550 // Data Firehose either tries to send the data again or considers it an error, 8551 // based on your retry settings. 8552 HECAcknowledgmentTimeoutInSeconds *int64 `min:"180" type:"integer"` 8553 8554 // The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends 8555 // your data. 8556 HECEndpoint *string `type:"string"` 8557 8558 // This type can be either "Raw" or "Event." 8559 HECEndpointType *string `type:"string" enum:"HECEndpointType"` 8560 8561 // A GUID you obtain from your Splunk cluster when you create a new HEC endpoint. 8562 HECToken *string `type:"string"` 8563 8564 // The data processing configuration. 8565 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 8566 8567 // The retry behavior in case Kinesis Data Firehose is unable to deliver data 8568 // to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. 8569 RetryOptions *SplunkRetryOptions `type:"structure"` 8570 8571 // Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, 8572 // Kinesis Data Firehose writes any data that could not be indexed to the configured 8573 // Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers 8574 // all incoming records to Amazon S3, and also writes failed documents to Amazon 8575 // S3. Default value is FailedDocumentsOnly. 8576 S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` 8577 8578 // The Amazon S3 destination.> 8579 S3DestinationDescription *S3DestinationDescription `type:"structure"` 8580 } 8581 8582 // String returns the string representation. 8583 // 8584 // API parameter values that are decorated as "sensitive" in the API will not 8585 // be included in the string output. The member name will be present, but the 8586 // value will be replaced with "sensitive". 8587 func (s SplunkDestinationDescription) String() string { 8588 return awsutil.Prettify(s) 8589 } 8590 8591 // GoString returns the string representation. 8592 // 8593 // API parameter values that are decorated as "sensitive" in the API will not 8594 // be included in the string output. The member name will be present, but the 8595 // value will be replaced with "sensitive". 8596 func (s SplunkDestinationDescription) GoString() string { 8597 return s.String() 8598 } 8599 8600 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 8601 func (s *SplunkDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *SplunkDestinationDescription { 8602 s.CloudWatchLoggingOptions = v 8603 return s 8604 } 8605 8606 // SetHECAcknowledgmentTimeoutInSeconds sets the HECAcknowledgmentTimeoutInSeconds field's value. 8607 func (s *SplunkDestinationDescription) SetHECAcknowledgmentTimeoutInSeconds(v int64) *SplunkDestinationDescription { 8608 s.HECAcknowledgmentTimeoutInSeconds = &v 8609 return s 8610 } 8611 8612 // SetHECEndpoint sets the HECEndpoint field's value. 8613 func (s *SplunkDestinationDescription) SetHECEndpoint(v string) *SplunkDestinationDescription { 8614 s.HECEndpoint = &v 8615 return s 8616 } 8617 8618 // SetHECEndpointType sets the HECEndpointType field's value. 8619 func (s *SplunkDestinationDescription) SetHECEndpointType(v string) *SplunkDestinationDescription { 8620 s.HECEndpointType = &v 8621 return s 8622 } 8623 8624 // SetHECToken sets the HECToken field's value. 8625 func (s *SplunkDestinationDescription) SetHECToken(v string) *SplunkDestinationDescription { 8626 s.HECToken = &v 8627 return s 8628 } 8629 8630 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 8631 func (s *SplunkDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *SplunkDestinationDescription { 8632 s.ProcessingConfiguration = v 8633 return s 8634 } 8635 8636 // SetRetryOptions sets the RetryOptions field's value. 8637 func (s *SplunkDestinationDescription) SetRetryOptions(v *SplunkRetryOptions) *SplunkDestinationDescription { 8638 s.RetryOptions = v 8639 return s 8640 } 8641 8642 // SetS3BackupMode sets the S3BackupMode field's value. 8643 func (s *SplunkDestinationDescription) SetS3BackupMode(v string) *SplunkDestinationDescription { 8644 s.S3BackupMode = &v 8645 return s 8646 } 8647 8648 // SetS3DestinationDescription sets the S3DestinationDescription field's value. 8649 func (s *SplunkDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *SplunkDestinationDescription { 8650 s.S3DestinationDescription = v 8651 return s 8652 } 8653 8654 // Describes an update for a destination in Splunk. 8655 type SplunkDestinationUpdate struct { 8656 _ struct{} `type:"structure"` 8657 8658 // The Amazon CloudWatch logging options for your delivery stream. 8659 CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` 8660 8661 // The amount of time that Kinesis Data Firehose waits to receive an acknowledgment 8662 // from Splunk after it sends data. At the end of the timeout period, Kinesis 8663 // Data Firehose either tries to send the data again or considers it an error, 8664 // based on your retry settings. 8665 HECAcknowledgmentTimeoutInSeconds *int64 `min:"180" type:"integer"` 8666 8667 // The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends 8668 // your data. 8669 HECEndpoint *string `type:"string"` 8670 8671 // This type can be either "Raw" or "Event." 8672 HECEndpointType *string `type:"string" enum:"HECEndpointType"` 8673 8674 // A GUID that you obtain from your Splunk cluster when you create a new HEC 8675 // endpoint. 8676 HECToken *string `type:"string"` 8677 8678 // The data processing configuration. 8679 ProcessingConfiguration *ProcessingConfiguration `type:"structure"` 8680 8681 // The retry behavior in case Kinesis Data Firehose is unable to deliver data 8682 // to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. 8683 RetryOptions *SplunkRetryOptions `type:"structure"` 8684 8685 // Specifies how you want Kinesis Data Firehose to back up documents to Amazon 8686 // S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data 8687 // that could not be indexed to the configured Amazon S3 destination. When set 8688 // to AllEvents, Kinesis Data Firehose delivers all incoming records to Amazon 8689 // S3, and also writes failed documents to Amazon S3. The default value is FailedEventsOnly. 8690 // 8691 // You can update this backup mode from FailedEventsOnly to AllEvents. You can't 8692 // update it from AllEvents to FailedEventsOnly. 8693 S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` 8694 8695 // Your update to the configuration of the backup Amazon S3 location. 8696 S3Update *S3DestinationUpdate `type:"structure"` 8697 } 8698 8699 // String returns the string representation. 8700 // 8701 // API parameter values that are decorated as "sensitive" in the API will not 8702 // be included in the string output. The member name will be present, but the 8703 // value will be replaced with "sensitive". 8704 func (s SplunkDestinationUpdate) String() string { 8705 return awsutil.Prettify(s) 8706 } 8707 8708 // GoString returns the string representation. 8709 // 8710 // API parameter values that are decorated as "sensitive" in the API will not 8711 // be included in the string output. The member name will be present, but the 8712 // value will be replaced with "sensitive". 8713 func (s SplunkDestinationUpdate) GoString() string { 8714 return s.String() 8715 } 8716 8717 // Validate inspects the fields of the type to determine if they are valid. 8718 func (s *SplunkDestinationUpdate) Validate() error { 8719 invalidParams := request.ErrInvalidParams{Context: "SplunkDestinationUpdate"} 8720 if s.HECAcknowledgmentTimeoutInSeconds != nil && *s.HECAcknowledgmentTimeoutInSeconds < 180 { 8721 invalidParams.Add(request.NewErrParamMinValue("HECAcknowledgmentTimeoutInSeconds", 180)) 8722 } 8723 if s.ProcessingConfiguration != nil { 8724 if err := s.ProcessingConfiguration.Validate(); err != nil { 8725 invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) 8726 } 8727 } 8728 if s.S3Update != nil { 8729 if err := s.S3Update.Validate(); err != nil { 8730 invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) 8731 } 8732 } 8733 8734 if invalidParams.Len() > 0 { 8735 return invalidParams 8736 } 8737 return nil 8738 } 8739 8740 // SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. 8741 func (s *SplunkDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *SplunkDestinationUpdate { 8742 s.CloudWatchLoggingOptions = v 8743 return s 8744 } 8745 8746 // SetHECAcknowledgmentTimeoutInSeconds sets the HECAcknowledgmentTimeoutInSeconds field's value. 8747 func (s *SplunkDestinationUpdate) SetHECAcknowledgmentTimeoutInSeconds(v int64) *SplunkDestinationUpdate { 8748 s.HECAcknowledgmentTimeoutInSeconds = &v 8749 return s 8750 } 8751 8752 // SetHECEndpoint sets the HECEndpoint field's value. 8753 func (s *SplunkDestinationUpdate) SetHECEndpoint(v string) *SplunkDestinationUpdate { 8754 s.HECEndpoint = &v 8755 return s 8756 } 8757 8758 // SetHECEndpointType sets the HECEndpointType field's value. 8759 func (s *SplunkDestinationUpdate) SetHECEndpointType(v string) *SplunkDestinationUpdate { 8760 s.HECEndpointType = &v 8761 return s 8762 } 8763 8764 // SetHECToken sets the HECToken field's value. 8765 func (s *SplunkDestinationUpdate) SetHECToken(v string) *SplunkDestinationUpdate { 8766 s.HECToken = &v 8767 return s 8768 } 8769 8770 // SetProcessingConfiguration sets the ProcessingConfiguration field's value. 8771 func (s *SplunkDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *SplunkDestinationUpdate { 8772 s.ProcessingConfiguration = v 8773 return s 8774 } 8775 8776 // SetRetryOptions sets the RetryOptions field's value. 8777 func (s *SplunkDestinationUpdate) SetRetryOptions(v *SplunkRetryOptions) *SplunkDestinationUpdate { 8778 s.RetryOptions = v 8779 return s 8780 } 8781 8782 // SetS3BackupMode sets the S3BackupMode field's value. 8783 func (s *SplunkDestinationUpdate) SetS3BackupMode(v string) *SplunkDestinationUpdate { 8784 s.S3BackupMode = &v 8785 return s 8786 } 8787 8788 // SetS3Update sets the S3Update field's value. 8789 func (s *SplunkDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *SplunkDestinationUpdate { 8790 s.S3Update = v 8791 return s 8792 } 8793 8794 // Configures retry behavior in case Kinesis Data Firehose is unable to deliver 8795 // documents to Splunk, or if it doesn't receive an acknowledgment from Splunk. 8796 type SplunkRetryOptions struct { 8797 _ struct{} `type:"structure"` 8798 8799 // The total amount of time that Kinesis Data Firehose spends on retries. This 8800 // duration starts after the initial attempt to send data to Splunk fails. It 8801 // doesn't include the periods during which Kinesis Data Firehose waits for 8802 // acknowledgment from Splunk after each attempt. 8803 DurationInSeconds *int64 `type:"integer"` 8804 } 8805 8806 // String returns the string representation. 8807 // 8808 // API parameter values that are decorated as "sensitive" in the API will not 8809 // be included in the string output. The member name will be present, but the 8810 // value will be replaced with "sensitive". 8811 func (s SplunkRetryOptions) String() string { 8812 return awsutil.Prettify(s) 8813 } 8814 8815 // GoString returns the string representation. 8816 // 8817 // API parameter values that are decorated as "sensitive" in the API will not 8818 // be included in the string output. The member name will be present, but the 8819 // value will be replaced with "sensitive". 8820 func (s SplunkRetryOptions) GoString() string { 8821 return s.String() 8822 } 8823 8824 // SetDurationInSeconds sets the DurationInSeconds field's value. 8825 func (s *SplunkRetryOptions) SetDurationInSeconds(v int64) *SplunkRetryOptions { 8826 s.DurationInSeconds = &v 8827 return s 8828 } 8829 8830 type StartDeliveryStreamEncryptionInput struct { 8831 _ struct{} `type:"structure"` 8832 8833 // Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed 8834 // for Server-Side Encryption (SSE). 8835 DeliveryStreamEncryptionConfigurationInput *DeliveryStreamEncryptionConfigurationInput `type:"structure"` 8836 8837 // The name of the delivery stream for which you want to enable server-side 8838 // encryption (SSE). 8839 // 8840 // DeliveryStreamName is a required field 8841 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 8842 } 8843 8844 // String returns the string representation. 8845 // 8846 // API parameter values that are decorated as "sensitive" in the API will not 8847 // be included in the string output. The member name will be present, but the 8848 // value will be replaced with "sensitive". 8849 func (s StartDeliveryStreamEncryptionInput) String() string { 8850 return awsutil.Prettify(s) 8851 } 8852 8853 // GoString returns the string representation. 8854 // 8855 // API parameter values that are decorated as "sensitive" in the API will not 8856 // be included in the string output. The member name will be present, but the 8857 // value will be replaced with "sensitive". 8858 func (s StartDeliveryStreamEncryptionInput) GoString() string { 8859 return s.String() 8860 } 8861 8862 // Validate inspects the fields of the type to determine if they are valid. 8863 func (s *StartDeliveryStreamEncryptionInput) Validate() error { 8864 invalidParams := request.ErrInvalidParams{Context: "StartDeliveryStreamEncryptionInput"} 8865 if s.DeliveryStreamName == nil { 8866 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 8867 } 8868 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 8869 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 8870 } 8871 if s.DeliveryStreamEncryptionConfigurationInput != nil { 8872 if err := s.DeliveryStreamEncryptionConfigurationInput.Validate(); err != nil { 8873 invalidParams.AddNested("DeliveryStreamEncryptionConfigurationInput", err.(request.ErrInvalidParams)) 8874 } 8875 } 8876 8877 if invalidParams.Len() > 0 { 8878 return invalidParams 8879 } 8880 return nil 8881 } 8882 8883 // SetDeliveryStreamEncryptionConfigurationInput sets the DeliveryStreamEncryptionConfigurationInput field's value. 8884 func (s *StartDeliveryStreamEncryptionInput) SetDeliveryStreamEncryptionConfigurationInput(v *DeliveryStreamEncryptionConfigurationInput) *StartDeliveryStreamEncryptionInput { 8885 s.DeliveryStreamEncryptionConfigurationInput = v 8886 return s 8887 } 8888 8889 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 8890 func (s *StartDeliveryStreamEncryptionInput) SetDeliveryStreamName(v string) *StartDeliveryStreamEncryptionInput { 8891 s.DeliveryStreamName = &v 8892 return s 8893 } 8894 8895 type StartDeliveryStreamEncryptionOutput struct { 8896 _ struct{} `type:"structure"` 8897 } 8898 8899 // String returns the string representation. 8900 // 8901 // API parameter values that are decorated as "sensitive" in the API will not 8902 // be included in the string output. The member name will be present, but the 8903 // value will be replaced with "sensitive". 8904 func (s StartDeliveryStreamEncryptionOutput) String() string { 8905 return awsutil.Prettify(s) 8906 } 8907 8908 // GoString returns the string representation. 8909 // 8910 // API parameter values that are decorated as "sensitive" in the API will not 8911 // be included in the string output. The member name will be present, but the 8912 // value will be replaced with "sensitive". 8913 func (s StartDeliveryStreamEncryptionOutput) GoString() string { 8914 return s.String() 8915 } 8916 8917 type StopDeliveryStreamEncryptionInput struct { 8918 _ struct{} `type:"structure"` 8919 8920 // The name of the delivery stream for which you want to disable server-side 8921 // encryption (SSE). 8922 // 8923 // DeliveryStreamName is a required field 8924 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 8925 } 8926 8927 // String returns the string representation. 8928 // 8929 // API parameter values that are decorated as "sensitive" in the API will not 8930 // be included in the string output. The member name will be present, but the 8931 // value will be replaced with "sensitive". 8932 func (s StopDeliveryStreamEncryptionInput) String() string { 8933 return awsutil.Prettify(s) 8934 } 8935 8936 // GoString returns the string representation. 8937 // 8938 // API parameter values that are decorated as "sensitive" in the API will not 8939 // be included in the string output. The member name will be present, but the 8940 // value will be replaced with "sensitive". 8941 func (s StopDeliveryStreamEncryptionInput) GoString() string { 8942 return s.String() 8943 } 8944 8945 // Validate inspects the fields of the type to determine if they are valid. 8946 func (s *StopDeliveryStreamEncryptionInput) Validate() error { 8947 invalidParams := request.ErrInvalidParams{Context: "StopDeliveryStreamEncryptionInput"} 8948 if s.DeliveryStreamName == nil { 8949 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 8950 } 8951 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 8952 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 8953 } 8954 8955 if invalidParams.Len() > 0 { 8956 return invalidParams 8957 } 8958 return nil 8959 } 8960 8961 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 8962 func (s *StopDeliveryStreamEncryptionInput) SetDeliveryStreamName(v string) *StopDeliveryStreamEncryptionInput { 8963 s.DeliveryStreamName = &v 8964 return s 8965 } 8966 8967 type StopDeliveryStreamEncryptionOutput struct { 8968 _ struct{} `type:"structure"` 8969 } 8970 8971 // String returns the string representation. 8972 // 8973 // API parameter values that are decorated as "sensitive" in the API will not 8974 // be included in the string output. The member name will be present, but the 8975 // value will be replaced with "sensitive". 8976 func (s StopDeliveryStreamEncryptionOutput) String() string { 8977 return awsutil.Prettify(s) 8978 } 8979 8980 // GoString returns the string representation. 8981 // 8982 // API parameter values that are decorated as "sensitive" in the API will not 8983 // be included in the string output. The member name will be present, but the 8984 // value will be replaced with "sensitive". 8985 func (s StopDeliveryStreamEncryptionOutput) GoString() string { 8986 return s.String() 8987 } 8988 8989 // Metadata that you can assign to a delivery stream, consisting of a key-value 8990 // pair. 8991 type Tag struct { 8992 _ struct{} `type:"structure"` 8993 8994 // A unique identifier for the tag. Maximum length: 128 characters. Valid characters: 8995 // Unicode letters, digits, white space, _ . / = + - % @ 8996 // 8997 // Key is a required field 8998 Key *string `min:"1" type:"string" required:"true"` 8999 9000 // An optional string, which you can use to describe or define the tag. Maximum 9001 // length: 256 characters. Valid characters: Unicode letters, digits, white 9002 // space, _ . / = + - % @ 9003 Value *string `type:"string"` 9004 } 9005 9006 // String returns the string representation. 9007 // 9008 // API parameter values that are decorated as "sensitive" in the API will not 9009 // be included in the string output. The member name will be present, but the 9010 // value will be replaced with "sensitive". 9011 func (s Tag) String() string { 9012 return awsutil.Prettify(s) 9013 } 9014 9015 // GoString returns the string representation. 9016 // 9017 // API parameter values that are decorated as "sensitive" in the API will not 9018 // be included in the string output. The member name will be present, but the 9019 // value will be replaced with "sensitive". 9020 func (s Tag) GoString() string { 9021 return s.String() 9022 } 9023 9024 // Validate inspects the fields of the type to determine if they are valid. 9025 func (s *Tag) Validate() error { 9026 invalidParams := request.ErrInvalidParams{Context: "Tag"} 9027 if s.Key == nil { 9028 invalidParams.Add(request.NewErrParamRequired("Key")) 9029 } 9030 if s.Key != nil && len(*s.Key) < 1 { 9031 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 9032 } 9033 9034 if invalidParams.Len() > 0 { 9035 return invalidParams 9036 } 9037 return nil 9038 } 9039 9040 // SetKey sets the Key field's value. 9041 func (s *Tag) SetKey(v string) *Tag { 9042 s.Key = &v 9043 return s 9044 } 9045 9046 // SetValue sets the Value field's value. 9047 func (s *Tag) SetValue(v string) *Tag { 9048 s.Value = &v 9049 return s 9050 } 9051 9052 type TagDeliveryStreamInput struct { 9053 _ struct{} `type:"structure"` 9054 9055 // The name of the delivery stream to which you want to add the tags. 9056 // 9057 // DeliveryStreamName is a required field 9058 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 9059 9060 // A set of key-value pairs to use to create the tags. 9061 // 9062 // Tags is a required field 9063 Tags []*Tag `min:"1" type:"list" required:"true"` 9064 } 9065 9066 // String returns the string representation. 9067 // 9068 // API parameter values that are decorated as "sensitive" in the API will not 9069 // be included in the string output. The member name will be present, but the 9070 // value will be replaced with "sensitive". 9071 func (s TagDeliveryStreamInput) String() string { 9072 return awsutil.Prettify(s) 9073 } 9074 9075 // GoString returns the string representation. 9076 // 9077 // API parameter values that are decorated as "sensitive" in the API will not 9078 // be included in the string output. The member name will be present, but the 9079 // value will be replaced with "sensitive". 9080 func (s TagDeliveryStreamInput) GoString() string { 9081 return s.String() 9082 } 9083 9084 // Validate inspects the fields of the type to determine if they are valid. 9085 func (s *TagDeliveryStreamInput) Validate() error { 9086 invalidParams := request.ErrInvalidParams{Context: "TagDeliveryStreamInput"} 9087 if s.DeliveryStreamName == nil { 9088 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 9089 } 9090 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 9091 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 9092 } 9093 if s.Tags == nil { 9094 invalidParams.Add(request.NewErrParamRequired("Tags")) 9095 } 9096 if s.Tags != nil && len(s.Tags) < 1 { 9097 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 9098 } 9099 if s.Tags != nil { 9100 for i, v := range s.Tags { 9101 if v == nil { 9102 continue 9103 } 9104 if err := v.Validate(); err != nil { 9105 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9106 } 9107 } 9108 } 9109 9110 if invalidParams.Len() > 0 { 9111 return invalidParams 9112 } 9113 return nil 9114 } 9115 9116 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 9117 func (s *TagDeliveryStreamInput) SetDeliveryStreamName(v string) *TagDeliveryStreamInput { 9118 s.DeliveryStreamName = &v 9119 return s 9120 } 9121 9122 // SetTags sets the Tags field's value. 9123 func (s *TagDeliveryStreamInput) SetTags(v []*Tag) *TagDeliveryStreamInput { 9124 s.Tags = v 9125 return s 9126 } 9127 9128 type TagDeliveryStreamOutput struct { 9129 _ struct{} `type:"structure"` 9130 } 9131 9132 // String returns the string representation. 9133 // 9134 // API parameter values that are decorated as "sensitive" in the API will not 9135 // be included in the string output. The member name will be present, but the 9136 // value will be replaced with "sensitive". 9137 func (s TagDeliveryStreamOutput) String() string { 9138 return awsutil.Prettify(s) 9139 } 9140 9141 // GoString returns the string representation. 9142 // 9143 // API parameter values that are decorated as "sensitive" in the API will not 9144 // be included in the string output. The member name will be present, but the 9145 // value will be replaced with "sensitive". 9146 func (s TagDeliveryStreamOutput) GoString() string { 9147 return s.String() 9148 } 9149 9150 type UntagDeliveryStreamInput struct { 9151 _ struct{} `type:"structure"` 9152 9153 // The name of the delivery stream. 9154 // 9155 // DeliveryStreamName is a required field 9156 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 9157 9158 // A list of tag keys. Each corresponding tag is removed from the delivery stream. 9159 // 9160 // TagKeys is a required field 9161 TagKeys []*string `min:"1" type:"list" required:"true"` 9162 } 9163 9164 // String returns the string representation. 9165 // 9166 // API parameter values that are decorated as "sensitive" in the API will not 9167 // be included in the string output. The member name will be present, but the 9168 // value will be replaced with "sensitive". 9169 func (s UntagDeliveryStreamInput) String() string { 9170 return awsutil.Prettify(s) 9171 } 9172 9173 // GoString returns the string representation. 9174 // 9175 // API parameter values that are decorated as "sensitive" in the API will not 9176 // be included in the string output. The member name will be present, but the 9177 // value will be replaced with "sensitive". 9178 func (s UntagDeliveryStreamInput) GoString() string { 9179 return s.String() 9180 } 9181 9182 // Validate inspects the fields of the type to determine if they are valid. 9183 func (s *UntagDeliveryStreamInput) Validate() error { 9184 invalidParams := request.ErrInvalidParams{Context: "UntagDeliveryStreamInput"} 9185 if s.DeliveryStreamName == nil { 9186 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 9187 } 9188 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 9189 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 9190 } 9191 if s.TagKeys == nil { 9192 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 9193 } 9194 if s.TagKeys != nil && len(s.TagKeys) < 1 { 9195 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 9196 } 9197 9198 if invalidParams.Len() > 0 { 9199 return invalidParams 9200 } 9201 return nil 9202 } 9203 9204 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 9205 func (s *UntagDeliveryStreamInput) SetDeliveryStreamName(v string) *UntagDeliveryStreamInput { 9206 s.DeliveryStreamName = &v 9207 return s 9208 } 9209 9210 // SetTagKeys sets the TagKeys field's value. 9211 func (s *UntagDeliveryStreamInput) SetTagKeys(v []*string) *UntagDeliveryStreamInput { 9212 s.TagKeys = v 9213 return s 9214 } 9215 9216 type UntagDeliveryStreamOutput struct { 9217 _ struct{} `type:"structure"` 9218 } 9219 9220 // String returns the string representation. 9221 // 9222 // API parameter values that are decorated as "sensitive" in the API will not 9223 // be included in the string output. The member name will be present, but the 9224 // value will be replaced with "sensitive". 9225 func (s UntagDeliveryStreamOutput) String() string { 9226 return awsutil.Prettify(s) 9227 } 9228 9229 // GoString returns the string representation. 9230 // 9231 // API parameter values that are decorated as "sensitive" in the API will not 9232 // be included in the string output. The member name will be present, but the 9233 // value will be replaced with "sensitive". 9234 func (s UntagDeliveryStreamOutput) GoString() string { 9235 return s.String() 9236 } 9237 9238 type UpdateDestinationInput struct { 9239 _ struct{} `type:"structure"` 9240 9241 AmazonopensearchserviceDestinationUpdate *AmazonopensearchserviceDestinationUpdate `type:"structure"` 9242 9243 // Obtain this value from the VersionId result of DeliveryStreamDescription. 9244 // This value is required, and helps the service perform conditional operations. 9245 // For example, if there is an interleaving update and this value is null, then 9246 // the update destination fails. After the update is successful, the VersionId 9247 // value is updated. The service then performs a merge of the old configuration 9248 // with the new configuration. 9249 // 9250 // CurrentDeliveryStreamVersionId is a required field 9251 CurrentDeliveryStreamVersionId *string `min:"1" type:"string" required:"true"` 9252 9253 // The name of the delivery stream. 9254 // 9255 // DeliveryStreamName is a required field 9256 DeliveryStreamName *string `min:"1" type:"string" required:"true"` 9257 9258 // The ID of the destination. 9259 // 9260 // DestinationId is a required field 9261 DestinationId *string `min:"1" type:"string" required:"true"` 9262 9263 // Describes an update for a destination in Amazon ES. 9264 ElasticsearchDestinationUpdate *ElasticsearchDestinationUpdate `type:"structure"` 9265 9266 // Describes an update for a destination in Amazon S3. 9267 ExtendedS3DestinationUpdate *ExtendedS3DestinationUpdate `type:"structure"` 9268 9269 // Describes an update to the specified HTTP endpoint destination. 9270 HttpEndpointDestinationUpdate *HttpEndpointDestinationUpdate `type:"structure"` 9271 9272 // Describes an update for a destination in Amazon Redshift. 9273 RedshiftDestinationUpdate *RedshiftDestinationUpdate `type:"structure"` 9274 9275 // [Deprecated] Describes an update for a destination in Amazon S3. 9276 // 9277 // Deprecated: S3DestinationUpdate has been deprecated 9278 S3DestinationUpdate *S3DestinationUpdate `deprecated:"true" type:"structure"` 9279 9280 // Describes an update for a destination in Splunk. 9281 SplunkDestinationUpdate *SplunkDestinationUpdate `type:"structure"` 9282 } 9283 9284 // String returns the string representation. 9285 // 9286 // API parameter values that are decorated as "sensitive" in the API will not 9287 // be included in the string output. The member name will be present, but the 9288 // value will be replaced with "sensitive". 9289 func (s UpdateDestinationInput) String() string { 9290 return awsutil.Prettify(s) 9291 } 9292 9293 // GoString returns the string representation. 9294 // 9295 // API parameter values that are decorated as "sensitive" in the API will not 9296 // be included in the string output. The member name will be present, but the 9297 // value will be replaced with "sensitive". 9298 func (s UpdateDestinationInput) GoString() string { 9299 return s.String() 9300 } 9301 9302 // Validate inspects the fields of the type to determine if they are valid. 9303 func (s *UpdateDestinationInput) Validate() error { 9304 invalidParams := request.ErrInvalidParams{Context: "UpdateDestinationInput"} 9305 if s.CurrentDeliveryStreamVersionId == nil { 9306 invalidParams.Add(request.NewErrParamRequired("CurrentDeliveryStreamVersionId")) 9307 } 9308 if s.CurrentDeliveryStreamVersionId != nil && len(*s.CurrentDeliveryStreamVersionId) < 1 { 9309 invalidParams.Add(request.NewErrParamMinLen("CurrentDeliveryStreamVersionId", 1)) 9310 } 9311 if s.DeliveryStreamName == nil { 9312 invalidParams.Add(request.NewErrParamRequired("DeliveryStreamName")) 9313 } 9314 if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { 9315 invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) 9316 } 9317 if s.DestinationId == nil { 9318 invalidParams.Add(request.NewErrParamRequired("DestinationId")) 9319 } 9320 if s.DestinationId != nil && len(*s.DestinationId) < 1 { 9321 invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1)) 9322 } 9323 if s.AmazonopensearchserviceDestinationUpdate != nil { 9324 if err := s.AmazonopensearchserviceDestinationUpdate.Validate(); err != nil { 9325 invalidParams.AddNested("AmazonopensearchserviceDestinationUpdate", err.(request.ErrInvalidParams)) 9326 } 9327 } 9328 if s.ElasticsearchDestinationUpdate != nil { 9329 if err := s.ElasticsearchDestinationUpdate.Validate(); err != nil { 9330 invalidParams.AddNested("ElasticsearchDestinationUpdate", err.(request.ErrInvalidParams)) 9331 } 9332 } 9333 if s.ExtendedS3DestinationUpdate != nil { 9334 if err := s.ExtendedS3DestinationUpdate.Validate(); err != nil { 9335 invalidParams.AddNested("ExtendedS3DestinationUpdate", err.(request.ErrInvalidParams)) 9336 } 9337 } 9338 if s.HttpEndpointDestinationUpdate != nil { 9339 if err := s.HttpEndpointDestinationUpdate.Validate(); err != nil { 9340 invalidParams.AddNested("HttpEndpointDestinationUpdate", err.(request.ErrInvalidParams)) 9341 } 9342 } 9343 if s.RedshiftDestinationUpdate != nil { 9344 if err := s.RedshiftDestinationUpdate.Validate(); err != nil { 9345 invalidParams.AddNested("RedshiftDestinationUpdate", err.(request.ErrInvalidParams)) 9346 } 9347 } 9348 if s.S3DestinationUpdate != nil { 9349 if err := s.S3DestinationUpdate.Validate(); err != nil { 9350 invalidParams.AddNested("S3DestinationUpdate", err.(request.ErrInvalidParams)) 9351 } 9352 } 9353 if s.SplunkDestinationUpdate != nil { 9354 if err := s.SplunkDestinationUpdate.Validate(); err != nil { 9355 invalidParams.AddNested("SplunkDestinationUpdate", err.(request.ErrInvalidParams)) 9356 } 9357 } 9358 9359 if invalidParams.Len() > 0 { 9360 return invalidParams 9361 } 9362 return nil 9363 } 9364 9365 // SetAmazonopensearchserviceDestinationUpdate sets the AmazonopensearchserviceDestinationUpdate field's value. 9366 func (s *UpdateDestinationInput) SetAmazonopensearchserviceDestinationUpdate(v *AmazonopensearchserviceDestinationUpdate) *UpdateDestinationInput { 9367 s.AmazonopensearchserviceDestinationUpdate = v 9368 return s 9369 } 9370 9371 // SetCurrentDeliveryStreamVersionId sets the CurrentDeliveryStreamVersionId field's value. 9372 func (s *UpdateDestinationInput) SetCurrentDeliveryStreamVersionId(v string) *UpdateDestinationInput { 9373 s.CurrentDeliveryStreamVersionId = &v 9374 return s 9375 } 9376 9377 // SetDeliveryStreamName sets the DeliveryStreamName field's value. 9378 func (s *UpdateDestinationInput) SetDeliveryStreamName(v string) *UpdateDestinationInput { 9379 s.DeliveryStreamName = &v 9380 return s 9381 } 9382 9383 // SetDestinationId sets the DestinationId field's value. 9384 func (s *UpdateDestinationInput) SetDestinationId(v string) *UpdateDestinationInput { 9385 s.DestinationId = &v 9386 return s 9387 } 9388 9389 // SetElasticsearchDestinationUpdate sets the ElasticsearchDestinationUpdate field's value. 9390 func (s *UpdateDestinationInput) SetElasticsearchDestinationUpdate(v *ElasticsearchDestinationUpdate) *UpdateDestinationInput { 9391 s.ElasticsearchDestinationUpdate = v 9392 return s 9393 } 9394 9395 // SetExtendedS3DestinationUpdate sets the ExtendedS3DestinationUpdate field's value. 9396 func (s *UpdateDestinationInput) SetExtendedS3DestinationUpdate(v *ExtendedS3DestinationUpdate) *UpdateDestinationInput { 9397 s.ExtendedS3DestinationUpdate = v 9398 return s 9399 } 9400 9401 // SetHttpEndpointDestinationUpdate sets the HttpEndpointDestinationUpdate field's value. 9402 func (s *UpdateDestinationInput) SetHttpEndpointDestinationUpdate(v *HttpEndpointDestinationUpdate) *UpdateDestinationInput { 9403 s.HttpEndpointDestinationUpdate = v 9404 return s 9405 } 9406 9407 // SetRedshiftDestinationUpdate sets the RedshiftDestinationUpdate field's value. 9408 func (s *UpdateDestinationInput) SetRedshiftDestinationUpdate(v *RedshiftDestinationUpdate) *UpdateDestinationInput { 9409 s.RedshiftDestinationUpdate = v 9410 return s 9411 } 9412 9413 // SetS3DestinationUpdate sets the S3DestinationUpdate field's value. 9414 func (s *UpdateDestinationInput) SetS3DestinationUpdate(v *S3DestinationUpdate) *UpdateDestinationInput { 9415 s.S3DestinationUpdate = v 9416 return s 9417 } 9418 9419 // SetSplunkDestinationUpdate sets the SplunkDestinationUpdate field's value. 9420 func (s *UpdateDestinationInput) SetSplunkDestinationUpdate(v *SplunkDestinationUpdate) *UpdateDestinationInput { 9421 s.SplunkDestinationUpdate = v 9422 return s 9423 } 9424 9425 type UpdateDestinationOutput struct { 9426 _ struct{} `type:"structure"` 9427 } 9428 9429 // String returns the string representation. 9430 // 9431 // API parameter values that are decorated as "sensitive" in the API will not 9432 // be included in the string output. The member name will be present, but the 9433 // value will be replaced with "sensitive". 9434 func (s UpdateDestinationOutput) String() string { 9435 return awsutil.Prettify(s) 9436 } 9437 9438 // GoString returns the string representation. 9439 // 9440 // API parameter values that are decorated as "sensitive" in the API will not 9441 // be included in the string output. The member name will be present, but the 9442 // value will be replaced with "sensitive". 9443 func (s UpdateDestinationOutput) GoString() string { 9444 return s.String() 9445 } 9446 9447 // The details of the VPC of the Amazon ES destination. 9448 type VpcConfiguration struct { 9449 _ struct{} `type:"structure"` 9450 9451 // The ARN of the IAM role that you want the delivery stream to use to create 9452 // endpoints in the destination VPC. You can use your existing Kinesis Data 9453 // Firehose delivery role or you can specify a new role. In either case, make 9454 // sure that the role trusts the Kinesis Data Firehose service principal and 9455 // that it grants the following permissions: 9456 // 9457 // * ec2:DescribeVpcs 9458 // 9459 // * ec2:DescribeVpcAttribute 9460 // 9461 // * ec2:DescribeSubnets 9462 // 9463 // * ec2:DescribeSecurityGroups 9464 // 9465 // * ec2:DescribeNetworkInterfaces 9466 // 9467 // * ec2:CreateNetworkInterface 9468 // 9469 // * ec2:CreateNetworkInterfacePermission 9470 // 9471 // * ec2:DeleteNetworkInterface 9472 // 9473 // If you revoke these permissions after you create the delivery stream, Kinesis 9474 // Data Firehose can't scale out by creating more ENIs when necessary. You might 9475 // therefore see a degradation in performance. 9476 // 9477 // RoleARN is a required field 9478 RoleARN *string `min:"1" type:"string" required:"true"` 9479 9480 // The IDs of the security groups that you want Kinesis Data Firehose to use 9481 // when it creates ENIs in the VPC of the Amazon ES destination. You can use 9482 // the same security group that the Amazon ES domain uses or different ones. 9483 // If you specify different security groups here, ensure that they allow outbound 9484 // HTTPS traffic to the Amazon ES domain's security group. Also ensure that 9485 // the Amazon ES domain's security group allows HTTPS traffic from the security 9486 // groups specified here. If you use the same security group for both your delivery 9487 // stream and the Amazon ES domain, make sure the security group inbound rule 9488 // allows HTTPS traffic. For more information about security group rules, see 9489 // Security group rules (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) 9490 // in the Amazon VPC documentation. 9491 // 9492 // SecurityGroupIds is a required field 9493 SecurityGroupIds []*string `min:"1" type:"list" required:"true"` 9494 9495 // The IDs of the subnets that you want Kinesis Data Firehose to use to create 9496 // ENIs in the VPC of the Amazon ES destination. Make sure that the routing 9497 // tables and inbound and outbound rules allow traffic to flow from the subnets 9498 // whose IDs are specified here to the subnets that have the destination Amazon 9499 // ES endpoints. Kinesis Data Firehose creates at least one ENI in each of the 9500 // subnets that are specified here. Do not delete or modify these ENIs. 9501 // 9502 // The number of ENIs that Kinesis Data Firehose creates in the subnets specified 9503 // here scales up and down automatically based on throughput. To enable Kinesis 9504 // Data Firehose to scale up the number of ENIs to match throughput, ensure 9505 // that you have sufficient quota. To help you calculate the quota you need, 9506 // assume that Kinesis Data Firehose can create up to three ENIs for this delivery 9507 // stream for each of the subnets specified here. For more information about 9508 // ENI quota, see Network Interfaces (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis) 9509 // in the Amazon VPC Quotas topic. 9510 // 9511 // SubnetIds is a required field 9512 SubnetIds []*string `min:"1" type:"list" required:"true"` 9513 } 9514 9515 // String returns the string representation. 9516 // 9517 // API parameter values that are decorated as "sensitive" in the API will not 9518 // be included in the string output. The member name will be present, but the 9519 // value will be replaced with "sensitive". 9520 func (s VpcConfiguration) String() string { 9521 return awsutil.Prettify(s) 9522 } 9523 9524 // GoString returns the string representation. 9525 // 9526 // API parameter values that are decorated as "sensitive" in the API will not 9527 // be included in the string output. The member name will be present, but the 9528 // value will be replaced with "sensitive". 9529 func (s VpcConfiguration) GoString() string { 9530 return s.String() 9531 } 9532 9533 // Validate inspects the fields of the type to determine if they are valid. 9534 func (s *VpcConfiguration) Validate() error { 9535 invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} 9536 if s.RoleARN == nil { 9537 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 9538 } 9539 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 9540 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 9541 } 9542 if s.SecurityGroupIds == nil { 9543 invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) 9544 } 9545 if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { 9546 invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) 9547 } 9548 if s.SubnetIds == nil { 9549 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 9550 } 9551 if s.SubnetIds != nil && len(s.SubnetIds) < 1 { 9552 invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) 9553 } 9554 9555 if invalidParams.Len() > 0 { 9556 return invalidParams 9557 } 9558 return nil 9559 } 9560 9561 // SetRoleARN sets the RoleARN field's value. 9562 func (s *VpcConfiguration) SetRoleARN(v string) *VpcConfiguration { 9563 s.RoleARN = &v 9564 return s 9565 } 9566 9567 // SetSecurityGroupIds sets the SecurityGroupIds field's value. 9568 func (s *VpcConfiguration) SetSecurityGroupIds(v []*string) *VpcConfiguration { 9569 s.SecurityGroupIds = v 9570 return s 9571 } 9572 9573 // SetSubnetIds sets the SubnetIds field's value. 9574 func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration { 9575 s.SubnetIds = v 9576 return s 9577 } 9578 9579 // The details of the VPC of the Amazon ES destination. 9580 type VpcConfigurationDescription struct { 9581 _ struct{} `type:"structure"` 9582 9583 // The ARN of the IAM role that the delivery stream uses to create endpoints 9584 // in the destination VPC. You can use your existing Kinesis Data Firehose delivery 9585 // role or you can specify a new role. In either case, make sure that the role 9586 // trusts the Kinesis Data Firehose service principal and that it grants the 9587 // following permissions: 9588 // 9589 // * ec2:DescribeVpcs 9590 // 9591 // * ec2:DescribeVpcAttribute 9592 // 9593 // * ec2:DescribeSubnets 9594 // 9595 // * ec2:DescribeSecurityGroups 9596 // 9597 // * ec2:DescribeNetworkInterfaces 9598 // 9599 // * ec2:CreateNetworkInterface 9600 // 9601 // * ec2:CreateNetworkInterfacePermission 9602 // 9603 // * ec2:DeleteNetworkInterface 9604 // 9605 // If you revoke these permissions after you create the delivery stream, Kinesis 9606 // Data Firehose can't scale out by creating more ENIs when necessary. You might 9607 // therefore see a degradation in performance. 9608 // 9609 // RoleARN is a required field 9610 RoleARN *string `min:"1" type:"string" required:"true"` 9611 9612 // The IDs of the security groups that Kinesis Data Firehose uses when it creates 9613 // ENIs in the VPC of the Amazon ES destination. You can use the same security 9614 // group that the Amazon ES domain uses or different ones. If you specify different 9615 // security groups, ensure that they allow outbound HTTPS traffic to the Amazon 9616 // ES domain's security group. Also ensure that the Amazon ES domain's security 9617 // group allows HTTPS traffic from the security groups specified here. If you 9618 // use the same security group for both your delivery stream and the Amazon 9619 // ES domain, make sure the security group inbound rule allows HTTPS traffic. 9620 // For more information about security group rules, see Security group rules 9621 // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) 9622 // in the Amazon VPC documentation. 9623 // 9624 // SecurityGroupIds is a required field 9625 SecurityGroupIds []*string `min:"1" type:"list" required:"true"` 9626 9627 // The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in 9628 // the VPC of the Amazon ES destination. Make sure that the routing tables and 9629 // inbound and outbound rules allow traffic to flow from the subnets whose IDs 9630 // are specified here to the subnets that have the destination Amazon ES endpoints. 9631 // Kinesis Data Firehose creates at least one ENI in each of the subnets that 9632 // are specified here. Do not delete or modify these ENIs. 9633 // 9634 // The number of ENIs that Kinesis Data Firehose creates in the subnets specified 9635 // here scales up and down automatically based on throughput. To enable Kinesis 9636 // Data Firehose to scale up the number of ENIs to match throughput, ensure 9637 // that you have sufficient quota. To help you calculate the quota you need, 9638 // assume that Kinesis Data Firehose can create up to three ENIs for this delivery 9639 // stream for each of the subnets specified here. For more information about 9640 // ENI quota, see Network Interfaces (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis) 9641 // in the Amazon VPC Quotas topic. 9642 // 9643 // SubnetIds is a required field 9644 SubnetIds []*string `min:"1" type:"list" required:"true"` 9645 9646 // The ID of the Amazon ES destination's VPC. 9647 // 9648 // VpcId is a required field 9649 VpcId *string `min:"1" type:"string" required:"true"` 9650 } 9651 9652 // String returns the string representation. 9653 // 9654 // API parameter values that are decorated as "sensitive" in the API will not 9655 // be included in the string output. The member name will be present, but the 9656 // value will be replaced with "sensitive". 9657 func (s VpcConfigurationDescription) String() string { 9658 return awsutil.Prettify(s) 9659 } 9660 9661 // GoString returns the string representation. 9662 // 9663 // API parameter values that are decorated as "sensitive" in the API will not 9664 // be included in the string output. The member name will be present, but the 9665 // value will be replaced with "sensitive". 9666 func (s VpcConfigurationDescription) GoString() string { 9667 return s.String() 9668 } 9669 9670 // SetRoleARN sets the RoleARN field's value. 9671 func (s *VpcConfigurationDescription) SetRoleARN(v string) *VpcConfigurationDescription { 9672 s.RoleARN = &v 9673 return s 9674 } 9675 9676 // SetSecurityGroupIds sets the SecurityGroupIds field's value. 9677 func (s *VpcConfigurationDescription) SetSecurityGroupIds(v []*string) *VpcConfigurationDescription { 9678 s.SecurityGroupIds = v 9679 return s 9680 } 9681 9682 // SetSubnetIds sets the SubnetIds field's value. 9683 func (s *VpcConfigurationDescription) SetSubnetIds(v []*string) *VpcConfigurationDescription { 9684 s.SubnetIds = v 9685 return s 9686 } 9687 9688 // SetVpcId sets the VpcId field's value. 9689 func (s *VpcConfigurationDescription) SetVpcId(v string) *VpcConfigurationDescription { 9690 s.VpcId = &v 9691 return s 9692 } 9693 9694 const ( 9695 // AmazonopensearchserviceIndexRotationPeriodNoRotation is a AmazonopensearchserviceIndexRotationPeriod enum value 9696 AmazonopensearchserviceIndexRotationPeriodNoRotation = "NoRotation" 9697 9698 // AmazonopensearchserviceIndexRotationPeriodOneHour is a AmazonopensearchserviceIndexRotationPeriod enum value 9699 AmazonopensearchserviceIndexRotationPeriodOneHour = "OneHour" 9700 9701 // AmazonopensearchserviceIndexRotationPeriodOneDay is a AmazonopensearchserviceIndexRotationPeriod enum value 9702 AmazonopensearchserviceIndexRotationPeriodOneDay = "OneDay" 9703 9704 // AmazonopensearchserviceIndexRotationPeriodOneWeek is a AmazonopensearchserviceIndexRotationPeriod enum value 9705 AmazonopensearchserviceIndexRotationPeriodOneWeek = "OneWeek" 9706 9707 // AmazonopensearchserviceIndexRotationPeriodOneMonth is a AmazonopensearchserviceIndexRotationPeriod enum value 9708 AmazonopensearchserviceIndexRotationPeriodOneMonth = "OneMonth" 9709 ) 9710 9711 // AmazonopensearchserviceIndexRotationPeriod_Values returns all elements of the AmazonopensearchserviceIndexRotationPeriod enum 9712 func AmazonopensearchserviceIndexRotationPeriod_Values() []string { 9713 return []string{ 9714 AmazonopensearchserviceIndexRotationPeriodNoRotation, 9715 AmazonopensearchserviceIndexRotationPeriodOneHour, 9716 AmazonopensearchserviceIndexRotationPeriodOneDay, 9717 AmazonopensearchserviceIndexRotationPeriodOneWeek, 9718 AmazonopensearchserviceIndexRotationPeriodOneMonth, 9719 } 9720 } 9721 9722 const ( 9723 // AmazonopensearchserviceS3BackupModeFailedDocumentsOnly is a AmazonopensearchserviceS3BackupMode enum value 9724 AmazonopensearchserviceS3BackupModeFailedDocumentsOnly = "FailedDocumentsOnly" 9725 9726 // AmazonopensearchserviceS3BackupModeAllDocuments is a AmazonopensearchserviceS3BackupMode enum value 9727 AmazonopensearchserviceS3BackupModeAllDocuments = "AllDocuments" 9728 ) 9729 9730 // AmazonopensearchserviceS3BackupMode_Values returns all elements of the AmazonopensearchserviceS3BackupMode enum 9731 func AmazonopensearchserviceS3BackupMode_Values() []string { 9732 return []string{ 9733 AmazonopensearchserviceS3BackupModeFailedDocumentsOnly, 9734 AmazonopensearchserviceS3BackupModeAllDocuments, 9735 } 9736 } 9737 9738 const ( 9739 // CompressionFormatUncompressed is a CompressionFormat enum value 9740 CompressionFormatUncompressed = "UNCOMPRESSED" 9741 9742 // CompressionFormatGzip is a CompressionFormat enum value 9743 CompressionFormatGzip = "GZIP" 9744 9745 // CompressionFormatZip is a CompressionFormat enum value 9746 CompressionFormatZip = "ZIP" 9747 9748 // CompressionFormatSnappy is a CompressionFormat enum value 9749 CompressionFormatSnappy = "Snappy" 9750 9751 // CompressionFormatHadoopSnappy is a CompressionFormat enum value 9752 CompressionFormatHadoopSnappy = "HADOOP_SNAPPY" 9753 ) 9754 9755 // CompressionFormat_Values returns all elements of the CompressionFormat enum 9756 func CompressionFormat_Values() []string { 9757 return []string{ 9758 CompressionFormatUncompressed, 9759 CompressionFormatGzip, 9760 CompressionFormatZip, 9761 CompressionFormatSnappy, 9762 CompressionFormatHadoopSnappy, 9763 } 9764 } 9765 9766 const ( 9767 // ContentEncodingNone is a ContentEncoding enum value 9768 ContentEncodingNone = "NONE" 9769 9770 // ContentEncodingGzip is a ContentEncoding enum value 9771 ContentEncodingGzip = "GZIP" 9772 ) 9773 9774 // ContentEncoding_Values returns all elements of the ContentEncoding enum 9775 func ContentEncoding_Values() []string { 9776 return []string{ 9777 ContentEncodingNone, 9778 ContentEncodingGzip, 9779 } 9780 } 9781 9782 const ( 9783 // DeliveryStreamEncryptionStatusEnabled is a DeliveryStreamEncryptionStatus enum value 9784 DeliveryStreamEncryptionStatusEnabled = "ENABLED" 9785 9786 // DeliveryStreamEncryptionStatusEnabling is a DeliveryStreamEncryptionStatus enum value 9787 DeliveryStreamEncryptionStatusEnabling = "ENABLING" 9788 9789 // DeliveryStreamEncryptionStatusEnablingFailed is a DeliveryStreamEncryptionStatus enum value 9790 DeliveryStreamEncryptionStatusEnablingFailed = "ENABLING_FAILED" 9791 9792 // DeliveryStreamEncryptionStatusDisabled is a DeliveryStreamEncryptionStatus enum value 9793 DeliveryStreamEncryptionStatusDisabled = "DISABLED" 9794 9795 // DeliveryStreamEncryptionStatusDisabling is a DeliveryStreamEncryptionStatus enum value 9796 DeliveryStreamEncryptionStatusDisabling = "DISABLING" 9797 9798 // DeliveryStreamEncryptionStatusDisablingFailed is a DeliveryStreamEncryptionStatus enum value 9799 DeliveryStreamEncryptionStatusDisablingFailed = "DISABLING_FAILED" 9800 ) 9801 9802 // DeliveryStreamEncryptionStatus_Values returns all elements of the DeliveryStreamEncryptionStatus enum 9803 func DeliveryStreamEncryptionStatus_Values() []string { 9804 return []string{ 9805 DeliveryStreamEncryptionStatusEnabled, 9806 DeliveryStreamEncryptionStatusEnabling, 9807 DeliveryStreamEncryptionStatusEnablingFailed, 9808 DeliveryStreamEncryptionStatusDisabled, 9809 DeliveryStreamEncryptionStatusDisabling, 9810 DeliveryStreamEncryptionStatusDisablingFailed, 9811 } 9812 } 9813 9814 const ( 9815 // DeliveryStreamFailureTypeRetireKmsGrantFailed is a DeliveryStreamFailureType enum value 9816 DeliveryStreamFailureTypeRetireKmsGrantFailed = "RETIRE_KMS_GRANT_FAILED" 9817 9818 // DeliveryStreamFailureTypeCreateKmsGrantFailed is a DeliveryStreamFailureType enum value 9819 DeliveryStreamFailureTypeCreateKmsGrantFailed = "CREATE_KMS_GRANT_FAILED" 9820 9821 // DeliveryStreamFailureTypeKmsAccessDenied is a DeliveryStreamFailureType enum value 9822 DeliveryStreamFailureTypeKmsAccessDenied = "KMS_ACCESS_DENIED" 9823 9824 // DeliveryStreamFailureTypeDisabledKmsKey is a DeliveryStreamFailureType enum value 9825 DeliveryStreamFailureTypeDisabledKmsKey = "DISABLED_KMS_KEY" 9826 9827 // DeliveryStreamFailureTypeInvalidKmsKey is a DeliveryStreamFailureType enum value 9828 DeliveryStreamFailureTypeInvalidKmsKey = "INVALID_KMS_KEY" 9829 9830 // DeliveryStreamFailureTypeKmsKeyNotFound is a DeliveryStreamFailureType enum value 9831 DeliveryStreamFailureTypeKmsKeyNotFound = "KMS_KEY_NOT_FOUND" 9832 9833 // DeliveryStreamFailureTypeKmsOptInRequired is a DeliveryStreamFailureType enum value 9834 DeliveryStreamFailureTypeKmsOptInRequired = "KMS_OPT_IN_REQUIRED" 9835 9836 // DeliveryStreamFailureTypeCreateEniFailed is a DeliveryStreamFailureType enum value 9837 DeliveryStreamFailureTypeCreateEniFailed = "CREATE_ENI_FAILED" 9838 9839 // DeliveryStreamFailureTypeDeleteEniFailed is a DeliveryStreamFailureType enum value 9840 DeliveryStreamFailureTypeDeleteEniFailed = "DELETE_ENI_FAILED" 9841 9842 // DeliveryStreamFailureTypeSubnetNotFound is a DeliveryStreamFailureType enum value 9843 DeliveryStreamFailureTypeSubnetNotFound = "SUBNET_NOT_FOUND" 9844 9845 // DeliveryStreamFailureTypeSecurityGroupNotFound is a DeliveryStreamFailureType enum value 9846 DeliveryStreamFailureTypeSecurityGroupNotFound = "SECURITY_GROUP_NOT_FOUND" 9847 9848 // DeliveryStreamFailureTypeEniAccessDenied is a DeliveryStreamFailureType enum value 9849 DeliveryStreamFailureTypeEniAccessDenied = "ENI_ACCESS_DENIED" 9850 9851 // DeliveryStreamFailureTypeSubnetAccessDenied is a DeliveryStreamFailureType enum value 9852 DeliveryStreamFailureTypeSubnetAccessDenied = "SUBNET_ACCESS_DENIED" 9853 9854 // DeliveryStreamFailureTypeSecurityGroupAccessDenied is a DeliveryStreamFailureType enum value 9855 DeliveryStreamFailureTypeSecurityGroupAccessDenied = "SECURITY_GROUP_ACCESS_DENIED" 9856 9857 // DeliveryStreamFailureTypeUnknownError is a DeliveryStreamFailureType enum value 9858 DeliveryStreamFailureTypeUnknownError = "UNKNOWN_ERROR" 9859 ) 9860 9861 // DeliveryStreamFailureType_Values returns all elements of the DeliveryStreamFailureType enum 9862 func DeliveryStreamFailureType_Values() []string { 9863 return []string{ 9864 DeliveryStreamFailureTypeRetireKmsGrantFailed, 9865 DeliveryStreamFailureTypeCreateKmsGrantFailed, 9866 DeliveryStreamFailureTypeKmsAccessDenied, 9867 DeliveryStreamFailureTypeDisabledKmsKey, 9868 DeliveryStreamFailureTypeInvalidKmsKey, 9869 DeliveryStreamFailureTypeKmsKeyNotFound, 9870 DeliveryStreamFailureTypeKmsOptInRequired, 9871 DeliveryStreamFailureTypeCreateEniFailed, 9872 DeliveryStreamFailureTypeDeleteEniFailed, 9873 DeliveryStreamFailureTypeSubnetNotFound, 9874 DeliveryStreamFailureTypeSecurityGroupNotFound, 9875 DeliveryStreamFailureTypeEniAccessDenied, 9876 DeliveryStreamFailureTypeSubnetAccessDenied, 9877 DeliveryStreamFailureTypeSecurityGroupAccessDenied, 9878 DeliveryStreamFailureTypeUnknownError, 9879 } 9880 } 9881 9882 const ( 9883 // DeliveryStreamStatusCreating is a DeliveryStreamStatus enum value 9884 DeliveryStreamStatusCreating = "CREATING" 9885 9886 // DeliveryStreamStatusCreatingFailed is a DeliveryStreamStatus enum value 9887 DeliveryStreamStatusCreatingFailed = "CREATING_FAILED" 9888 9889 // DeliveryStreamStatusDeleting is a DeliveryStreamStatus enum value 9890 DeliveryStreamStatusDeleting = "DELETING" 9891 9892 // DeliveryStreamStatusDeletingFailed is a DeliveryStreamStatus enum value 9893 DeliveryStreamStatusDeletingFailed = "DELETING_FAILED" 9894 9895 // DeliveryStreamStatusActive is a DeliveryStreamStatus enum value 9896 DeliveryStreamStatusActive = "ACTIVE" 9897 ) 9898 9899 // DeliveryStreamStatus_Values returns all elements of the DeliveryStreamStatus enum 9900 func DeliveryStreamStatus_Values() []string { 9901 return []string{ 9902 DeliveryStreamStatusCreating, 9903 DeliveryStreamStatusCreatingFailed, 9904 DeliveryStreamStatusDeleting, 9905 DeliveryStreamStatusDeletingFailed, 9906 DeliveryStreamStatusActive, 9907 } 9908 } 9909 9910 const ( 9911 // DeliveryStreamTypeDirectPut is a DeliveryStreamType enum value 9912 DeliveryStreamTypeDirectPut = "DirectPut" 9913 9914 // DeliveryStreamTypeKinesisStreamAsSource is a DeliveryStreamType enum value 9915 DeliveryStreamTypeKinesisStreamAsSource = "KinesisStreamAsSource" 9916 ) 9917 9918 // DeliveryStreamType_Values returns all elements of the DeliveryStreamType enum 9919 func DeliveryStreamType_Values() []string { 9920 return []string{ 9921 DeliveryStreamTypeDirectPut, 9922 DeliveryStreamTypeKinesisStreamAsSource, 9923 } 9924 } 9925 9926 const ( 9927 // ElasticsearchIndexRotationPeriodNoRotation is a ElasticsearchIndexRotationPeriod enum value 9928 ElasticsearchIndexRotationPeriodNoRotation = "NoRotation" 9929 9930 // ElasticsearchIndexRotationPeriodOneHour is a ElasticsearchIndexRotationPeriod enum value 9931 ElasticsearchIndexRotationPeriodOneHour = "OneHour" 9932 9933 // ElasticsearchIndexRotationPeriodOneDay is a ElasticsearchIndexRotationPeriod enum value 9934 ElasticsearchIndexRotationPeriodOneDay = "OneDay" 9935 9936 // ElasticsearchIndexRotationPeriodOneWeek is a ElasticsearchIndexRotationPeriod enum value 9937 ElasticsearchIndexRotationPeriodOneWeek = "OneWeek" 9938 9939 // ElasticsearchIndexRotationPeriodOneMonth is a ElasticsearchIndexRotationPeriod enum value 9940 ElasticsearchIndexRotationPeriodOneMonth = "OneMonth" 9941 ) 9942 9943 // ElasticsearchIndexRotationPeriod_Values returns all elements of the ElasticsearchIndexRotationPeriod enum 9944 func ElasticsearchIndexRotationPeriod_Values() []string { 9945 return []string{ 9946 ElasticsearchIndexRotationPeriodNoRotation, 9947 ElasticsearchIndexRotationPeriodOneHour, 9948 ElasticsearchIndexRotationPeriodOneDay, 9949 ElasticsearchIndexRotationPeriodOneWeek, 9950 ElasticsearchIndexRotationPeriodOneMonth, 9951 } 9952 } 9953 9954 const ( 9955 // ElasticsearchS3BackupModeFailedDocumentsOnly is a ElasticsearchS3BackupMode enum value 9956 ElasticsearchS3BackupModeFailedDocumentsOnly = "FailedDocumentsOnly" 9957 9958 // ElasticsearchS3BackupModeAllDocuments is a ElasticsearchS3BackupMode enum value 9959 ElasticsearchS3BackupModeAllDocuments = "AllDocuments" 9960 ) 9961 9962 // ElasticsearchS3BackupMode_Values returns all elements of the ElasticsearchS3BackupMode enum 9963 func ElasticsearchS3BackupMode_Values() []string { 9964 return []string{ 9965 ElasticsearchS3BackupModeFailedDocumentsOnly, 9966 ElasticsearchS3BackupModeAllDocuments, 9967 } 9968 } 9969 9970 const ( 9971 // HECEndpointTypeRaw is a HECEndpointType enum value 9972 HECEndpointTypeRaw = "Raw" 9973 9974 // HECEndpointTypeEvent is a HECEndpointType enum value 9975 HECEndpointTypeEvent = "Event" 9976 ) 9977 9978 // HECEndpointType_Values returns all elements of the HECEndpointType enum 9979 func HECEndpointType_Values() []string { 9980 return []string{ 9981 HECEndpointTypeRaw, 9982 HECEndpointTypeEvent, 9983 } 9984 } 9985 9986 const ( 9987 // HttpEndpointS3BackupModeFailedDataOnly is a HttpEndpointS3BackupMode enum value 9988 HttpEndpointS3BackupModeFailedDataOnly = "FailedDataOnly" 9989 9990 // HttpEndpointS3BackupModeAllData is a HttpEndpointS3BackupMode enum value 9991 HttpEndpointS3BackupModeAllData = "AllData" 9992 ) 9993 9994 // HttpEndpointS3BackupMode_Values returns all elements of the HttpEndpointS3BackupMode enum 9995 func HttpEndpointS3BackupMode_Values() []string { 9996 return []string{ 9997 HttpEndpointS3BackupModeFailedDataOnly, 9998 HttpEndpointS3BackupModeAllData, 9999 } 10000 } 10001 10002 const ( 10003 // KeyTypeAwsOwnedCmk is a KeyType enum value 10004 KeyTypeAwsOwnedCmk = "AWS_OWNED_CMK" 10005 10006 // KeyTypeCustomerManagedCmk is a KeyType enum value 10007 KeyTypeCustomerManagedCmk = "CUSTOMER_MANAGED_CMK" 10008 ) 10009 10010 // KeyType_Values returns all elements of the KeyType enum 10011 func KeyType_Values() []string { 10012 return []string{ 10013 KeyTypeAwsOwnedCmk, 10014 KeyTypeCustomerManagedCmk, 10015 } 10016 } 10017 10018 const ( 10019 // NoEncryptionConfigNoEncryption is a NoEncryptionConfig enum value 10020 NoEncryptionConfigNoEncryption = "NoEncryption" 10021 ) 10022 10023 // NoEncryptionConfig_Values returns all elements of the NoEncryptionConfig enum 10024 func NoEncryptionConfig_Values() []string { 10025 return []string{ 10026 NoEncryptionConfigNoEncryption, 10027 } 10028 } 10029 10030 const ( 10031 // OrcCompressionNone is a OrcCompression enum value 10032 OrcCompressionNone = "NONE" 10033 10034 // OrcCompressionZlib is a OrcCompression enum value 10035 OrcCompressionZlib = "ZLIB" 10036 10037 // OrcCompressionSnappy is a OrcCompression enum value 10038 OrcCompressionSnappy = "SNAPPY" 10039 ) 10040 10041 // OrcCompression_Values returns all elements of the OrcCompression enum 10042 func OrcCompression_Values() []string { 10043 return []string{ 10044 OrcCompressionNone, 10045 OrcCompressionZlib, 10046 OrcCompressionSnappy, 10047 } 10048 } 10049 10050 const ( 10051 // OrcFormatVersionV011 is a OrcFormatVersion enum value 10052 OrcFormatVersionV011 = "V0_11" 10053 10054 // OrcFormatVersionV012 is a OrcFormatVersion enum value 10055 OrcFormatVersionV012 = "V0_12" 10056 ) 10057 10058 // OrcFormatVersion_Values returns all elements of the OrcFormatVersion enum 10059 func OrcFormatVersion_Values() []string { 10060 return []string{ 10061 OrcFormatVersionV011, 10062 OrcFormatVersionV012, 10063 } 10064 } 10065 10066 const ( 10067 // ParquetCompressionUncompressed is a ParquetCompression enum value 10068 ParquetCompressionUncompressed = "UNCOMPRESSED" 10069 10070 // ParquetCompressionGzip is a ParquetCompression enum value 10071 ParquetCompressionGzip = "GZIP" 10072 10073 // ParquetCompressionSnappy is a ParquetCompression enum value 10074 ParquetCompressionSnappy = "SNAPPY" 10075 ) 10076 10077 // ParquetCompression_Values returns all elements of the ParquetCompression enum 10078 func ParquetCompression_Values() []string { 10079 return []string{ 10080 ParquetCompressionUncompressed, 10081 ParquetCompressionGzip, 10082 ParquetCompressionSnappy, 10083 } 10084 } 10085 10086 const ( 10087 // ParquetWriterVersionV1 is a ParquetWriterVersion enum value 10088 ParquetWriterVersionV1 = "V1" 10089 10090 // ParquetWriterVersionV2 is a ParquetWriterVersion enum value 10091 ParquetWriterVersionV2 = "V2" 10092 ) 10093 10094 // ParquetWriterVersion_Values returns all elements of the ParquetWriterVersion enum 10095 func ParquetWriterVersion_Values() []string { 10096 return []string{ 10097 ParquetWriterVersionV1, 10098 ParquetWriterVersionV2, 10099 } 10100 } 10101 10102 const ( 10103 // ProcessorParameterNameLambdaArn is a ProcessorParameterName enum value 10104 ProcessorParameterNameLambdaArn = "LambdaArn" 10105 10106 // ProcessorParameterNameNumberOfRetries is a ProcessorParameterName enum value 10107 ProcessorParameterNameNumberOfRetries = "NumberOfRetries" 10108 10109 // ProcessorParameterNameMetadataExtractionQuery is a ProcessorParameterName enum value 10110 ProcessorParameterNameMetadataExtractionQuery = "MetadataExtractionQuery" 10111 10112 // ProcessorParameterNameJsonParsingEngine is a ProcessorParameterName enum value 10113 ProcessorParameterNameJsonParsingEngine = "JsonParsingEngine" 10114 10115 // ProcessorParameterNameRoleArn is a ProcessorParameterName enum value 10116 ProcessorParameterNameRoleArn = "RoleArn" 10117 10118 // ProcessorParameterNameBufferSizeInMbs is a ProcessorParameterName enum value 10119 ProcessorParameterNameBufferSizeInMbs = "BufferSizeInMBs" 10120 10121 // ProcessorParameterNameBufferIntervalInSeconds is a ProcessorParameterName enum value 10122 ProcessorParameterNameBufferIntervalInSeconds = "BufferIntervalInSeconds" 10123 10124 // ProcessorParameterNameSubRecordType is a ProcessorParameterName enum value 10125 ProcessorParameterNameSubRecordType = "SubRecordType" 10126 10127 // ProcessorParameterNameDelimiter is a ProcessorParameterName enum value 10128 ProcessorParameterNameDelimiter = "Delimiter" 10129 ) 10130 10131 // ProcessorParameterName_Values returns all elements of the ProcessorParameterName enum 10132 func ProcessorParameterName_Values() []string { 10133 return []string{ 10134 ProcessorParameterNameLambdaArn, 10135 ProcessorParameterNameNumberOfRetries, 10136 ProcessorParameterNameMetadataExtractionQuery, 10137 ProcessorParameterNameJsonParsingEngine, 10138 ProcessorParameterNameRoleArn, 10139 ProcessorParameterNameBufferSizeInMbs, 10140 ProcessorParameterNameBufferIntervalInSeconds, 10141 ProcessorParameterNameSubRecordType, 10142 ProcessorParameterNameDelimiter, 10143 } 10144 } 10145 10146 const ( 10147 // ProcessorTypeRecordDeAggregation is a ProcessorType enum value 10148 ProcessorTypeRecordDeAggregation = "RecordDeAggregation" 10149 10150 // ProcessorTypeLambda is a ProcessorType enum value 10151 ProcessorTypeLambda = "Lambda" 10152 10153 // ProcessorTypeMetadataExtraction is a ProcessorType enum value 10154 ProcessorTypeMetadataExtraction = "MetadataExtraction" 10155 10156 // ProcessorTypeAppendDelimiterToRecord is a ProcessorType enum value 10157 ProcessorTypeAppendDelimiterToRecord = "AppendDelimiterToRecord" 10158 ) 10159 10160 // ProcessorType_Values returns all elements of the ProcessorType enum 10161 func ProcessorType_Values() []string { 10162 return []string{ 10163 ProcessorTypeRecordDeAggregation, 10164 ProcessorTypeLambda, 10165 ProcessorTypeMetadataExtraction, 10166 ProcessorTypeAppendDelimiterToRecord, 10167 } 10168 } 10169 10170 const ( 10171 // RedshiftS3BackupModeDisabled is a RedshiftS3BackupMode enum value 10172 RedshiftS3BackupModeDisabled = "Disabled" 10173 10174 // RedshiftS3BackupModeEnabled is a RedshiftS3BackupMode enum value 10175 RedshiftS3BackupModeEnabled = "Enabled" 10176 ) 10177 10178 // RedshiftS3BackupMode_Values returns all elements of the RedshiftS3BackupMode enum 10179 func RedshiftS3BackupMode_Values() []string { 10180 return []string{ 10181 RedshiftS3BackupModeDisabled, 10182 RedshiftS3BackupModeEnabled, 10183 } 10184 } 10185 10186 const ( 10187 // S3BackupModeDisabled is a S3BackupMode enum value 10188 S3BackupModeDisabled = "Disabled" 10189 10190 // S3BackupModeEnabled is a S3BackupMode enum value 10191 S3BackupModeEnabled = "Enabled" 10192 ) 10193 10194 // S3BackupMode_Values returns all elements of the S3BackupMode enum 10195 func S3BackupMode_Values() []string { 10196 return []string{ 10197 S3BackupModeDisabled, 10198 S3BackupModeEnabled, 10199 } 10200 } 10201 10202 const ( 10203 // SplunkS3BackupModeFailedEventsOnly is a SplunkS3BackupMode enum value 10204 SplunkS3BackupModeFailedEventsOnly = "FailedEventsOnly" 10205 10206 // SplunkS3BackupModeAllEvents is a SplunkS3BackupMode enum value 10207 SplunkS3BackupModeAllEvents = "AllEvents" 10208 ) 10209 10210 // SplunkS3BackupMode_Values returns all elements of the SplunkS3BackupMode enum 10211 func SplunkS3BackupMode_Values() []string { 10212 return []string{ 10213 SplunkS3BackupModeFailedEventsOnly, 10214 SplunkS3BackupModeAllEvents, 10215 } 10216 }