Skip to content

Commit f2e4398

Browse files
author
awstools
committed
feat(client-firehose): DocumentIdOptions has been added for the Amazon OpenSearch destination.
1 parent 5f45618 commit f2e4398

File tree

6 files changed

+197
-18
lines changed

6 files changed

+197
-18
lines changed

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

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,12 @@ export interface CreateDeliveryStreamCommandOutput extends CreateDeliveryStreamO
6363
* <p>To create a delivery stream with server-side encryption (SSE) enabled, include <a>DeliveryStreamEncryptionConfigurationInput</a> in your request. This is
6464
* optional. You can also invoke <a>StartDeliveryStreamEncryption</a> to turn on
6565
* SSE for an existing delivery stream that doesn't have SSE enabled.</p>
66-
* <p>A delivery stream is configured with a single destination: Amazon S3, Amazon ES,
67-
* Amazon Redshift, or Splunk. You must specify only one of the following destination
68-
* configuration parameters: <code>ExtendedS3DestinationConfiguration</code>,
66+
* <p>A delivery stream is configured with a single destination, such as Amazon Simple
67+
* Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch
68+
* Serverless, Splunk, and any custom HTTP endpoint or HTTP endpoints owned by or supported by
69+
* third-party service providers, including Datadog, Dynatrace, LogicMonitor, MongoDB, New
70+
* Relic, and Sumo Logic. You must specify only one of the following destination configuration
71+
* parameters: <code>ExtendedS3DestinationConfiguration</code>,
6972
* <code>S3DestinationConfiguration</code>,
7073
* <code>ElasticsearchDestinationConfiguration</code>,
7174
* <code>RedshiftDestinationConfiguration</code>, or
@@ -386,6 +389,9 @@ export interface CreateDeliveryStreamCommandOutput extends CreateDeliveryStreamO
386389
* "STRING_VALUE",
387390
* ],
388391
* },
392+
* DocumentIdOptions: { // DocumentIdOptions
393+
* DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
394+
* },
389395
* },
390396
* AmazonopensearchserviceDestinationConfiguration: { // AmazonopensearchserviceDestinationConfiguration
391397
* RoleARN: "STRING_VALUE", // required
@@ -427,6 +433,9 @@ export interface CreateDeliveryStreamCommandOutput extends CreateDeliveryStreamO
427433
* "STRING_VALUE",
428434
* ],
429435
* },
436+
* DocumentIdOptions: {
437+
* DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
438+
* },
430439
* },
431440
* SplunkDestinationConfiguration: { // SplunkDestinationConfiguration
432441
* HECEndpoint: "STRING_VALUE", // required

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,9 @@ export interface DescribeDeliveryStreamCommandOutput extends DescribeDeliveryStr
355355
* // ],
356356
* // VpcId: "STRING_VALUE", // required
357357
* // },
358+
* // DocumentIdOptions: { // DocumentIdOptions
359+
* // DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
360+
* // },
358361
* // },
359362
* // AmazonopensearchserviceDestinationDescription: { // AmazonopensearchserviceDestinationDescription
360363
* // RoleARN: "STRING_VALUE",
@@ -397,6 +400,9 @@ export interface DescribeDeliveryStreamCommandOutput extends DescribeDeliveryStr
397400
* // ],
398401
* // VpcId: "STRING_VALUE", // required
399402
* // },
403+
* // DocumentIdOptions: {
404+
* // DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
405+
* // },
400406
* // },
401407
* // SplunkDestinationDescription: { // SplunkDestinationDescription
402408
* // HECEndpoint: "STRING_VALUE",

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput,
4747
* occur immediately. The target delivery stream remains active while the configurations are
4848
* updated, so data writes to the delivery stream can continue during this process. The
4949
* updated configurations are usually effective within a few minutes.</p>
50-
* <p>Switching between Amazon ES and other services is not supported. For an Amazon ES
51-
* destination, you can only update to another Amazon ES destination.</p>
50+
* <p>Switching between Amazon OpenSearch Service and other services is not supported. For
51+
* an Amazon OpenSearch Service destination, you can only update to another Amazon OpenSearch
52+
* Service destination.</p>
5253
* <p>If the destination type is the same, Kinesis Data Firehose merges the configuration
5354
* parameters specified with the destination configuration that already exists on the delivery
5455
* stream. If any of the parameters are not specified in the call, the existing values are
@@ -325,6 +326,9 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput,
325326
* ],
326327
* },
327328
* CloudWatchLoggingOptions: "<CloudWatchLoggingOptions>",
329+
* DocumentIdOptions: { // DocumentIdOptions
330+
* DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
331+
* },
328332
* },
329333
* AmazonopensearchserviceDestinationUpdate: { // AmazonopensearchserviceDestinationUpdate
330334
* RoleARN: "STRING_VALUE",
@@ -356,6 +360,9 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput,
356360
* ],
357361
* },
358362
* CloudWatchLoggingOptions: "<CloudWatchLoggingOptions>",
363+
* DocumentIdOptions: {
364+
* DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
365+
* },
359366
* },
360367
* SplunkDestinationUpdate: { // SplunkDestinationUpdate
361368
* HECEndpoint: "STRING_VALUE",

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

Lines changed: 90 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,8 @@ export interface S3DestinationConfiguration {
343343

344344
/**
345345
* @public
346-
* <p>The details of the VPC of the Amazon ES destination.</p>
346+
* <p>The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless
347+
* destination.</p>
347348
*/
348349
export interface VpcConfiguration {
349350
/**
@@ -506,7 +507,8 @@ export interface AmazonOpenSearchServerlessDestinationConfiguration {
506507

507508
/**
508509
* @public
509-
* <p>The details of the VPC of the Amazon ES destination.</p>
510+
* <p>The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless
511+
* destination.</p>
510512
*/
511513
VpcConfiguration?: VpcConfiguration;
512514
}
@@ -681,7 +683,7 @@ export interface VpcConfigurationDescription {
681683
export interface AmazonOpenSearchServerlessDestinationDescription {
682684
/**
683685
* @public
684-
* <p>The Amazon Resource Name (ARN) of the AWS credentials.</p>
686+
* <p>The Amazon Resource Name (ARN) of the Amazon Web Services credentials.</p>
685687
*/
686688
RoleARN?: string;
687689

@@ -894,6 +896,44 @@ export interface AmazonopensearchserviceBufferingHints {
894896
SizeInMBs?: number;
895897
}
896898

899+
/**
900+
* @public
901+
* @enum
902+
*/
903+
export const DefaultDocumentIdFormat = {
904+
FIREHOSE_DEFAULT: "FIREHOSE_DEFAULT",
905+
NO_DOCUMENT_ID: "NO_DOCUMENT_ID",
906+
} as const;
907+
908+
/**
909+
* @public
910+
*/
911+
export type DefaultDocumentIdFormat = (typeof DefaultDocumentIdFormat)[keyof typeof DefaultDocumentIdFormat];
912+
913+
/**
914+
* @public
915+
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
916+
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
917+
* <p></p>
918+
*/
919+
export interface DocumentIdOptions {
920+
/**
921+
* @public
922+
* <p>When the <code>FIREHOSE_DEFAULT</code> option is chosen, Kinesis Data Firehose generates
923+
* a unique document ID for each record based on a unique internal identifier. The generated
924+
* document ID is stable across multiple delivery attempts, which helps prevent the same
925+
* record from being indexed multiple times with different document IDs.</p>
926+
* <p>When the <code>NO_DOCUMENT_ID</code> option is chosen, Kinesis Data Firehose does not
927+
* include any document IDs in the requests it sends to the Amazon OpenSearch Service. This
928+
* causes the Amazon OpenSearch Service domain to generate document IDs. In case of multiple
929+
* delivery attempts, this may cause the same record to be indexed more than once with
930+
* different document IDs. This option enables write-heavy operations, such as the ingestion
931+
* of logs and observability data, to consume less resources in the Amazon OpenSearch Service
932+
* domain, resulting in improved performance.</p>
933+
*/
934+
DefaultDocumentIdFormat: DefaultDocumentIdFormat | string | undefined;
935+
}
936+
897937
/**
898938
* @public
899939
* @enum
@@ -1037,9 +1077,17 @@ export interface AmazonopensearchserviceDestinationConfiguration {
10371077

10381078
/**
10391079
* @public
1040-
* <p>The details of the VPC of the Amazon ES destination.</p>
1080+
* <p>The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless
1081+
* destination.</p>
10411082
*/
10421083
VpcConfiguration?: VpcConfiguration;
1084+
1085+
/**
1086+
* @public
1087+
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
1088+
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
1089+
*/
1090+
DocumentIdOptions?: DocumentIdOptions;
10431091
}
10441092

10451093
/**
@@ -1127,6 +1175,13 @@ export interface AmazonopensearchserviceDestinationDescription {
11271175
* <p>The details of the VPC of the Amazon ES destination.</p>
11281176
*/
11291177
VpcConfigurationDescription?: VpcConfigurationDescription;
1178+
1179+
/**
1180+
* @public
1181+
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
1182+
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
1183+
*/
1184+
DocumentIdOptions?: DocumentIdOptions;
11301185
}
11311186

11321187
/**
@@ -1213,6 +1268,13 @@ export interface AmazonopensearchserviceDestinationUpdate {
12131268
* <p>Describes the Amazon CloudWatch logging options for your delivery stream.</p>
12141269
*/
12151270
CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
1271+
1272+
/**
1273+
* @public
1274+
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
1275+
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
1276+
*/
1277+
DocumentIdOptions?: DocumentIdOptions;
12161278
}
12171279

12181280
/**
@@ -1537,9 +1599,16 @@ export interface ElasticsearchDestinationConfiguration {
15371599

15381600
/**
15391601
* @public
1540-
* <p>The details of the VPC of the Amazon ES destination.</p>
1602+
* <p>The details of the VPC of the Amazon destination.</p>
15411603
*/
15421604
VpcConfiguration?: VpcConfiguration;
1605+
1606+
/**
1607+
* @public
1608+
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
1609+
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
1610+
*/
1611+
DocumentIdOptions?: DocumentIdOptions;
15431612
}
15441613

