Skip to content

Commit dab6455

Browse files
author
awstools
committed
feat(client-firehose): This release, 1) adds configurable buffering hints for the Splunk destination, and 2) reduces the minimum configurable buffering interval for supported destinations
1 parent 8210ba2 commit dab6455

File tree

8 files changed

+190
-5
lines changed

8 files changed

+190
-5
lines changed

clients/client-firehose/src/commands/CreateDeliveryStreamCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,10 @@ export interface CreateDeliveryStreamCommandOutput extends CreateDeliveryStreamO
463463
* ],
464464
* },
465465
* CloudWatchLoggingOptions: "<CloudWatchLoggingOptions>",
466+
* BufferingHints: { // SplunkBufferingHints
467+
* IntervalInSeconds: Number("int"),
468+
* SizeInMBs: Number("int"),
469+
* },
466470
* },
467471
* HttpEndpointDestinationConfiguration: { // HttpEndpointDestinationConfiguration
468472
* EndpointConfiguration: { // HttpEndpointConfiguration

clients/client-firehose/src/commands/DescribeDeliveryStreamCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,10 @@ export interface DescribeDeliveryStreamCommandOutput extends DescribeDeliveryStr
439439
* // ],
440440
* // },
441441
* // CloudWatchLoggingOptions: "<CloudWatchLoggingOptions>",
442+
* // BufferingHints: { // SplunkBufferingHints
443+
* // IntervalInSeconds: Number("int"),
444+
* // SizeInMBs: Number("int"),
445+
* // },
442446
* // },
443447
* // HttpEndpointDestinationDescription: { // HttpEndpointDestinationDescription
444448
* // EndpointConfiguration: { // HttpEndpointDescription

clients/client-firehose/src/commands/PutRecordBatchCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,9 @@ export interface PutRecordBatchCommandOutput extends PutRecordBatchOutput, __Met
137137
* <code>InvalidStateException</code>, <code>DisabledException</code>, or
138138
* <code>NotFoundException</code>.</p>
139139
*
140+
* @throws {@link InvalidSourceException} (client fault)
141+
* <p>Only requests from CloudWatch Logs are supported when CloudWatch Logs decompression is enabled.</p>
142+
*
140143
* @throws {@link ResourceNotFoundException} (client fault)
141144
* <p>The specified resource could not be found.</p>
142145
*

clients/client-firehose/src/commands/PutRecordCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ export interface PutRecordCommandOutput extends PutRecordOutput, __MetadataBeare
110110
* <code>InvalidStateException</code>, <code>DisabledException</code>, or
111111
* <code>NotFoundException</code>.</p>
112112
*
113+
* @throws {@link InvalidSourceException} (client fault)
114+
* <p>Only requests from CloudWatch Logs are supported when CloudWatch Logs decompression is enabled.</p>
115+
*
113116
* @throws {@link ResourceNotFoundException} (client fault)
114117
* <p>The specified resource could not be found.</p>
115118
*

clients/client-firehose/src/commands/UpdateDestinationCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,10 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput,
390390
* ],
391391
* },
392392
* CloudWatchLoggingOptions: "<CloudWatchLoggingOptions>",
393+
* BufferingHints: { // SplunkBufferingHints
394+
* IntervalInSeconds: Number("int"),
395+
* SizeInMBs: Number("int"),
396+
* },
393397
* },
394398
* HttpEndpointDestinationUpdate: { // HttpEndpointDestinationUpdate
395399
* EndpointConfiguration: { // HttpEndpointConfiguration

clients/client-firehose/src/models/models_0.ts

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2596,6 +2596,26 @@ export interface RedshiftDestinationConfiguration {
25962596
CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
25972597
}
25982598

2599+
/**
2600+
* @public
2601+
* <p>The buffering options. If no value is specified, the default values for Splunk are used.</p>
2602+
*/
2603+
export interface SplunkBufferingHints {
2604+
/**
2605+
* @public
2606+
* <p>Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 60 (1 minute).</p>
2607+
*/
2608+
IntervalInSeconds?: number;
2609+
2610+
/**
2611+
* @public
2612+
* <p>Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.
2613+
*
2614+
* </p>
2615+
*/
2616+
SizeInMBs?: number;
2617+
}
2618+
25992619
/**
26002620
* @public
26012621
* @enum
@@ -2711,6 +2731,12 @@ export interface SplunkDestinationConfiguration {
27112731
* <p>The Amazon CloudWatch logging options for your delivery stream.</p>
27122732
*/
27132733
CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
2734+
2735+
/**
2736+
* @public
2737+
* <p>The buffering options. If no value is specified, the default values for Splunk are used.</p>
2738+
*/
2739+
BufferingHints?: SplunkBufferingHints;
27142740
}
27152741

27162742
/**
@@ -3550,6 +3576,12 @@ export interface SplunkDestinationDescription {
35503576
* <p>The Amazon CloudWatch logging options for your delivery stream.</p>
35513577
*/
35523578
CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
3579+
3580+
/**
3581+
* @public
3582+
* <p>The buffering options. If no value is specified, the default values for Splunk are used.</p>
3583+
*/
3584+
BufferingHints?: SplunkBufferingHints;
35533585
}
35543586

