From f2e4398f4245db64ac4a6a27179ccba566ae52a9 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 13 Sep 2023 18:15:03 +0000 Subject: [PATCH] feat(client-firehose): DocumentIdOptions has been added for the Amazon OpenSearch destination. --- .../commands/CreateDeliveryStreamCommand.ts | 15 ++- .../commands/DescribeDeliveryStreamCommand.ts | 6 ++ .../src/commands/UpdateDestinationCommand.ts | 11 ++- .../client-firehose/src/models/models_0.ts | 96 +++++++++++++++++-- .../src/protocols/Aws_json1_1.ts | 5 + codegen/sdk-codegen/aws-models/firehose.json | 82 ++++++++++++++-- 6 files changed, 197 insertions(+), 18 deletions(-) diff --git a/clients/client-firehose/src/commands/CreateDeliveryStreamCommand.ts b/clients/client-firehose/src/commands/CreateDeliveryStreamCommand.ts index d0164119b922..83fe69bec7ee 100644 --- a/clients/client-firehose/src/commands/CreateDeliveryStreamCommand.ts +++ b/clients/client-firehose/src/commands/CreateDeliveryStreamCommand.ts @@ -63,9 +63,12 @@ export interface CreateDeliveryStreamCommandOutput extends CreateDeliveryStreamO *

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is * optional. You can also invoke StartDeliveryStreamEncryption to turn on * SSE for an existing delivery stream that doesn't have SSE enabled.

- *

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: ExtendedS3DestinationConfiguration, + *

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: ExtendedS3DestinationConfiguration, * S3DestinationConfiguration, * ElasticsearchDestinationConfiguration, * RedshiftDestinationConfiguration, or @@ -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 @@ -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 diff --git a/clients/client-firehose/src/commands/DescribeDeliveryStreamCommand.ts b/clients/client-firehose/src/commands/DescribeDeliveryStreamCommand.ts index 0c236fec5cee..5331ce579bb0 100644 --- a/clients/client-firehose/src/commands/DescribeDeliveryStreamCommand.ts +++ b/clients/client-firehose/src/commands/DescribeDeliveryStreamCommand.ts @@ -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", @@ -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", diff --git a/clients/client-firehose/src/commands/UpdateDestinationCommand.ts b/clients/client-firehose/src/commands/UpdateDestinationCommand.ts index c1988f6ec138..a8065fa800bc 100644 --- a/clients/client-firehose/src/commands/UpdateDestinationCommand.ts +++ b/clients/client-firehose/src/commands/UpdateDestinationCommand.ts @@ -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.

- *

Switching between Amazon ES and other services is not supported. For an Amazon ES - * destination, you can only update to another Amazon ES destination.

+ *

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.