15451614
/**
@@ -3077,9 +3146,17 @@ export interface ElasticsearchDestinationDescription {
30773146

30783147
/**
30793148
* @public
3080-
* <p>The details of the VPC of the Amazon ES destination.</p>
3149+
* <p>The details of the VPC of the Amazon OpenSearch or the Amazon OpenSearch Serverless
3150+
* destination.</p>
30813151
*/
30823152
VpcConfigurationDescription?: VpcConfigurationDescription;
3153+
3154+
/**
3155+
* @public
3156+
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
3157+
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
3158+
*/
3159+
DocumentIdOptions?: DocumentIdOptions;
30833160
}
30843161

30853162
/**
@@ -3740,6 +3817,13 @@ export interface ElasticsearchDestinationUpdate {
37403817
* <p>The CloudWatch logging options for your delivery stream.</p>
37413818
*/
37423819
CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
3820+
3821+
/**
3822+
* @public
3823+
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
3824+
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
3825+
*/
3826+
DocumentIdOptions?: DocumentIdOptions;
37433827
}
37443828

37453829
/**

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ import {
8282
DescribeDeliveryStreamOutput,
8383
Deserializer,
8484
DestinationDescription,
85+
DocumentIdOptions,
8586
DynamicPartitioningConfiguration,
8687
ElasticsearchBufferingHints,
8788
ElasticsearchDestinationConfiguration,
@@ -1107,6 +1108,8 @@ const se_DataFormatConversionConfiguration = (
11071108

11081109
// se_Deserializer omitted.
11091110

1111+
// se_DocumentIdOptions omitted.
1112+
11101113
// se_DynamicPartitioningConfiguration omitted.
11111114

11121115
// se_ElasticsearchBufferingHints omitted.
@@ -1451,6 +1454,8 @@ const de_DestinationDescriptionList = (output: any, context: __SerdeContext): De
14511454
return retVal;
14521455
};
14531456

1457+
// de_DocumentIdOptions omitted.
1458+
14541459
// de_DynamicPartitioningConfiguration omitted.
14551460

14561461
// de_ElasticsearchBufferingHints omitted.

0 commit comments

Comments
 (0)