Skip to content

Commit

Permalink
feat(client-firehose): DocumentIdOptions has been added for the Amazo…
Browse files Browse the repository at this point in the history
…n OpenSearch destination.
  • Loading branch information
awstools committed Sep 13, 2023
1 parent 5f45618 commit f2e4398
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,12 @@ export interface CreateDeliveryStreamCommandOutput extends CreateDeliveryStreamO
* <p>To create a delivery stream with server-side encryption (SSE) enabled, include <a>DeliveryStreamEncryptionConfigurationInput</a> in your request. This is
* optional. You can also invoke <a>StartDeliveryStreamEncryption</a> to turn on
* SSE for an existing delivery stream that doesn't have SSE enabled.</p>
* <p>A delivery stream is configured with a single destination: Amazon S3, Amazon ES,
* Amazon Redshift, or Splunk. You must specify only one of the following destination
* configuration parameters: <code>ExtendedS3DestinationConfiguration</code>,
* <p>A delivery stream is configured with a single destination, such as Amazon Simple
* Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch
* Serverless, Splunk, and any custom HTTP endpoint or HTTP endpoints owned by or supported by
* third-party service providers, including Datadog, Dynatrace, LogicMonitor, MongoDB, New
* Relic, and Sumo Logic. You must specify only one of the following destination configuration
* parameters: <code>ExtendedS3DestinationConfiguration</code>,
* <code>S3DestinationConfiguration</code>,
* <code>ElasticsearchDestinationConfiguration</code>,
* <code>RedshiftDestinationConfiguration</code>, or
Expand Down Expand Up @@ -386,6 +389,9 @@ export interface CreateDeliveryStreamCommandOutput extends CreateDeliveryStreamO
* "STRING_VALUE",
* ],
* },
* DocumentIdOptions: { // DocumentIdOptions
* DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
* },
* },
* AmazonopensearchserviceDestinationConfiguration: { // AmazonopensearchserviceDestinationConfiguration
* RoleARN: "STRING_VALUE", // required
Expand Down Expand Up @@ -427,6 +433,9 @@ export interface CreateDeliveryStreamCommandOutput extends CreateDeliveryStreamO
* "STRING_VALUE",
* ],
* },
* DocumentIdOptions: {
* DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
* },
* },
* SplunkDestinationConfiguration: { // SplunkDestinationConfiguration
* HECEndpoint: "STRING_VALUE", // required
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,9 @@ export interface DescribeDeliveryStreamCommandOutput extends DescribeDeliveryStr
* // ],
* // VpcId: "STRING_VALUE", // required
* // },
* // DocumentIdOptions: { // DocumentIdOptions
* // DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
* // },
* // },
* // AmazonopensearchserviceDestinationDescription: { // AmazonopensearchserviceDestinationDescription
* // RoleARN: "STRING_VALUE",
Expand Down Expand Up @@ -397,6 +400,9 @@ export interface DescribeDeliveryStreamCommandOutput extends DescribeDeliveryStr
* // ],
* // VpcId: "STRING_VALUE", // required
* // },
* // DocumentIdOptions: {
* // DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
* // },
* // },
* // SplunkDestinationDescription: { // SplunkDestinationDescription
* // HECEndpoint: "STRING_VALUE",
Expand Down
11 changes: 9 additions & 2 deletions clients/client-firehose/src/commands/UpdateDestinationCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput,
* occur immediately. The target delivery stream remains active while the configurations are
* updated, so data writes to the delivery stream can continue during this process. The
* updated configurations are usually effective within a few minutes.</p>
* <p>Switching between Amazon ES and other services is not supported. For an Amazon ES
* destination, you can only update to another Amazon ES destination.</p>
* <p>Switching between Amazon OpenSearch Service and other services is not supported. For
* an Amazon OpenSearch Service destination, you can only update to another Amazon OpenSearch
* Service destination.</p>
* <p>If the destination type is the same, Kinesis Data Firehose merges the configuration
* parameters specified with the destination configuration that already exists on the delivery
* stream. If any of the parameters are not specified in the call, the existing values are
Expand Down Expand Up @@ -325,6 +326,9 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput,
* ],
* },
* CloudWatchLoggingOptions: "<CloudWatchLoggingOptions>",
* DocumentIdOptions: { // DocumentIdOptions
* DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
* },
* },
* AmazonopensearchserviceDestinationUpdate: { // AmazonopensearchserviceDestinationUpdate
* RoleARN: "STRING_VALUE",
Expand Down Expand Up @@ -356,6 +360,9 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput,
* ],
* },
* CloudWatchLoggingOptions: "<CloudWatchLoggingOptions>",
* DocumentIdOptions: {
* DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required
* },
* },
* SplunkDestinationUpdate: { // SplunkDestinationUpdate
* HECEndpoint: "STRING_VALUE",
Expand Down
96 changes: 90 additions & 6 deletions clients/client-firehose/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,8 @@ export interface S3DestinationConfiguration {

/**
* @public
* <p>The details of the VPC of the Amazon ES destination.</p>
* <p>The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless
* destination.</p>
*/
export interface VpcConfiguration {
/**
Expand Down Expand Up @@ -506,7 +507,8 @@ export interface AmazonOpenSearchServerlessDestinationConfiguration {

/**
* @public
* <p>The details of the VPC of the Amazon ES destination.</p>
* <p>The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless
* destination.</p>
*/
VpcConfiguration?: VpcConfiguration;
}
Expand Down Expand Up @@ -681,7 +683,7 @@ export interface VpcConfigurationDescription {
export interface AmazonOpenSearchServerlessDestinationDescription {
/**
* @public
* <p>The Amazon Resource Name (ARN) of the AWS credentials.</p>
* <p>The Amazon Resource Name (ARN) of the Amazon Web Services credentials.</p>
*/
RoleARN?: string;

Expand Down Expand Up @@ -894,6 +896,44 @@ export interface AmazonopensearchserviceBufferingHints {
SizeInMBs?: number;
}

/**
* @public
* @enum
*/
export const DefaultDocumentIdFormat = {
FIREHOSE_DEFAULT: "FIREHOSE_DEFAULT",
NO_DOCUMENT_ID: "NO_DOCUMENT_ID",
} as const;

/**
* @public
*/
export type DefaultDocumentIdFormat = (typeof DefaultDocumentIdFormat)[keyof typeof DefaultDocumentIdFormat];

/**
* @public
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
* <p></p>
*/
export interface DocumentIdOptions {
/**
* @public
* <p>When the <code>FIREHOSE_DEFAULT</code> option is chosen, Kinesis Data Firehose generates
* a unique document ID for each record based on a unique internal identifier. The generated
* document ID is stable across multiple delivery attempts, which helps prevent the same
* record from being indexed multiple times with different document IDs.</p>
* <p>When the <code>NO_DOCUMENT_ID</code> option is chosen, Kinesis Data Firehose does not
* include any document IDs in the requests it sends to the Amazon OpenSearch Service. This
* causes the Amazon OpenSearch Service domain to generate document IDs. In case of multiple
* delivery attempts, this may cause the same record to be indexed more than once with
* different document IDs. This option enables write-heavy operations, such as the ingestion
* of logs and observability data, to consume less resources in the Amazon OpenSearch Service
* domain, resulting in improved performance.</p>
*/
DefaultDocumentIdFormat: DefaultDocumentIdFormat | string | undefined;
}

/**
* @public
* @enum
Expand Down Expand Up @@ -1037,9 +1077,17 @@ export interface AmazonopensearchserviceDestinationConfiguration {

/**
* @public
* <p>The details of the VPC of the Amazon ES destination.</p>
* <p>The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless
* destination.</p>
*/
VpcConfiguration?: VpcConfiguration;

/**
* @public
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
*/
DocumentIdOptions?: DocumentIdOptions;
}

/**
Expand Down Expand Up @@ -1127,6 +1175,13 @@ export interface AmazonopensearchserviceDestinationDescription {
* <p>The details of the VPC of the Amazon ES destination.</p>
*/
VpcConfigurationDescription?: VpcConfigurationDescription;

/**
* @public
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
*/
DocumentIdOptions?: DocumentIdOptions;
}

/**
Expand Down Expand Up @@ -1213,6 +1268,13 @@ export interface AmazonopensearchserviceDestinationUpdate {
* <p>Describes the Amazon CloudWatch logging options for your delivery stream.</p>
*/
CloudWatchLoggingOptions?: CloudWatchLoggingOptions;

/**
* @public
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
*/
DocumentIdOptions?: DocumentIdOptions;
}

/**
Expand Down Expand Up @@ -1537,9 +1599,16 @@ export interface ElasticsearchDestinationConfiguration {

/**
* @public
* <p>The details of the VPC of the Amazon ES destination.</p>
* <p>The details of the VPC of the Amazon destination.</p>
*/
VpcConfiguration?: VpcConfiguration;

/**
* @public
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
*/
DocumentIdOptions?: DocumentIdOptions;
}