35553587
/**
@@ -4137,6 +4169,28 @@ export interface ListTagsForDeliveryStreamOutput {
41374169
HasMoreTags: boolean | undefined;
41384170
}
41394171

4172+
/**
4173+
* @public
4174+
* <p>Only requests from CloudWatch Logs are supported when CloudWatch Logs decompression is enabled.</p>
4175+
*/
4176+
export class InvalidSourceException extends __BaseException {
4177+
readonly name: "InvalidSourceException" = "InvalidSourceException";
4178+
readonly $fault: "client" = "client";
4179+
code?: string;
4180+
/**
4181+
* @internal
4182+
*/
4183+
constructor(opts: __ExceptionOptionType<InvalidSourceException, __BaseException>) {
4184+
super({
4185+
name: "InvalidSourceException",
4186+
$fault: "client",
4187+
...opts,
4188+
});
4189+
Object.setPrototypeOf(this, InvalidSourceException.prototype);
4190+
this.code = opts.code;
4191+
}
4192+
}
4193+
41404194
/**
41414195
* @public
41424196
* <p>The unit of data in a delivery stream.</p>
@@ -4586,6 +4640,12 @@ export interface SplunkDestinationUpdate {
45864640
* <p>The Amazon CloudWatch logging options for your delivery stream.</p>
45874641
*/
45884642
CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
4643+
4644+
/**
4645+
* @public
4646+
* <p>The buffering options. If no value is specified, the default values for Splunk are used.</p>
4647+
*/
4648+
BufferingHints?: SplunkBufferingHints;
45894649
}
45904650

45914651
/**

clients/client-firehose/src/protocols/Aws_json1_1.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ import {
104104
InputFormatConfiguration,
105105
InvalidArgumentException,
106106
InvalidKMSResourceException,
107+
InvalidSourceException,
107108
KinesisStreamSourceConfiguration,
108109
KinesisStreamSourceDescription,
109110
KMSEncryptionConfig,
@@ -133,6 +134,7 @@ import {
133134
Serializer,
134135
ServiceUnavailableException,
135136
SourceDescription,
137+
SplunkBufferingHints,
136138
SplunkDestinationConfiguration,
137139
SplunkDestinationUpdate,
138140
SplunkRetryOptions,
@@ -582,6 +584,9 @@ const de_PutRecordCommandError = async (
582584
case "InvalidKMSResourceException":
583585
case "com.amazonaws.firehose#InvalidKMSResourceException":
584586
throw await de_InvalidKMSResourceExceptionRes(parsedOutput, context);
587+
case "InvalidSourceException":
588+
case "com.amazonaws.firehose#InvalidSourceException":
589+
throw await de_InvalidSourceExceptionRes(parsedOutput, context);
585590
case "ResourceNotFoundException":
586591
case "com.amazonaws.firehose#ResourceNotFoundException":
587592
throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
@@ -637,6 +642,9 @@ const de_PutRecordBatchCommandError = async (
637642
case "InvalidKMSResourceException":
638643
case "com.amazonaws.firehose#InvalidKMSResourceException":
639644
throw await de_InvalidKMSResourceExceptionRes(parsedOutput, context);
645+
case "InvalidSourceException":
646+
case "com.amazonaws.firehose#InvalidSourceException":
647+
throw await de_InvalidSourceExceptionRes(parsedOutput, context);
640648
case "ResourceNotFoundException":
641649
case "com.amazonaws.firehose#ResourceNotFoundException":
642650
throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
@@ -979,6 +987,22 @@ const de_InvalidKMSResourceExceptionRes = async (
979987
return __decorateServiceException(exception, body);
980988
};
981989

990+
/**
991+
* deserializeAws_json1_1InvalidSourceExceptionRes
992+
*/
993+
const de_InvalidSourceExceptionRes = async (
994+
parsedOutput: any,
995+
context: __SerdeContext
996+
): Promise<InvalidSourceException> => {
997+
const body = parsedOutput.body;
998+
const deserialized: any = _json(body);
999+
const exception = new InvalidSourceException({
1000+
$metadata: deserializeMetadata(parsedOutput),
1001+
...deserialized,
1002+
});
1003+
return __decorateServiceException(exception, body);
1004+
};
1005+
9821006
/**
9831007
* deserializeAws_json1_1LimitExceededExceptionRes
9841008
*/
@@ -1314,6 +1338,8 @@ const se_Serializer = (input: Serializer, context: __SerdeContext): any => {
13141338
});
13151339
};
13161340

1341+
// se_SplunkBufferingHints omitted.
1342+
13171343
// se_SplunkDestinationConfiguration omitted.
13181344

13191345
// se_SplunkDestinationUpdate omitted.
@@ -1524,6 +1550,8 @@ const de_ExtendedS3DestinationDescription = (
15241550

15251551
// de_InvalidKMSResourceException omitted.
15261552

1553+
// de_InvalidSourceException omitted.
1554+
15271555
/**
15281556
* deserializeAws_json1_1KinesisStreamSourceDescription
15291557
*/
@@ -1648,6 +1676,8 @@ const de_SourceDescription = (output: any, context: __SerdeContext): SourceDescr
16481676
}) as any;
16491677
};
16501678

1679+
// de_SplunkBufferingHints omitted.
1680+
16511681
// de_SplunkDestinationDescription omitted.
16521682

16531683
// de_SplunkRetryOptions omitted.

0 commit comments

Comments
 (0)