*

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 @@ -325,6 +326,9 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput, * ], * }, * CloudWatchLoggingOptions: "", + * DocumentIdOptions: { // DocumentIdOptions + * DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required + * }, * }, * AmazonopensearchserviceDestinationUpdate: { // AmazonopensearchserviceDestinationUpdate * RoleARN: "STRING_VALUE", @@ -356,6 +360,9 @@ export interface UpdateDestinationCommandOutput extends UpdateDestinationOutput, * ], * }, * CloudWatchLoggingOptions: "", + * DocumentIdOptions: { + * DefaultDocumentIdFormat: "FIREHOSE_DEFAULT" || "NO_DOCUMENT_ID", // required + * }, * }, * SplunkDestinationUpdate: { // SplunkDestinationUpdate * HECEndpoint: "STRING_VALUE", diff --git a/clients/client-firehose/src/models/models_0.ts b/clients/client-firehose/src/models/models_0.ts index 87d61600ca33..cc6341b6e00e 100644 --- a/clients/client-firehose/src/models/models_0.ts +++ b/clients/client-firehose/src/models/models_0.ts @@ -343,7 +343,8 @@ export interface S3DestinationConfiguration { /** * @public - *

The details of the VPC of the Amazon ES destination.

+ *

The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless + * destination.

*/ export interface VpcConfiguration { /** @@ -506,7 +507,8 @@ export interface AmazonOpenSearchServerlessDestinationConfiguration { /** * @public - *

The details of the VPC of the Amazon ES destination.

+ *

The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless + * destination.

*/ VpcConfiguration?: VpcConfiguration; } @@ -681,7 +683,7 @@ export interface VpcConfigurationDescription { export interface AmazonOpenSearchServerlessDestinationDescription { /** * @public - *

The Amazon Resource Name (ARN) of the AWS credentials.

+ *

The Amazon Resource Name (ARN) of the Amazon Web Services credentials.

*/ RoleARN?: string; @@ -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 + *

Indicates the method for setting up document ID. The supported methods are Kinesis Data + * Firehose generated document ID and OpenSearch Service generated document ID.

+ *

+ */ +export interface DocumentIdOptions { + /** + * @public + *

When the FIREHOSE_DEFAULT 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.

+ *

When the NO_DOCUMENT_ID 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.

+ */ + DefaultDocumentIdFormat: DefaultDocumentIdFormat | string | undefined; +} + /** * @public * @enum @@ -1037,9 +1077,17 @@ export interface AmazonopensearchserviceDestinationConfiguration { /** * @public - *

The details of the VPC of the Amazon ES destination.

+ *

The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless + * destination.

*/ VpcConfiguration?: VpcConfiguration; + + /** + * @public + *

Indicates the method for setting up document ID. The supported methods are Kinesis Data + * Firehose generated document ID and OpenSearch Service generated document ID.

+ */ + DocumentIdOptions?: DocumentIdOptions; } /** @@ -1127,6 +1175,13 @@ export interface AmazonopensearchserviceDestinationDescription { *

The details of the VPC of the Amazon ES destination.

*/ VpcConfigurationDescription?: VpcConfigurationDescription; + + /** + * @public + *

Indicates the method for setting up document ID. The supported methods are Kinesis Data + * Firehose generated document ID and OpenSearch Service generated document ID.

+ */ + DocumentIdOptions?: DocumentIdOptions; } /** @@ -1213,6 +1268,13 @@ export interface AmazonopensearchserviceDestinationUpdate { *

Describes the Amazon CloudWatch logging options for your delivery stream.

*/ CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + + /** + * @public + *

Indicates the method for setting up document ID. The supported methods are Kinesis Data + * Firehose generated document ID and OpenSearch Service generated document ID.

+ */ + DocumentIdOptions?: DocumentIdOptions; } /** @@ -1537,9 +1599,16 @@ export interface ElasticsearchDestinationConfiguration { /** * @public - *

The details of the VPC of the Amazon ES destination.

+ *

The details of the VPC of the Amazon destination.

*/ VpcConfiguration?: VpcConfiguration; + + /** + * @public + *

Indicates the method for setting up document ID. The supported methods are Kinesis Data + * Firehose generated document ID and OpenSearch Service generated document ID.

+ */ + DocumentIdOptions?: DocumentIdOptions; } /** @@ -3077,9 +3146,17 @@ export interface ElasticsearchDestinationDescription { /** * @public - *

The details of the VPC of the Amazon ES destination.

+ *

The details of the VPC of the Amazon OpenSearch or the Amazon OpenSearch Serverless + * destination.

*/ VpcConfigurationDescription?: VpcConfigurationDescription; + + /** + * @public + *

Indicates the method for setting up document ID. The supported methods are Kinesis Data + * Firehose generated document ID and OpenSearch Service generated document ID.

+ */ + DocumentIdOptions?: DocumentIdOptions; } /** @@ -3740,6 +3817,13 @@ export interface ElasticsearchDestinationUpdate { *

The CloudWatch logging options for your delivery stream.

*/ CloudWatchLoggingOptions?: CloudWatchLoggingOptions; + + /** + * @public + *

Indicates the method for setting up document ID. The supported methods are Kinesis Data + * Firehose generated document ID and OpenSearch Service generated document ID.

+ */ + DocumentIdOptions?: DocumentIdOptions; } /** diff --git a/clients/client-firehose/src/protocols/Aws_json1_1.ts b/clients/client-firehose/src/protocols/Aws_json1_1.ts index 3ccb90824878..ef8a0c457155 100644 --- a/clients/client-firehose/src/protocols/Aws_json1_1.ts +++ b/clients/client-firehose/src/protocols/Aws_json1_1.ts @@ -82,6 +82,7 @@ import { DescribeDeliveryStreamOutput, Deserializer, DestinationDescription, + DocumentIdOptions, DynamicPartitioningConfiguration, ElasticsearchBufferingHints, ElasticsearchDestinationConfiguration, @@ -1107,6 +1108,8 @@ const se_DataFormatConversionConfiguration = ( // se_Deserializer omitted. +// se_DocumentIdOptions omitted. + // se_DynamicPartitioningConfiguration omitted. // se_ElasticsearchBufferingHints omitted. @@ -1451,6 +1454,8 @@ const de_DestinationDescriptionList = (output: any, context: __SerdeContext): De return retVal; }; +// de_DocumentIdOptions omitted. + // de_DynamicPartitioningConfiguration omitted. // de_ElasticsearchBufferingHints omitted. diff --git a/codegen/sdk-codegen/aws-models/firehose.json b/codegen/sdk-codegen/aws-models/firehose.json index da3b7edd2da7..ebe91f1d95bd 100644 --- a/codegen/sdk-codegen/aws-models/firehose.json +++ b/codegen/sdk-codegen/aws-models/firehose.json @@ -154,7 +154,7 @@ "RoleARN": { "target": "com.amazonaws.firehose#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS credentials.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services credentials.

" } }, "CollectionEndpoint": { @@ -422,6 +422,12 @@ }, "VpcConfiguration": { "target": "com.amazonaws.firehose#VpcConfiguration" + }, + "DocumentIdOptions": { + "target": "com.amazonaws.firehose#DocumentIdOptions", + "traits": { + "smithy.api#documentation": "

Indicates the method for setting up document ID. The supported methods are Kinesis Data\n Firehose generated document ID and OpenSearch Service generated document ID.

" + } } }, "traits": { @@ -496,6 +502,12 @@ }, "VpcConfigurationDescription": { "target": "com.amazonaws.firehose#VpcConfigurationDescription" + }, + "DocumentIdOptions": { + "target": "com.amazonaws.firehose#DocumentIdOptions", + "traits": { + "smithy.api#documentation": "

Indicates the method for setting up document ID. The supported methods are Kinesis Data\n Firehose generated document ID and OpenSearch Service generated document ID.

" + } } }, "traits": { @@ -561,6 +573,12 @@ }, "CloudWatchLoggingOptions": { "target": "com.amazonaws.firehose#CloudWatchLoggingOptions" + }, + "DocumentIdOptions": { + "target": "com.amazonaws.firehose#DocumentIdOptions", + "traits": { + "smithy.api#documentation": "

Indicates the method for setting up document ID. The supported methods are Kinesis Data\n Firehose generated document ID and OpenSearch Service generated document ID.

" + } } }, "traits": { @@ -885,7 +903,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a Kinesis Data Firehose delivery stream.

\n

By default, you can create up to 50 delivery streams per Amazon Web Services\n Region.

\n

This is an asynchronous operation that immediately returns. The initial status of the\n delivery stream is CREATING. After the delivery stream is created, its status\n is ACTIVE and it now accepts data. If the delivery stream creation fails, the\n status transitions to CREATING_FAILED. Attempts to send data to a delivery\n stream that is not in the ACTIVE state cause an exception. To check the state\n of a delivery stream, use DescribeDeliveryStream.

\n

If the status of a delivery stream is CREATING_FAILED, this status\n doesn't change, and you can't invoke CreateDeliveryStream again on it.\n However, you can invoke the DeleteDeliveryStream operation to delete\n it.

\n

A Kinesis Data Firehose delivery stream can be configured to receive records directly\n from providers using PutRecord or PutRecordBatch, or it\n can be configured to use an existing Kinesis stream as its source. To specify a Kinesis\n data stream as input, set the DeliveryStreamType parameter to\n KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name\n (ARN) and role ARN in the KinesisStreamSourceConfiguration\n parameter.

\n

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is\n optional. You can also invoke StartDeliveryStreamEncryption to turn on\n SSE for an existing delivery stream that doesn't have SSE enabled.

\n

A delivery stream is configured with a single destination: Amazon S3, Amazon ES,\n Amazon Redshift, or Splunk. You must specify only one of the following destination\n configuration parameters: ExtendedS3DestinationConfiguration,\n S3DestinationConfiguration,\n ElasticsearchDestinationConfiguration,\n RedshiftDestinationConfiguration, or\n SplunkDestinationConfiguration.

\n

When you specify S3DestinationConfiguration, you can also provide the\n following optional values: BufferingHints, EncryptionConfiguration, and\n CompressionFormat. By default, if no BufferingHints value is\n provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever\n condition is satisfied first. BufferingHints is a hint, so there are some\n cases where the service cannot adhere to these conditions strictly. For example, record\n boundaries might be such that the size is a little over or under the configured buffering\n size. By default, no encryption is performed. We strongly recommend that you enable\n encryption to ensure secure data storage in Amazon S3.

\n

A few notes about Amazon Redshift as a destination:

\n \n

Kinesis Data Firehose assumes the IAM role that is configured as part of the\n destination. The role should allow the Kinesis Data Firehose principal to assume the role,\n and the role should have permissions that allow the service to deliver the data. For more\n information, see Grant Kinesis Data\n Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data\n Firehose Developer Guide.

" + "smithy.api#documentation": "

Creates a Kinesis Data Firehose delivery stream.

\n

By default, you can create up to 50 delivery streams per Amazon Web Services\n Region.

\n

This is an asynchronous operation that immediately returns. The initial status of the\n delivery stream is CREATING. After the delivery stream is created, its status\n is ACTIVE and it now accepts data. If the delivery stream creation fails, the\n status transitions to CREATING_FAILED. Attempts to send data to a delivery\n stream that is not in the ACTIVE state cause an exception. To check the state\n of a delivery stream, use DescribeDeliveryStream.

\n

If the status of a delivery stream is CREATING_FAILED, this status\n doesn't change, and you can't invoke CreateDeliveryStream again on it.\n However, you can invoke the DeleteDeliveryStream operation to delete\n it.

\n

A Kinesis Data Firehose delivery stream can be configured to receive records directly\n from providers using PutRecord or PutRecordBatch, or it\n can be configured to use an existing Kinesis stream as its source. To specify a Kinesis\n data stream as input, set the DeliveryStreamType parameter to\n KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name\n (ARN) and role ARN in the KinesisStreamSourceConfiguration\n parameter.

\n

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is\n optional. You can also invoke StartDeliveryStreamEncryption to turn on\n SSE for an existing delivery stream that doesn't have SSE enabled.

\n

A delivery stream is configured with a single destination, such as Amazon Simple\n Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch\n Serverless, Splunk, and any custom HTTP endpoint or HTTP endpoints owned by or supported by\n third-party service providers, including Datadog, Dynatrace, LogicMonitor, MongoDB, New\n Relic, and Sumo Logic. You must specify only one of the following destination configuration\n parameters: ExtendedS3DestinationConfiguration,\n S3DestinationConfiguration,\n ElasticsearchDestinationConfiguration,\n RedshiftDestinationConfiguration, or\n SplunkDestinationConfiguration.

\n

When you specify S3DestinationConfiguration, you can also provide the\n following optional values: BufferingHints, EncryptionConfiguration, and\n CompressionFormat. By default, if no BufferingHints value is\n provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever\n condition is satisfied first. BufferingHints is a hint, so there are some\n cases where the service cannot adhere to these conditions strictly. For example, record\n boundaries might be such that the size is a little over or under the configured buffering\n size. By default, no encryption is performed. We strongly recommend that you enable\n encryption to ensure secure data storage in Amazon S3.

\n

A few notes about Amazon Redshift as a destination:

\n \n

Kinesis Data Firehose assumes the IAM role that is configured as part of the\n destination. The role should allow the Kinesis Data Firehose principal to assume the role,\n and the role should have permissions that allow the service to deliver the data. For more\n information, see Grant Kinesis Data\n Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data\n Firehose Developer Guide.

" } }, "com.amazonaws.firehose#CreateDeliveryStreamInput": { @@ -1051,6 +1069,23 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.firehose#DefaultDocumentIdFormat": { + "type": "enum", + "members": { + "FIREHOSE_DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FIREHOSE_DEFAULT" + } + }, + "NO_DOCUMENT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NO_DOCUMENT_ID" + } + } + } + }, "com.amazonaws.firehose#DeleteDeliveryStream": { "type": "operation", "input": { @@ -1633,6 +1668,21 @@ "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, + "com.amazonaws.firehose#DocumentIdOptions": { + "type": "structure", + "members": { + "DefaultDocumentIdFormat": { + "target": "com.amazonaws.firehose#DefaultDocumentIdFormat", + "traits": { + "smithy.api#documentation": "

When the FIREHOSE_DEFAULT option is chosen, Kinesis Data Firehose generates\n a unique document ID for each record based on a unique internal identifier. The generated\n document ID is stable across multiple delivery attempts, which helps prevent the same\n record from being indexed multiple times with different document IDs.

\n

When the NO_DOCUMENT_ID option is chosen, Kinesis Data Firehose does not\n include any document IDs in the requests it sends to the Amazon OpenSearch Service. This\n causes the Amazon OpenSearch Service domain to generate document IDs. In case of multiple\n delivery attempts, this may cause the same record to be indexed more than once with\n different document IDs. This option enables write-heavy operations, such as the ingestion\n of logs and observability data, to consume less resources in the Amazon OpenSearch Service\n domain, resulting in improved performance.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates the method for setting up document ID. The supported methods are Kinesis Data\n Firehose generated document ID and OpenSearch Service generated document ID.

\n

" + } + }, "com.amazonaws.firehose#DynamicPartitioningConfiguration": { "type": "structure", "members": { @@ -1782,7 +1832,13 @@ "VpcConfiguration": { "target": "com.amazonaws.firehose#VpcConfiguration", "traits": { - "smithy.api#documentation": "

The details of the VPC of the Amazon ES destination.

" + "smithy.api#documentation": "

The details of the VPC of the Amazon destination.

" + } + }, + "DocumentIdOptions": { + "target": "com.amazonaws.firehose#DocumentIdOptions", + "traits": { + "smithy.api#documentation": "

Indicates the method for setting up document ID. The supported methods are Kinesis Data\n Firehose generated document ID and OpenSearch Service generated document ID.

" } } }, @@ -1868,7 +1924,13 @@ "VpcConfigurationDescription": { "target": "com.amazonaws.firehose#VpcConfigurationDescription", "traits": { - "smithy.api#documentation": "

The details of the VPC of the Amazon ES destination.

" + "smithy.api#documentation": "

The details of the VPC of the Amazon OpenSearch or the Amazon OpenSearch Serverless\n destination.

" + } + }, + "DocumentIdOptions": { + "target": "com.amazonaws.firehose#DocumentIdOptions", + "traits": { + "smithy.api#documentation": "

Indicates the method for setting up document ID. The supported methods are Kinesis Data\n Firehose generated document ID and OpenSearch Service generated document ID.

" } } }, @@ -1944,6 +2006,12 @@ "traits": { "smithy.api#documentation": "

The CloudWatch logging options for your delivery stream.

" } + }, + "DocumentIdOptions": { + "target": "com.amazonaws.firehose#DocumentIdOptions", + "traits": { + "smithy.api#documentation": "

Indicates the method for setting up document ID. The supported methods are Kinesis Data\n Firehose generated document ID and OpenSearch Service generated document ID.

" + } } }, "traits": { @@ -6126,7 +6194,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the specified destination of the specified delivery stream.

\n

Use this operation to change the destination type (for example, to replace the Amazon\n S3 destination with Amazon Redshift) or change the parameters associated with a destination\n (for example, to change the bucket name of the Amazon S3 destination). The update might not\n occur immediately. The target delivery stream remains active while the configurations are\n updated, so data writes to the delivery stream can continue during this process. The\n updated configurations are usually effective within a few minutes.

\n

Switching between Amazon ES and other services is not supported. For an Amazon ES\n destination, you can only update to another Amazon ES destination.

\n

If the destination type is the same, Kinesis Data Firehose merges the configuration\n parameters specified with the destination configuration that already exists on the delivery\n stream. If any of the parameters are not specified in the call, the existing values are\n retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing\n EncryptionConfiguration is maintained on the destination.

\n

If the destination type is not the same, for example, changing the destination from\n Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this\n case, all parameters must be specified.

\n

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race\n conditions and conflicting merges. This is a required field, and the service updates the\n configuration only if the existing configuration has a version ID that matches. After the\n update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set\n CurrentDeliveryStreamVersionId in the next call.

" + "smithy.api#documentation": "

Updates the specified destination of the specified delivery stream.

\n

Use this operation to change the destination type (for example, to replace the Amazon\n S3 destination with Amazon Redshift) or change the parameters associated with a destination\n (for example, to change the bucket name of the Amazon S3 destination). The update might not\n occur immediately. The target delivery stream remains active while the configurations are\n updated, so data writes to the delivery stream can continue during this process. The\n updated configurations are usually effective within a few minutes.

\n

Switching between Amazon OpenSearch Service and other services is not supported. For\n an Amazon OpenSearch Service destination, you can only update to another Amazon OpenSearch\n Service destination.

\n

If the destination type is the same, Kinesis Data Firehose merges the configuration\n parameters specified with the destination configuration that already exists on the delivery\n stream. If any of the parameters are not specified in the call, the existing values are\n retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing\n EncryptionConfiguration is maintained on the destination.

\n

If the destination type is not the same, for example, changing the destination from\n Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this\n case, all parameters must be specified.

\n

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race\n conditions and conflicting merges. This is a required field, and the service updates the\n configuration only if the existing configuration has a version ID that matches. After the\n update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set\n CurrentDeliveryStreamVersionId in the next call.

" } }, "com.amazonaws.firehose#UpdateDestinationInput": { @@ -6251,7 +6319,7 @@ } }, "traits": { - "smithy.api#documentation": "

The details of the VPC of the Amazon ES destination.

" + "smithy.api#documentation": "

The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless\n destination.

" } }, "com.amazonaws.firehose#VpcConfigurationDescription": { @@ -6291,4 +6359,4 @@ } } } -} \ No newline at end of file +}