/**
Expand Down Expand Up @@ -3077,9 +3146,17 @@ export interface ElasticsearchDestinationDescription {

/**
* @public
* <p>The details of the VPC of the Amazon ES destination.</p>
* <p>The details of the VPC of the Amazon OpenSearch or the Amazon OpenSearch Serverless
* destination.</p>
*/
VpcConfigurationDescription?: VpcConfigurationDescription;

/**
* @public
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
*/
DocumentIdOptions?: DocumentIdOptions;
}

/**
Expand Down Expand Up @@ -3740,6 +3817,13 @@ export interface ElasticsearchDestinationUpdate {
* <p>The CloudWatch logging options for your delivery stream.</p>
*/
CloudWatchLoggingOptions?: CloudWatchLoggingOptions;

/**
* @public
* <p>Indicates the method for setting up document ID. The supported methods are Kinesis Data
* Firehose generated document ID and OpenSearch Service generated document ID.</p>
*/
DocumentIdOptions?: DocumentIdOptions;
}

/**
Expand Down
5 changes: 5 additions & 0 deletions clients/client-firehose/src/protocols/Aws_json1_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ import {
DescribeDeliveryStreamOutput,
Deserializer,
DestinationDescription,
DocumentIdOptions,
DynamicPartitioningConfiguration,
ElasticsearchBufferingHints,
ElasticsearchDestinationConfiguration,
Expand Down Expand Up @@ -1107,6 +1108,8 @@ const se_DataFormatConversionConfiguration = (

// se_Deserializer omitted.

// se_DocumentIdOptions omitted.

// se_DynamicPartitioningConfiguration omitted.

// se_ElasticsearchBufferingHints omitted.
Expand Down Expand Up @@ -1451,6 +1454,8 @@ const de_DestinationDescriptionList = (output: any, context: __SerdeContext): De
return retVal;
};

// de_DocumentIdOptions omitted.

// de_DynamicPartitioningConfiguration omitted.

// de_ElasticsearchBufferingHints omitted.
Expand Down
Loading

0 comments on commit f2e4398

Please sign in to comment.