@aws-sdk/client-firehose 3.35.0 → 3.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist-cjs/Firehose.js +0 -1
  3. package/dist-cjs/FirehoseClient.js +0 -1
  4. package/dist-cjs/commands/CreateDeliveryStreamCommand.js +0 -1
  5. package/dist-cjs/commands/DeleteDeliveryStreamCommand.js +0 -1
  6. package/dist-cjs/commands/DescribeDeliveryStreamCommand.js +0 -1
  7. package/dist-cjs/commands/ListDeliveryStreamsCommand.js +0 -1
  8. package/dist-cjs/commands/ListTagsForDeliveryStreamCommand.js +0 -1
  9. package/dist-cjs/commands/PutRecordBatchCommand.js +0 -1
  10. package/dist-cjs/commands/PutRecordCommand.js +0 -1
  11. package/dist-cjs/commands/StartDeliveryStreamEncryptionCommand.js +0 -1
  12. package/dist-cjs/commands/StopDeliveryStreamEncryptionCommand.js +0 -1
  13. package/dist-cjs/commands/TagDeliveryStreamCommand.js +0 -1
  14. package/dist-cjs/commands/UntagDeliveryStreamCommand.js +0 -1
  15. package/dist-cjs/commands/UpdateDestinationCommand.js +0 -1
  16. package/dist-cjs/endpoints.js +0 -1
  17. package/dist-cjs/index.js +0 -1
  18. package/dist-cjs/models/index.js +0 -1
  19. package/dist-cjs/models/models_0.js +150 -93
  20. package/dist-cjs/protocols/Aws_json1_1.js +132 -1
  21. package/dist-cjs/runtimeConfig.browser.js +2 -3
  22. package/dist-cjs/runtimeConfig.js +3 -4
  23. package/dist-cjs/runtimeConfig.native.js +0 -1
  24. package/dist-cjs/runtimeConfig.shared.js +0 -1
  25. package/dist-es/Firehose.js +0 -1
  26. package/dist-es/FirehoseClient.js +0 -1
  27. package/dist-es/commands/CreateDeliveryStreamCommand.js +0 -1
  28. package/dist-es/commands/DeleteDeliveryStreamCommand.js +0 -1
  29. package/dist-es/commands/DescribeDeliveryStreamCommand.js +0 -1
  30. package/dist-es/commands/ListDeliveryStreamsCommand.js +0 -1
  31. package/dist-es/commands/ListTagsForDeliveryStreamCommand.js +0 -1
  32. package/dist-es/commands/PutRecordBatchCommand.js +0 -1
  33. package/dist-es/commands/PutRecordCommand.js +0 -1
  34. package/dist-es/commands/StartDeliveryStreamEncryptionCommand.js +0 -1
  35. package/dist-es/commands/StopDeliveryStreamEncryptionCommand.js +0 -1
  36. package/dist-es/commands/TagDeliveryStreamCommand.js +0 -1
  37. package/dist-es/commands/UntagDeliveryStreamCommand.js +0 -1
  38. package/dist-es/commands/UpdateDestinationCommand.js +0 -1
  39. package/dist-es/endpoints.js +0 -1
  40. package/dist-es/index.js +0 -1
  41. package/dist-es/models/index.js +0 -1
  42. package/dist-es/models/models_0.js +87 -55
  43. package/dist-es/protocols/Aws_json1_1.js +101 -3
  44. package/dist-es/runtimeConfig.browser.js +1 -2
  45. package/dist-es/runtimeConfig.js +2 -3
  46. package/dist-es/runtimeConfig.native.js +0 -1
  47. package/dist-es/runtimeConfig.shared.js +0 -1
  48. package/dist-types/models/models_0.d.ts +524 -397
  49. package/dist-types/ts3.4/models/models_0.d.ts +524 -397
  50. package/package.json +33 -30
  51. package/dist-cjs/Firehose.js.map +0 -1
  52. package/dist-cjs/FirehoseClient.js.map +0 -1
  53. package/dist-cjs/commands/CreateDeliveryStreamCommand.js.map +0 -1
  54. package/dist-cjs/commands/DeleteDeliveryStreamCommand.js.map +0 -1
  55. package/dist-cjs/commands/DescribeDeliveryStreamCommand.js.map +0 -1
  56. package/dist-cjs/commands/ListDeliveryStreamsCommand.js.map +0 -1
  57. package/dist-cjs/commands/ListTagsForDeliveryStreamCommand.js.map +0 -1
  58. package/dist-cjs/commands/PutRecordBatchCommand.js.map +0 -1
  59. package/dist-cjs/commands/PutRecordCommand.js.map +0 -1
  60. package/dist-cjs/commands/StartDeliveryStreamEncryptionCommand.js.map +0 -1
  61. package/dist-cjs/commands/StopDeliveryStreamEncryptionCommand.js.map +0 -1
  62. package/dist-cjs/commands/TagDeliveryStreamCommand.js.map +0 -1
  63. package/dist-cjs/commands/UntagDeliveryStreamCommand.js.map +0 -1
  64. package/dist-cjs/commands/UpdateDestinationCommand.js.map +0 -1
  65. package/dist-cjs/endpoints.js.map +0 -1
  66. package/dist-cjs/index.js.map +0 -1
  67. package/dist-cjs/models/index.js.map +0 -1
  68. package/dist-cjs/models/models_0.js.map +0 -1
  69. package/dist-cjs/protocols/Aws_json1_1.js.map +0 -1
  70. package/dist-cjs/runtimeConfig.browser.js.map +0 -1
  71. package/dist-cjs/runtimeConfig.js.map +0 -1
  72. package/dist-cjs/runtimeConfig.native.js.map +0 -1
  73. package/dist-cjs/runtimeConfig.shared.js.map +0 -1
  74. package/dist-es/Firehose.js.map +0 -1
  75. package/dist-es/FirehoseClient.js.map +0 -1
  76. package/dist-es/commands/CreateDeliveryStreamCommand.js.map +0 -1
  77. package/dist-es/commands/DeleteDeliveryStreamCommand.js.map +0 -1
  78. package/dist-es/commands/DescribeDeliveryStreamCommand.js.map +0 -1
  79. package/dist-es/commands/ListDeliveryStreamsCommand.js.map +0 -1
  80. package/dist-es/commands/ListTagsForDeliveryStreamCommand.js.map +0 -1
  81. package/dist-es/commands/PutRecordBatchCommand.js.map +0 -1
  82. package/dist-es/commands/PutRecordCommand.js.map +0 -1
  83. package/dist-es/commands/StartDeliveryStreamEncryptionCommand.js.map +0 -1
  84. package/dist-es/commands/StopDeliveryStreamEncryptionCommand.js.map +0 -1
  85. package/dist-es/commands/TagDeliveryStreamCommand.js.map +0 -1
  86. package/dist-es/commands/UntagDeliveryStreamCommand.js.map +0 -1
  87. package/dist-es/commands/UpdateDestinationCommand.js.map +0 -1
  88. package/dist-es/endpoints.js.map +0 -1
  89. package/dist-es/index.js.map +0 -1
  90. package/dist-es/models/index.js.map +0 -1
  91. package/dist-es/models/models_0.js.map +0 -1
  92. package/dist-es/protocols/Aws_json1_1.js.map +0 -1
  93. package/dist-es/runtimeConfig.browser.js.map +0 -1
  94. package/dist-es/runtimeConfig.js.map +0 -1
  95. package/dist-es/runtimeConfig.native.js.map +0 -1
  96. package/dist-es/runtimeConfig.shared.js.map +0 -1
  97. package/jest.config.js +0 -4
  98. package/src/Firehose.ts +0 -705
  99. package/src/FirehoseClient.ts +0 -299
  100. package/src/commands/CreateDeliveryStreamCommand.ts +0 -163
  101. package/src/commands/DeleteDeliveryStreamCommand.ts +0 -104
  102. package/src/commands/DescribeDeliveryStreamCommand.ts +0 -101
  103. package/src/commands/ListDeliveryStreamsCommand.ts +0 -102
  104. package/src/commands/ListTagsForDeliveryStreamCommand.ts +0 -99
  105. package/src/commands/PutRecordBatchCommand.ts +0 -145
  106. package/src/commands/PutRecordCommand.ts +0 -123
  107. package/src/commands/StartDeliveryStreamEncryptionCommand.ts +0 -135
  108. package/src/commands/StopDeliveryStreamEncryptionCommand.ts +0 -119
  109. package/src/commands/TagDeliveryStreamCommand.ts +0 -103
  110. package/src/commands/UntagDeliveryStreamCommand.ts +0 -98
  111. package/src/commands/UpdateDestinationCommand.ts +0 -118
  112. package/src/endpoints.ts +0 -86
  113. package/src/index.ts +0 -15
  114. package/src/models/index.ts +0 -1
  115. package/src/models/models_0.ts +0 -3952
  116. package/src/protocols/Aws_json1_1.ts +0 -3514
  117. package/src/runtimeConfig.browser.ts +0 -41
  118. package/src/runtimeConfig.native.ts +0 -17
  119. package/src/runtimeConfig.shared.ts +0 -17
  120. package/src/runtimeConfig.ts +0 -46
  121. package/tsconfig.es.json +0 -10
  122. package/tsconfig.json +0 -33
  123. package/tsconfig.types.json +0 -9
@@ -1,3952 +0,0 @@
1
- import { SENSITIVE_STRING } from "@aws-sdk/smithy-client";
2
- import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types";
3
-
4
- /**
5
- * <p>Describes hints for the buffering to perform before delivering data to the
6
- * destination. These options are treated as hints, and therefore Kinesis Data Firehose might
7
- * choose to use different values when it is optimal. The <code>SizeInMBs</code> and
8
- * <code>IntervalInSeconds</code> parameters are optional. However, if specify a value for
9
- * one of them, you must also provide a value for the other.</p>
10
- */
11
- export interface BufferingHints {
12
- /**
13
- * <p>Buffer incoming data to the specified size, in MiBs, before delivering it to the
14
- * destination. The default value is 5. This parameter is optional but if you specify a value
15
- * for it, you must also specify a value for <code>IntervalInSeconds</code>, and vice
16
- * versa.</p>
17
- * <p>We recommend setting this parameter to a value greater than the amount of data you
18
- * typically ingest into the delivery stream in 10 seconds. For example, if you typically
19
- * ingest data at 1 MiB/sec, the value should be 10 MiB or higher.</p>
20
- */
21
- SizeInMBs?: number;
22
-
23
- /**
24
- * <p>Buffer incoming data for the specified period of time, in seconds, before delivering
25
- * it to the destination. The default value is 300. This parameter is optional but if you
26
- * specify a value for it, you must also specify a value for <code>SizeInMBs</code>, and vice
27
- * versa.</p>
28
- */
29
- IntervalInSeconds?: number;
30
- }
31
-
32
- export namespace BufferingHints {
33
- /**
34
- * @internal
35
- */
36
- export const filterSensitiveLog = (obj: BufferingHints): any => ({
37
- ...obj,
38
- });
39
- }
40
-
41
- /**
42
- * <p>Describes the Amazon CloudWatch logging options for your delivery stream.</p>
43
- */
44
- export interface CloudWatchLoggingOptions {
45
- /**
46
- * <p>Enables or disables CloudWatch logging.</p>
47
- */
48
- Enabled?: boolean;
49
-
50
- /**
51
- * <p>The CloudWatch group name for logging. This value is required if CloudWatch logging
52
- * is enabled.</p>
53
- */
54
- LogGroupName?: string;
55
-
56
- /**
57
- * <p>The CloudWatch log stream name for logging. This value is required if CloudWatch
58
- * logging is enabled.</p>
59
- */
60
- LogStreamName?: string;
61
- }
62
-
63
- export namespace CloudWatchLoggingOptions {
64
- /**
65
- * @internal
66
- */
67
- export const filterSensitiveLog = (obj: CloudWatchLoggingOptions): any => ({
68
- ...obj,
69
- });
70
- }
71
-
72
- export enum CompressionFormat {
73
- GZIP = "GZIP",
74
- HADOOP_SNAPPY = "HADOOP_SNAPPY",
75
- SNAPPY = "Snappy",
76
- UNCOMPRESSED = "UNCOMPRESSED",
77
- ZIP = "ZIP",
78
- }
79
-
80
- /**
81
- * <p>Another modification has already happened. Fetch <code>VersionId</code> again and use
82
- * it to update the destination.</p>
83
- */
84
- export interface ConcurrentModificationException extends __SmithyException, $MetadataBearer {
85
- name: "ConcurrentModificationException";
86
- $fault: "client";
87
- /**
88
- * <p>A message that provides information about the error.</p>
89
- */
90
- message?: string;
91
- }
92
-
93
- export namespace ConcurrentModificationException {
94
- /**
95
- * @internal
96
- */
97
- export const filterSensitiveLog = (obj: ConcurrentModificationException): any => ({
98
- ...obj,
99
- });
100
- }
101
-
102
- export enum ContentEncoding {
103
- GZIP = "GZIP",
104
- NONE = "NONE",
105
- }
106
-
107
- /**
108
- * <p>Describes a <code>COPY</code> command for Amazon Redshift.</p>
109
- */
110
- export interface CopyCommand {
111
- /**
112
- * <p>The name of the target table. The table must already exist in the database.</p>
113
- */
114
- DataTableName: string | undefined;
115
-
116
- /**
117
- * <p>A comma-separated list of column names.</p>
118
- */
119
- DataTableColumns?: string;
120
-
121
- /**
122
- * <p>Optional parameters to use with the Amazon Redshift <code>COPY</code> command. For
123
- * more information, see the "Optional Parameters" section of <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html">Amazon Redshift COPY command</a>. Some possible
124
- * examples that would apply to Kinesis Data Firehose are as follows:</p>
125
- * <p>
126
- * <code>delimiter '\t' lzop;</code> - fields are delimited with "\t" (TAB character) and
127
- * compressed using lzop.</p>
128
- * <p>
129
- * <code>delimiter '|'</code> - fields are delimited with "|" (this is the default
130
- * delimiter).</p>
131
- * <p>
132
- * <code>delimiter '|' escape</code> - the delimiter should be escaped.</p>
133
- * <p>
134
- * <code>fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'</code> -
135
- * fields are fixed width in the source, with each width specified after every column in the
136
- * table.</p>
137
- * <p>
138
- * <code>JSON 's3://mybucket/jsonpaths.txt'</code> - data is in JSON format, and the path
139
- * specified is the format of the data.</p>
140
- * <p>For more examples, see <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html">Amazon Redshift COPY command
141
- * examples</a>.</p>
142
- */
143
- CopyOptions?: string;
144
- }
145
-
146
- export namespace CopyCommand {
147
- /**
148
- * @internal
149
- */
150
- export const filterSensitiveLog = (obj: CopyCommand): any => ({
151
- ...obj,
152
- });
153
- }
154
-
155
- export enum KeyType {
156
- AWS_OWNED_CMK = "AWS_OWNED_CMK",
157
- CUSTOMER_MANAGED_CMK = "CUSTOMER_MANAGED_CMK",
158
- }
159
-
160
- /**
161
- * <p>Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side
162
- * Encryption (SSE). </p>
163
- */
164
- export interface DeliveryStreamEncryptionConfigurationInput {
165
- /**
166
- * <p>If you set <code>KeyType</code> to <code>CUSTOMER_MANAGED_CMK</code>, you must specify
167
- * the Amazon Resource Name (ARN) of the CMK. If you set <code>KeyType</code> to
168
- * <code>AWS_OWNED_CMK</code>, Kinesis Data Firehose uses a service-account CMK.</p>
169
- */
170
- KeyARN?: string;
171
-
172
- /**
173
- * <p>Indicates the type of customer master key (CMK) to use for encryption. The default
174
- * setting is <code>AWS_OWNED_CMK</code>. For more information about CMKs, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys">Customer
175
- * Master Keys (CMKs)</a>. When you invoke <a>CreateDeliveryStream</a> or
176
- * <a>StartDeliveryStreamEncryption</a> with <code>KeyType</code> set to
177
- * CUSTOMER_MANAGED_CMK, Kinesis Data Firehose invokes the Amazon KMS operation <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html">CreateGrant</a> to create a grant that allows the Kinesis Data Firehose service to
178
- * use the customer managed CMK to perform encryption and decryption. Kinesis Data Firehose
179
- * manages that grant. </p>
180
- * <p>When you invoke <a>StartDeliveryStreamEncryption</a> to change the CMK for a
181
- * delivery stream that is encrypted with a customer managed CMK, Kinesis Data Firehose
182
- * schedules the grant it had on the old CMK for retirement.</p>
183
- * <p>You can use a CMK of type CUSTOMER_MANAGED_CMK to encrypt up to 500 delivery streams. If
184
- * a <a>CreateDeliveryStream</a> or <a>StartDeliveryStreamEncryption</a>
185
- * operation exceeds this limit, Kinesis Data Firehose throws a
186
- * <code>LimitExceededException</code>. </p>
187
- * <important>
188
- * <p>To encrypt your delivery stream, use symmetric CMKs. Kinesis Data Firehose doesn't
189
- * support asymmetric CMKs. For information about symmetric and asymmetric CMKs, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html">About
190
- * Symmetric and Asymmetric CMKs</a> in the AWS Key Management Service developer
191
- * guide.</p>
192
- * </important>
193
- */
194
- KeyType: KeyType | string | undefined;
195
- }
196
-
197
- export namespace DeliveryStreamEncryptionConfigurationInput {
198
- /**
199
- * @internal
200
- */
201
- export const filterSensitiveLog = (obj: DeliveryStreamEncryptionConfigurationInput): any => ({
202
- ...obj,
203
- });
204
- }
205
-
206
- export type DeliveryStreamType = "DirectPut" | "KinesisStreamAsSource";
207
-
208
- /**
209
- * <p>Describes the buffering to perform before delivering data to the Amazon ES
210
- * destination.</p>
211
- */
212
- export interface ElasticsearchBufferingHints {
213
- /**
214
- * <p>Buffer incoming data for the specified period of time, in seconds, before delivering
215
- * it to the destination. The default value is 300 (5 minutes).</p>
216
- */
217
- IntervalInSeconds?: number;
218
-
219
- /**
220
- * <p>Buffer incoming data to the specified size, in MBs, before delivering it to the
221
- * destination. The default value is 5.</p>
222
- * <p>We recommend setting this parameter to a value greater than the amount of data you
223
- * typically ingest into the delivery stream in 10 seconds. For example, if you typically
224
- * ingest data at 1 MB/sec, the value should be 10 MB or higher.</p>
225
- */
226
- SizeInMBs?: number;
227
- }
228
-
229
- export namespace ElasticsearchBufferingHints {
230
- /**
231
- * @internal
232
- */
233
- export const filterSensitiveLog = (obj: ElasticsearchBufferingHints): any => ({
234
- ...obj,
235
- });
236
- }
237
-
238
- export type ElasticsearchIndexRotationPeriod = "NoRotation" | "OneDay" | "OneHour" | "OneMonth" | "OneWeek";
239
-
240
- export enum ProcessorParameterName {
241
- BUFFER_INTERVAL_IN_SECONDS = "BufferIntervalInSeconds",
242
- BUFFER_SIZE_IN_MB = "BufferSizeInMBs",
243
- Delimiter = "Delimiter",
244
- JSON_PARSING_ENGINE = "JsonParsingEngine",
245
- LAMBDA_ARN = "LambdaArn",
246
- LAMBDA_NUMBER_OF_RETRIES = "NumberOfRetries",
247
- METADATA_EXTRACTION_QUERY = "MetadataExtractionQuery",
248
- ROLE_ARN = "RoleArn",
249
- SUB_RECORD_TYPE = "SubRecordType",
250
- }
251
-
252
- /**
253
- * <p>Describes the processor parameter.</p>
254
- */
255
- export interface ProcessorParameter {
256
- /**
257
- * <p>The name of the parameter.</p>
258
- */
259
- ParameterName: ProcessorParameterName | string | undefined;
260
-
261
- /**
262
- * <p>The parameter value.</p>
263
- */
264
- ParameterValue: string | undefined;
265
- }
266
-
267
- export namespace ProcessorParameter {
268
- /**
269
- * @internal
270
- */
271
- export const filterSensitiveLog = (obj: ProcessorParameter): any => ({
272
- ...obj,
273
- });
274
- }
275
-
276
- export type ProcessorType = "AppendDelimiterToRecord" | "Lambda" | "MetadataExtraction" | "RecordDeAggregation";
277
-
278
- /**
279
- * <p>Describes a data processor.</p>
280
- */
281
- export interface Processor {
282
- /**
283
- * <p>The type of processor.</p>
284
- */
285
- Type: ProcessorType | string | undefined;
286
-
287
- /**
288
- * <p>The processor parameters.</p>
289
- */
290
- Parameters?: ProcessorParameter[];
291
- }
292
-
293
- export namespace Processor {
294
- /**
295
- * @internal
296
- */
297
- export const filterSensitiveLog = (obj: Processor): any => ({
298
- ...obj,
299
- });
300
- }
301
-
302
- /**
303
- * <p>Describes a data processing configuration.</p>
304
- */
305
- export interface ProcessingConfiguration {
306
- /**
307
- * <p>Enables or disables data processing.</p>
308
- */
309
- Enabled?: boolean;
310
-
311
- /**
312
- * <p>The data processors.</p>
313
- */
314
- Processors?: Processor[];
315
- }
316
-
317
- export namespace ProcessingConfiguration {
318
- /**
319
- * @internal
320
- */
321
- export const filterSensitiveLog = (obj: ProcessingConfiguration): any => ({
322
- ...obj,
323
- });
324
- }
325
-
326
- /**
327
- * <p>Configures retry behavior in case Kinesis Data Firehose is unable to deliver
328
- * documents to Amazon ES.</p>
329
- */
330
- export interface ElasticsearchRetryOptions {
331
- /**
332
- * <p>After an initial failure to deliver to Amazon ES, the total amount of time during
333
- * which Kinesis Data Firehose retries delivery (including the first attempt). After this time
334
- * has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5
335
- * minutes). A value of 0 (zero) results in no retries.</p>
336
- */
337
- DurationInSeconds?: number;
338
- }
339
-
340
- export namespace ElasticsearchRetryOptions {
341
- /**
342
- * @internal
343
- */
344
- export const filterSensitiveLog = (obj: ElasticsearchRetryOptions): any => ({
345
- ...obj,
346
- });
347
- }
348
-
349
- export type ElasticsearchS3BackupMode = "AllDocuments" | "FailedDocumentsOnly";
350
-
351
- /**
352
- * <p>Describes an encryption key for a destination in Amazon S3.</p>
353
- */
354
- export interface KMSEncryptionConfig {
355
- /**
356
- * <p>The Amazon Resource Name (ARN) of the encryption key. Must belong to the same AWS
357
- * Region as the destination Amazon S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
358
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
359
- */
360
- AWSKMSKeyARN: string | undefined;
361
- }
362
-
363
- export namespace KMSEncryptionConfig {
364
- /**
365
- * @internal
366
- */
367
- export const filterSensitiveLog = (obj: KMSEncryptionConfig): any => ({
368
- ...obj,
369
- });
370
- }
371
-
372
- export type NoEncryptionConfig = "NoEncryption";
373
-
374
- /**
375
- * <p>Describes the encryption for a destination in Amazon S3.</p>
376
- */
377
- export interface EncryptionConfiguration {
378
- /**
379
- * <p>Specifically override existing encryption information to ensure that no encryption is
380
- * used.</p>
381
- */
382
- NoEncryptionConfig?: NoEncryptionConfig | string;
383
-
384
- /**
385
- * <p>The encryption key.</p>
386
- */
387
- KMSEncryptionConfig?: KMSEncryptionConfig;
388
- }
389
-
390
- export namespace EncryptionConfiguration {
391
- /**
392
- * @internal
393
- */
394
- export const filterSensitiveLog = (obj: EncryptionConfiguration): any => ({
395
- ...obj,
396
- });
397
- }
398
-
399
- /**
400
- * <p>Describes the configuration of a destination in Amazon S3.</p>
401
- */
402
- export interface S3DestinationConfiguration {
403
- /**
404
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
405
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
406
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
407
- */
408
- RoleARN: string | undefined;
409
-
410
- /**
411
- * <p>The ARN of the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
412
- * AWS Service Namespaces</a>.</p>
413
- */
414
- BucketARN: string | undefined;
415
-
416
- /**
417
- * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3
418
- * files. You can also specify a custom prefix, as described in <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
419
- * Objects</a>.</p>
420
- */
421
- Prefix?: string;
422
-
423
- /**
424
- * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing
425
- * them to S3. This prefix appears immediately following the bucket name. For information
426
- * about how to specify this prefix, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
427
- * Objects</a>.</p>
428
- */
429
- ErrorOutputPrefix?: string;
430
-
431
- /**
432
- * <p>The buffering option. If no value is specified, <code>BufferingHints</code> object
433
- * default values are used.</p>
434
- */
435
- BufferingHints?: BufferingHints;
436
-
437
- /**
438
- * <p>The compression format. If no value is specified, the default is
439
- * <code>UNCOMPRESSED</code>.</p>
440
- * <p>The compression formats <code>SNAPPY</code> or <code>ZIP</code> cannot be specified
441
- * for Amazon Redshift destinations because they are not supported by the Amazon Redshift
442
- * <code>COPY</code> operation that reads from the S3 bucket.</p>
443
- */
444
- CompressionFormat?: CompressionFormat | string;
445
-
446
- /**
447
- * <p>The encryption configuration. If no value is specified, the default is no
448
- * encryption.</p>
449
- */
450
- EncryptionConfiguration?: EncryptionConfiguration;
451
-
452
- /**
453
- * <p>The CloudWatch logging options for your delivery stream.</p>
454
- */
455
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
456
- }
457
-
458
- export namespace S3DestinationConfiguration {
459
- /**
460
- * @internal
461
- */
462
- export const filterSensitiveLog = (obj: S3DestinationConfiguration): any => ({
463
- ...obj,
464
- });
465
- }
466
-
467
- /**
468
- * <p>The details of the VPC of the Amazon ES destination.</p>
469
- */
470
- export interface VpcConfiguration {
471
- /**
472
- * <p>The IDs of the subnets that you want Kinesis Data Firehose to use to create ENIs in the
473
- * VPC of the Amazon ES destination. Make sure that the routing tables and inbound and
474
- * outbound rules allow traffic to flow from the subnets whose IDs are specified here to the
475
- * subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at
476
- * least one ENI in each of the subnets that are specified here. Do not delete or modify these
477
- * ENIs.</p>
478
- * <p>The number of ENIs that Kinesis Data Firehose creates in the subnets specified here
479
- * scales up and down automatically based on throughput. To enable Kinesis Data Firehose to
480
- * scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To
481
- * help you calculate the quota you need, assume that Kinesis Data Firehose can create up to
482
- * three ENIs for this delivery stream for each of the subnets specified here. For more
483
- * information about ENI quota, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis">Network Interfaces
484
- * </a> in the Amazon VPC Quotas topic.</p>
485
- */
486
- SubnetIds: string[] | undefined;
487
-
488
- /**
489
- * <p>The ARN of the IAM role that you want the delivery stream to use to create endpoints in
490
- * the destination VPC. You can use your existing Kinesis Data Firehose delivery role or you
491
- * can specify a new role. In either case, make sure that the role trusts the Kinesis Data
492
- * Firehose service principal and that it grants the following permissions:</p>
493
- * <ul>
494
- * <li>
495
- * <p>
496
- * <code>ec2:DescribeVpcs</code>
497
- * </p>
498
- * </li>
499
- * <li>
500
- * <p>
501
- * <code>ec2:DescribeVpcAttribute</code>
502
- * </p>
503
- * </li>
504
- * <li>
505
- * <p>
506
- * <code>ec2:DescribeSubnets</code>
507
- * </p>
508
- * </li>
509
- * <li>
510
- * <p>
511
- * <code>ec2:DescribeSecurityGroups</code>
512
- * </p>
513
- * </li>
514
- * <li>
515
- * <p>
516
- * <code>ec2:DescribeNetworkInterfaces</code>
517
- * </p>
518
- * </li>
519
- * <li>
520
- * <p>
521
- * <code>ec2:CreateNetworkInterface</code>
522
- * </p>
523
- * </li>
524
- * <li>
525
- * <p>
526
- * <code>ec2:CreateNetworkInterfacePermission</code>
527
- * </p>
528
- * </li>
529
- * <li>
530
- * <p>
531
- * <code>ec2:DeleteNetworkInterface</code>
532
- * </p>
533
- * </li>
534
- * </ul>
535
- * <p>If you revoke these permissions after you create the delivery stream, Kinesis Data
536
- * Firehose can't scale out by creating more ENIs when necessary. You might therefore see a
537
- * degradation in performance.</p>
538
- */
539
- RoleARN: string | undefined;
540
-
541
- /**
542
- * <p>The IDs of the security groups that you want Kinesis Data Firehose to use when it
543
- * creates ENIs in the VPC of the Amazon ES destination. You can use the same security group
544
- * that the Amazon ES domain uses or different ones. If you specify different security groups
545
- * here, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security
546
- * group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the
547
- * security groups specified here. If you use the same security group for both your delivery
548
- * stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS
549
- * traffic. For more information about security group rules, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules">Security group
550
- * rules</a> in the Amazon VPC documentation.</p>
551
- */
552
- SecurityGroupIds: string[] | undefined;
553
- }
554
-
555
- export namespace VpcConfiguration {
556
- /**
557
- * @internal
558
- */
559
- export const filterSensitiveLog = (obj: VpcConfiguration): any => ({
560
- ...obj,
561
- });
562
- }
563
-
564
- /**
565
- * <p>Describes the configuration of a destination in Amazon ES.</p>
566
- */
567
- export interface ElasticsearchDestinationConfiguration {
568
- /**
569
- * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose
570
- * for calling the Amazon ES Configuration API and for indexing documents. For more
571
- * information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant Kinesis Data
572
- * Firehose Access to an Amazon S3 Destination</a> and <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
573
- * AWS Service Namespaces</a>.</p>
574
- */
575
- RoleARN: string | undefined;
576
-
577
- /**
578
- * <p>The ARN of the Amazon ES domain. The IAM role must have permissions
579
- * for <code>DescribeElasticsearchDomain</code>, <code>DescribeElasticsearchDomains</code>,
580
- * and <code>DescribeElasticsearchDomainConfig</code> after assuming the role specified in
581
- * <b>RoleARN</b>. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
582
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
583
- *
584
- * <p>Specify either <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p>
585
- */
586
- DomainARN?: string;
587
-
588
- /**
589
- * <p>The endpoint to use when communicating with the cluster. Specify either this
590
- * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p>
591
- */
592
- ClusterEndpoint?: string;
593
-
594
- /**
595
- * <p>The Elasticsearch index name.</p>
596
- */
597
- IndexName: string | undefined;
598
-
599
- /**
600
- * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per
601
- * index. If you try to specify a new type for an existing index that already has another
602
- * type, Kinesis Data Firehose returns an error during run time.</p>
603
- *
604
- * <p>For Elasticsearch 7.x, don't specify a <code>TypeName</code>.</p>
605
- */
606
- TypeName?: string;
607
-
608
- /**
609
- * <p>The Elasticsearch index rotation period. Index rotation appends a timestamp to the
610
- * <code>IndexName</code> to facilitate the expiration of old data. For more information,
611
- * see <a href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation">Index Rotation for the
612
- * Amazon ES Destination</a>. The default value is <code>OneDay</code>.</p>
613
- */
614
- IndexRotationPeriod?: ElasticsearchIndexRotationPeriod | string;
615
-
616
- /**
617
- * <p>The buffering options. If no value is specified, the default values for
618
- * <code>ElasticsearchBufferingHints</code> are used.</p>
619
- */
620
- BufferingHints?: ElasticsearchBufferingHints;
621
-
622
- /**
623
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver documents to
624
- * Amazon ES. The default value is 300 (5 minutes).</p>
625
- */
626
- RetryOptions?: ElasticsearchRetryOptions;
627
-
628
- /**
629
- * <p>Defines how documents should be delivered to Amazon S3. When it is set to
630
- * <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any documents that could
631
- * not be indexed to the configured Amazon S3 destination, with
632
- * <code>elasticsearch-failed/</code> appended to the key prefix. When set to
633
- * <code>AllDocuments</code>, Kinesis Data Firehose delivers all incoming records to Amazon
634
- * S3, and also writes failed documents with <code>elasticsearch-failed/</code> appended to
635
- * the prefix. For more information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup">Amazon S3 Backup for the
636
- * Amazon ES Destination</a>. Default value is
637
- * <code>FailedDocumentsOnly</code>.</p>
638
- * <p>You can't change this backup mode after you create the delivery stream. </p>
639
- */
640
- S3BackupMode?: ElasticsearchS3BackupMode | string;
641
-
642
- /**
643
- * <p>The configuration for the backup Amazon S3 location.</p>
644
- */
645
- S3Configuration: S3DestinationConfiguration | undefined;
646
-
647
- /**
648
- * <p>The data processing configuration.</p>
649
- */
650
- ProcessingConfiguration?: ProcessingConfiguration;
651
-
652
- /**
653
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
654
- */
655
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
656
-
657
- /**
658
- * <p>The details of the VPC of the Amazon ES destination.</p>
659
- */
660
- VpcConfiguration?: VpcConfiguration;
661
- }
662
-
663
- export namespace ElasticsearchDestinationConfiguration {
664
- /**
665
- * @internal
666
- */
667
- export const filterSensitiveLog = (obj: ElasticsearchDestinationConfiguration): any => ({
668
- ...obj,
669
- });
670
- }
671
-
672
- /**
673
- * <p>The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing
674
- * data, which means converting it from the JSON format in preparation for serializing it to
675
- * the Parquet or ORC format. This is one of two deserializers you can choose, depending on
676
- * which one offers the functionality you need. The other option is the OpenX SerDe.</p>
677
- */
678
- export interface HiveJsonSerDe {
679
- /**
680
- * <p>Indicates how you want Kinesis Data Firehose to parse the date and timestamps that
681
- * may be present in your input data JSON. To specify these format strings, follow the pattern
682
- * syntax of JodaTime's DateTimeFormat format strings. For more information, see <a href="https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html">Class DateTimeFormat</a>. You can also use the special value <code>millis</code> to
683
- * parse timestamps in epoch milliseconds. If you don't specify a format, Kinesis Data
684
- * Firehose uses <code>java.sql.Timestamp::valueOf</code> by default.</p>
685
- */
686
- TimestampFormats?: string[];
687
- }
688
-
689
- export namespace HiveJsonSerDe {
690
- /**
691
- * @internal
692
- */
693
- export const filterSensitiveLog = (obj: HiveJsonSerDe): any => ({
694
- ...obj,
695
- });
696
- }
697
-
698
- /**
699
- * <p>The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means
700
- * converting it from the JSON format in preparation for serializing it to the Parquet or ORC
701
- * format. This is one of two deserializers you can choose, depending on which one offers the
702
- * functionality you need. The other option is the native Hive / HCatalog JsonSerDe.</p>
703
- */
704
- export interface OpenXJsonSerDe {
705
- /**
706
- * <p>When set to <code>true</code>, specifies that the names of the keys include dots and
707
- * that you want Kinesis Data Firehose to replace them with underscores. This is useful
708
- * because Apache Hive does not allow dots in column names. For example, if the JSON contains
709
- * a key whose name is "a.b", you can define the column name to be "a_b" when using this
710
- * option.</p>
711
- * <p>The default is <code>false</code>.</p>
712
- */
713
- ConvertDotsInJsonKeysToUnderscores?: boolean;
714
-
715
- /**
716
- * <p>When set to <code>true</code>, which is the default, Kinesis Data Firehose converts
717
- * JSON keys to lowercase before deserializing them.</p>
718
- */
719
- CaseInsensitive?: boolean;
720
-
721
- /**
722
- * <p>Maps column names to JSON keys that aren't identical to the column names. This is
723
- * useful when the JSON contains keys that are Hive keywords. For example,
724
- * <code>timestamp</code> is a Hive keyword. If you have a JSON key named
725
- * <code>timestamp</code>, set this parameter to <code>{"ts": "timestamp"}</code> to map
726
- * this key to a column named <code>ts</code>.</p>
727
- */
728
- ColumnToJsonKeyMappings?: { [key: string]: string };
729
- }
730
-
731
- export namespace OpenXJsonSerDe {
732
- /**
733
- * @internal
734
- */
735
- export const filterSensitiveLog = (obj: OpenXJsonSerDe): any => ({
736
- ...obj,
737
- });
738
- }
739
-
740
- /**
741
- * <p>The deserializer you want Kinesis Data Firehose to use for converting the input data
742
- * from JSON. Kinesis Data Firehose then serializes the data to its final format using the
743
- * <a>Serializer</a>. Kinesis Data Firehose supports two types of deserializers:
744
- * the <a href="https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-JSON">Apache Hive JSON SerDe</a> and the <a href="https://github.com/rcongiu/Hive-JSON-Serde">OpenX JSON SerDe</a>.</p>
745
- */
746
- export interface Deserializer {
747
- /**
748
- * <p>The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means
749
- * converting it from the JSON format in preparation for serializing it to the Parquet or ORC
750
- * format. This is one of two deserializers you can choose, depending on which one offers the
751
- * functionality you need. The other option is the native Hive / HCatalog JsonSerDe.</p>
752
- */
753
- OpenXJsonSerDe?: OpenXJsonSerDe;
754
-
755
- /**
756
- * <p>The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing
757
- * data, which means converting it from the JSON format in preparation for serializing it to
758
- * the Parquet or ORC format. This is one of two deserializers you can choose, depending on
759
- * which one offers the functionality you need. The other option is the OpenX SerDe.</p>
760
- */
761
- HiveJsonSerDe?: HiveJsonSerDe;
762
- }
763
-
764
- export namespace Deserializer {
765
- /**
766
- * @internal
767
- */
768
- export const filterSensitiveLog = (obj: Deserializer): any => ({
769
- ...obj,
770
- });
771
- }
772
-
773
- /**
774
- * <p>Specifies the deserializer you want to use to convert the format of the input data.
775
- * This parameter is required if <code>Enabled</code> is set to true.</p>
776
- */
777
- export interface InputFormatConfiguration {
778
- /**
779
- * <p>Specifies which deserializer to use. You can choose either the Apache Hive JSON SerDe
780
- * or the OpenX JSON SerDe. If both are non-null, the server rejects the request.</p>
781
- */
782
- Deserializer?: Deserializer;
783
- }
784
-
785
- export namespace InputFormatConfiguration {
786
- /**
787
- * @internal
788
- */
789
- export const filterSensitiveLog = (obj: InputFormatConfiguration): any => ({
790
- ...obj,
791
- });
792
- }
793
-
794
- export enum OrcCompression {
795
- NONE = "NONE",
796
- SNAPPY = "SNAPPY",
797
- ZLIB = "ZLIB",
798
- }
799
-
800
- export enum OrcFormatVersion {
801
- V0_11 = "V0_11",
802
- V0_12 = "V0_12",
803
- }
804
-
805
- /**
806
- * <p>A serializer to use for converting data to the ORC format before storing it in Amazon
807
- * S3. For more information, see <a href="https://orc.apache.org/docs/">Apache
808
- * ORC</a>.</p>
809
- */
810
- export interface OrcSerDe {
811
- /**
812
- * <p>The number of bytes in each stripe. The default is 64 MiB and the minimum is 8
813
- * MiB.</p>
814
- */
815
- StripeSizeBytes?: number;
816
-
817
- /**
818
- * <p>The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to
819
- * copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the
820
- * minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations.</p>
821
- */
822
- BlockSizeBytes?: number;
823
-
824
- /**
825
- * <p>The number of rows between index entries. The default is 10,000 and the minimum is
826
- * 1,000.</p>
827
- */
828
- RowIndexStride?: number;
829
-
830
- /**
831
- * <p>Set this to <code>true</code> to indicate that you want stripes to be padded to the HDFS
832
- * block boundaries. This is useful if you intend to copy the data from Amazon S3 to HDFS
833
- * before querying. The default is <code>false</code>.</p>
834
- */
835
- EnablePadding?: boolean;
836
-
837
- /**
838
- * <p>A number between 0 and 1 that defines the tolerance for block padding as a decimal
839
- * fraction of stripe size. The default value is 0.05, which means 5 percent of stripe
840
- * size.</p>
841
- * <p>For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block
842
- * padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB
843
- * block. In such a case, if the available size within the block is more than 3.2 MiB, a new,
844
- * smaller stripe is inserted to fit within that space. This ensures that no stripe crosses
845
- * block boundaries and causes remote reads within a node-local task.</p>
846
- * <p>Kinesis Data Firehose ignores this parameter when <a>OrcSerDe$EnablePadding</a> is <code>false</code>.</p>
847
- */
848
- PaddingTolerance?: number;
849
-
850
- /**
851
- * <p>The compression code to use over data blocks. The default is <code>SNAPPY</code>.</p>
852
- */
853
- Compression?: OrcCompression | string;
854
-
855
- /**
856
- * <p>The column names for which you want Kinesis Data Firehose to create bloom filters. The
857
- * default is <code>null</code>.</p>
858
- */
859
- BloomFilterColumns?: string[];
860
-
861
- /**
862
- * <p>The Bloom filter false positive probability (FPP). The lower the FPP, the bigger the
863
- * Bloom filter. The default value is 0.05, the minimum is 0, and the maximum is 1.</p>
864
- */
865
- BloomFilterFalsePositiveProbability?: number;
866
-
867
- /**
868
- * <p>Represents the fraction of the total number of non-null rows. To turn off dictionary
869
- * encoding, set this fraction to a number that is less than the number of distinct keys in a
870
- * dictionary. To always use dictionary encoding, set this threshold to 1.</p>
871
- */
872
- DictionaryKeyThreshold?: number;
873
-
874
- /**
875
- * <p>The version of the file to write. The possible values are <code>V0_11</code> and
876
- * <code>V0_12</code>. The default is <code>V0_12</code>.</p>
877
- */
878
- FormatVersion?: OrcFormatVersion | string;
879
- }
880
-
881
- export namespace OrcSerDe {
882
- /**
883
- * @internal
884
- */
885
- export const filterSensitiveLog = (obj: OrcSerDe): any => ({
886
- ...obj,
887
- });
888
- }
889
-
890
- export enum ParquetCompression {
891
- GZIP = "GZIP",
892
- SNAPPY = "SNAPPY",
893
- UNCOMPRESSED = "UNCOMPRESSED",
894
- }
895
-
896
- export enum ParquetWriterVersion {
897
- V1 = "V1",
898
- V2 = "V2",
899
- }
900
-
901
- /**
902
- * <p>A serializer to use for converting data to the Parquet format before storing it in
903
- * Amazon S3. For more information, see <a href="https://parquet.apache.org/documentation/latest/">Apache Parquet</a>.</p>
904
- */
905
- export interface ParquetSerDe {
906
- /**
907
- * <p>The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to
908
- * copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the
909
- * minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations.</p>
910
- */
911
- BlockSizeBytes?: number;
912
-
913
- /**
914
- * <p>The Parquet page size. Column chunks are divided into pages. A page is conceptually an
915
- * indivisible unit (in terms of compression and encoding). The minimum value is 64 KiB and
916
- * the default is 1 MiB.</p>
917
- */
918
- PageSizeBytes?: number;
919
-
920
- /**
921
- * <p>The compression code to use over data blocks. The possible values are
922
- * <code>UNCOMPRESSED</code>, <code>SNAPPY</code>, and <code>GZIP</code>, with the default
923
- * being <code>SNAPPY</code>. Use <code>SNAPPY</code> for higher decompression speed. Use
924
- * <code>GZIP</code> if the compression ratio is more important than speed.</p>
925
- */
926
- Compression?: ParquetCompression | string;
927
-
928
- /**
929
- * <p>Indicates whether to enable dictionary compression.</p>
930
- */
931
- EnableDictionaryCompression?: boolean;
932
-
933
- /**
934
- * <p>The maximum amount of padding to apply. This is useful if you intend to copy the data
935
- * from Amazon S3 to HDFS before querying. The default is 0.</p>
936
- */
937
- MaxPaddingBytes?: number;
938
-
939
- /**
940
- * <p>Indicates the version of row format to output. The possible values are <code>V1</code>
941
- * and <code>V2</code>. The default is <code>V1</code>.</p>
942
- */
943
- WriterVersion?: ParquetWriterVersion | string;
944
- }
945
-
946
- export namespace ParquetSerDe {
947
- /**
948
- * @internal
949
- */
950
- export const filterSensitiveLog = (obj: ParquetSerDe): any => ({
951
- ...obj,
952
- });
953
- }
954
-
955
- /**
956
- * <p>The serializer that you want Kinesis Data Firehose to use to convert data to the target
957
- * format before writing it to Amazon S3. Kinesis Data Firehose supports two types of
958
- * serializers: the <a href="https://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/ql/io/orc/OrcSerde.html">ORC SerDe</a> and the <a href="https://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.html">Parquet SerDe</a>.</p>
959
- */
960
- export interface Serializer {
961
- /**
962
- * <p>A serializer to use for converting data to the Parquet format before storing it in
963
- * Amazon S3. For more information, see <a href="https://parquet.apache.org/documentation/latest/">Apache Parquet</a>.</p>
964
- */
965
- ParquetSerDe?: ParquetSerDe;
966
-
967
- /**
968
- * <p>A serializer to use for converting data to the ORC format before storing it in Amazon
969
- * S3. For more information, see <a href="https://orc.apache.org/docs/">Apache
970
- * ORC</a>.</p>
971
- */
972
- OrcSerDe?: OrcSerDe;
973
- }
974
-
975
- export namespace Serializer {
976
- /**
977
- * @internal
978
- */
979
- export const filterSensitiveLog = (obj: Serializer): any => ({
980
- ...obj,
981
- });
982
- }
983
-
984
- /**
985
- * <p>Specifies the serializer that you want Kinesis Data Firehose to use to convert the
986
- * format of your data before it writes it to Amazon S3. This parameter is required if
987
- * <code>Enabled</code> is set to true.</p>
988
- */
989
- export interface OutputFormatConfiguration {
990
- /**
991
- * <p>Specifies which serializer to use. You can choose either the ORC SerDe or the Parquet
992
- * SerDe. If both are non-null, the server rejects the request.</p>
993
- */
994
- Serializer?: Serializer;
995
- }
996
-
997
- export namespace OutputFormatConfiguration {
998
- /**
999
- * @internal
1000
- */
1001
- export const filterSensitiveLog = (obj: OutputFormatConfiguration): any => ({
1002
- ...obj,
1003
- });
1004
- }
1005
-
1006
- /**
1007
- * <p>Specifies the schema to which you want Kinesis Data Firehose to configure your data
1008
- * before it writes it to Amazon S3. This parameter is required if <code>Enabled</code> is set
1009
- * to true.</p>
1010
- */
1011
- export interface SchemaConfiguration {
1012
- /**
1013
- * <p>The role that Kinesis Data Firehose can use to access AWS Glue. This role must be in
1014
- * the same account you use for Kinesis Data Firehose. Cross-account roles aren't
1015
- * allowed.</p>
1016
- * <important>
1017
- * <p>If the <code>SchemaConfiguration</code> request parameter is used as part of invoking
1018
- * the <code>CreateDeliveryStream</code> API, then the <code>RoleARN</code> property is
1019
- * required and its value must be specified.</p>
1020
- * </important>
1021
- */
1022
- RoleARN?: string;
1023
-
1024
- /**
1025
- * <p>The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account ID is
1026
- * used by default.</p>
1027
- */
1028
- CatalogId?: string;
1029
-
1030
- /**
1031
- * <p>Specifies the name of the AWS Glue database that contains the schema for the output
1032
- * data.</p>
1033
- * <important>
1034
- * <p>If the <code>SchemaConfiguration</code> request parameter is used as part of invoking
1035
- * the <code>CreateDeliveryStream</code> API, then the <code>DatabaseName</code> property
1036
- * is required and its value must be specified.</p>
1037
- * </important>
1038
- */
1039
- DatabaseName?: string;
1040
-
1041
- /**
1042
- * <p>Specifies the AWS Glue table that contains the column information that constitutes your
1043
- * data schema.</p>
1044
- * <important>
1045
- * <p>If the <code>SchemaConfiguration</code> request parameter is used as part of invoking
1046
- * the <code>CreateDeliveryStream</code> API, then the <code>TableName</code> property is
1047
- * required and its value must be specified.</p>
1048
- * </important>
1049
- */
1050
- TableName?: string;
1051
-
1052
- /**
1053
- * <p>If you don't specify an AWS Region, the default is the current Region.</p>
1054
- */
1055
- Region?: string;
1056
-
1057
- /**
1058
- * <p>Specifies the table version for the output data schema. If you don't specify this
1059
- * version ID, or if you set it to <code>LATEST</code>, Kinesis Data Firehose uses the most
1060
- * recent version. This means that any updates to the table are automatically picked
1061
- * up.</p>
1062
- */
1063
- VersionId?: string;
1064
- }
1065
-
1066
- export namespace SchemaConfiguration {
1067
- /**
1068
- * @internal
1069
- */
1070
- export const filterSensitiveLog = (obj: SchemaConfiguration): any => ({
1071
- ...obj,
1072
- });
1073
- }
1074
-
1075
- /**
1076
- * <p>Specifies that you want Kinesis Data Firehose to convert data from the JSON format to
1077
- * the Parquet or ORC format before writing it to Amazon S3. Kinesis Data Firehose uses the
1078
- * serializer and deserializer that you specify, in addition to the column information from
1079
- * the AWS Glue table, to deserialize your input data from JSON and then serialize it to the
1080
- * Parquet or ORC format. For more information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html">Kinesis Data Firehose Record
1081
- * Format Conversion</a>.</p>
1082
- */
1083
- export interface DataFormatConversionConfiguration {
1084
- /**
1085
- * <p>Specifies the AWS Glue Data Catalog table that contains the column information. This
1086
- * parameter is required if <code>Enabled</code> is set to true.</p>
1087
- */
1088
- SchemaConfiguration?: SchemaConfiguration;
1089
-
1090
- /**
1091
- * <p>Specifies the deserializer that you want Kinesis Data Firehose to use to convert the
1092
- * format of your data from JSON. This parameter is required if <code>Enabled</code> is set to
1093
- * true.</p>
1094
- */
1095
- InputFormatConfiguration?: InputFormatConfiguration;
1096
-
1097
- /**
1098
- * <p>Specifies the serializer that you want Kinesis Data Firehose to use to convert the
1099
- * format of your data to the Parquet or ORC format. This parameter is required if
1100
- * <code>Enabled</code> is set to true.</p>
1101
- */
1102
- OutputFormatConfiguration?: OutputFormatConfiguration;
1103
-
1104
- /**
1105
- * <p>Defaults to <code>true</code>. Set it to <code>false</code> if you want to disable
1106
- * format conversion while preserving the configuration details.</p>
1107
- */
1108
- Enabled?: boolean;
1109
- }
1110
-
1111
- export namespace DataFormatConversionConfiguration {
1112
- /**
1113
- * @internal
1114
- */
1115
- export const filterSensitiveLog = (obj: DataFormatConversionConfiguration): any => ({
1116
- ...obj,
1117
- });
1118
- }
1119
-
1120
- /**
1121
- * <p> The retry behavior in case Kinesis Data Firehose is unable to deliver data to an Amazon
1122
- * S3 prefix.</p>
1123
- */
1124
- export interface RetryOptions {
1125
- /**
1126
- * <p>The period of time during which Kinesis Data Firehose retries to deliver data to the
1127
- * specified Amazon S3 prefix.</p>
1128
- */
1129
- DurationInSeconds?: number;
1130
- }
1131
-
1132
- export namespace RetryOptions {
1133
- /**
1134
- * @internal
1135
- */
1136
- export const filterSensitiveLog = (obj: RetryOptions): any => ({
1137
- ...obj,
1138
- });
1139
- }
1140
-
1141
- /**
1142
- * <p>The configuration of the dynamic partitioning mechanism that creates smaller data sets
1143
- * from the streaming data by partitioning it based on partition keys. Currently, dynamic
1144
- * partitioning is only supported for Amazon S3 destinations. For more information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a>
1145
- * </p>
1146
- */
1147
- export interface DynamicPartitioningConfiguration {
1148
- /**
1149
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver data to an Amazon
1150
- * S3 prefix.</p>
1151
- */
1152
- RetryOptions?: RetryOptions;
1153
-
1154
- /**
1155
- * <p>Specifies that the dynamic partitioning is enabled for this Kinesis Data Firehose
1156
- * delivery stream.</p>
1157
- */
1158
- Enabled?: boolean;
1159
- }
1160
-
1161
- export namespace DynamicPartitioningConfiguration {
1162
- /**
1163
- * @internal
1164
- */
1165
- export const filterSensitiveLog = (obj: DynamicPartitioningConfiguration): any => ({
1166
- ...obj,
1167
- });
1168
- }
1169
-
1170
- export type S3BackupMode = "Disabled" | "Enabled";
1171
-
1172
- /**
1173
- * <p>Describes the configuration of a destination in Amazon S3.</p>
1174
- */
1175
- export interface ExtendedS3DestinationConfiguration {
1176
- /**
1177
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
1178
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
1179
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
1180
- */
1181
- RoleARN: string | undefined;
1182
-
1183
- /**
1184
- * <p>The ARN of the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
1185
- * AWS Service Namespaces</a>.</p>
1186
- */
1187
- BucketARN: string | undefined;
1188
-
1189
- /**
1190
- * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3
1191
- * files. You can also specify a custom prefix, as described in <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
1192
- * Objects</a>.</p>
1193
- */
1194
- Prefix?: string;
1195
-
1196
- /**
1197
- * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing
1198
- * them to S3. This prefix appears immediately following the bucket name. For information
1199
- * about how to specify this prefix, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
1200
- * Objects</a>.</p>
1201
- */
1202
- ErrorOutputPrefix?: string;
1203
-
1204
- /**
1205
- * <p>The buffering option.</p>
1206
- */
1207
- BufferingHints?: BufferingHints;
1208
-
1209
- /**
1210
- * <p>The compression format. If no value is specified, the default is
1211
- * UNCOMPRESSED.</p>
1212
- */
1213
- CompressionFormat?: CompressionFormat | string;
1214
-
1215
- /**
1216
- * <p>The encryption configuration. If no value is specified, the default is no
1217
- * encryption.</p>
1218
- */
1219
- EncryptionConfiguration?: EncryptionConfiguration;
1220
-
1221
- /**
1222
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
1223
- */
1224
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
1225
-
1226
- /**
1227
- * <p>The data processing configuration.</p>
1228
- */
1229
- ProcessingConfiguration?: ProcessingConfiguration;
1230
-
1231
- /**
1232
- * <p>The Amazon S3 backup mode. After you create a delivery stream, you can update it to
1233
- * enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the
1234
- * delivery stream to disable it. </p>
1235
- */
1236
- S3BackupMode?: S3BackupMode | string;
1237
-
1238
- /**
1239
- * <p>The configuration for backup in Amazon S3.</p>
1240
- */
1241
- S3BackupConfiguration?: S3DestinationConfiguration;
1242
-
1243
- /**
1244
- * <p>The serializer, deserializer, and schema for converting data from the JSON format to
1245
- * the Parquet or ORC format before writing it to Amazon S3.</p>
1246
- */
1247
- DataFormatConversionConfiguration?: DataFormatConversionConfiguration;
1248
-
1249
- /**
1250
- * <p>The configuration of the dynamic partitioning mechanism that creates smaller data sets
1251
- * from the streaming data by partitioning it based on partition keys. Currently, dynamic
1252
- * partitioning is only supported for Amazon S3 destinations. For more information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a>
1253
- * </p>
1254
- */
1255
- DynamicPartitioningConfiguration?: DynamicPartitioningConfiguration;
1256
- }
1257
-
1258
- export namespace ExtendedS3DestinationConfiguration {
1259
- /**
1260
- * @internal
1261
- */
1262
- export const filterSensitiveLog = (obj: ExtendedS3DestinationConfiguration): any => ({
1263
- ...obj,
1264
- });
1265
- }
1266
-
1267
- /**
1268
- * <p>Describes the buffering options that can be applied before data is delivered to the HTTP
1269
- * endpoint destination. Kinesis Data Firehose treats these options as hints, and it might
1270
- * choose to use more optimal values. The <code>SizeInMBs</code> and
1271
- * <code>IntervalInSeconds</code> parameters are optional. However, if specify a value for
1272
- * one of them, you must also provide a value for the other. </p>
1273
- */
1274
- export interface HttpEndpointBufferingHints {
1275
- /**
1276
- * <p>Buffer incoming data to the specified size, in MBs, before delivering it to the
1277
- * destination. The default value is 5. </p>
1278
- * <p>We recommend setting this parameter to a value greater than the amount of data you
1279
- * typically ingest into the delivery stream in 10 seconds. For example, if you typically
1280
- * ingest data at 1 MB/sec, the value should be 10 MB or higher. </p>
1281
- */
1282
- SizeInMBs?: number;
1283
-
1284
- /**
1285
- * <p>Buffer incoming data for the specified period of time, in seconds, before delivering it
1286
- * to the destination. The default value is 300 (5 minutes). </p>
1287
- */
1288
- IntervalInSeconds?: number;
1289
- }
1290
-
1291
- export namespace HttpEndpointBufferingHints {
1292
- /**
1293
- * @internal
1294
- */
1295
- export const filterSensitiveLog = (obj: HttpEndpointBufferingHints): any => ({
1296
- ...obj,
1297
- });
1298
- }
1299
-
1300
- /**
1301
- * <p>Describes the configuration of the HTTP endpoint to which Kinesis Firehose delivers
1302
- * data.</p>
1303
- */
1304
- export interface HttpEndpointConfiguration {
1305
- /**
1306
- * <p>The URL of the HTTP endpoint selected as the destination.</p>
1307
- * <important>
1308
- * <p>If you choose an HTTP endpoint as your destination, review and follow the
1309
- * instructions in the <a href="https://docs.aws.amazon.com/firehose/latest/dev/httpdeliveryrequestresponse.html">Appendix - HTTP Endpoint
1310
- * Delivery Request and Response Specifications</a>.</p>
1311
- * </important>
1312
- */
1313
- Url: string | undefined;
1314
-
1315
- /**
1316
- * <p>The name of the HTTP endpoint selected as the destination.</p>
1317
- */
1318
- Name?: string;
1319
-
1320
- /**
1321
- * <p>The access key required for Kinesis Firehose to authenticate with the HTTP endpoint
1322
- * selected as the destination.</p>
1323
- */
1324
- AccessKey?: string;
1325
- }
1326
-
1327
- export namespace HttpEndpointConfiguration {
1328
- /**
1329
- * @internal
1330
- */
1331
- export const filterSensitiveLog = (obj: HttpEndpointConfiguration): any => ({
1332
- ...obj,
1333
- ...(obj.Url && { Url: SENSITIVE_STRING }),
1334
- ...(obj.AccessKey && { AccessKey: SENSITIVE_STRING }),
1335
- });
1336
- }
1337
-
1338
- /**
1339
- * <p>Describes the metadata that's delivered to the specified HTTP endpoint
1340
- * destination.</p>
1341
- */
1342
- export interface HttpEndpointCommonAttribute {
1343
- /**
1344
- * <p>The name of the HTTP endpoint common attribute.</p>
1345
- */
1346
- AttributeName: string | undefined;
1347
-
1348
- /**
1349
- * <p>The value of the HTTP endpoint common attribute.</p>
1350
- */
1351
- AttributeValue: string | undefined;
1352
- }
1353
-
1354
- export namespace HttpEndpointCommonAttribute {
1355
- /**
1356
- * @internal
1357
- */
1358
- export const filterSensitiveLog = (obj: HttpEndpointCommonAttribute): any => ({
1359
- ...obj,
1360
- ...(obj.AttributeName && { AttributeName: SENSITIVE_STRING }),
1361
- ...(obj.AttributeValue && { AttributeValue: SENSITIVE_STRING }),
1362
- });
1363
- }
1364
-
1365
- /**
1366
- * <p>The configuration of the HTTP endpoint request.</p>
1367
- */
1368
- export interface HttpEndpointRequestConfiguration {
1369
- /**
1370
- * <p>Kinesis Data Firehose uses the content encoding to compress the body of a request before
1371
- * sending the request to the destination. For more information, see <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding">Content-Encoding</a> in MDN Web Docs, the official Mozilla documentation.</p>
1372
- */
1373
- ContentEncoding?: ContentEncoding | string;
1374
-
1375
- /**
1376
- * <p>Describes the metadata sent to the HTTP endpoint destination.</p>
1377
- */
1378
- CommonAttributes?: HttpEndpointCommonAttribute[];
1379
- }
1380
-
1381
- export namespace HttpEndpointRequestConfiguration {
1382
- /**
1383
- * @internal
1384
- */
1385
- export const filterSensitiveLog = (obj: HttpEndpointRequestConfiguration): any => ({
1386
- ...obj,
1387
- ...(obj.CommonAttributes && {
1388
- CommonAttributes: obj.CommonAttributes.map((item) => HttpEndpointCommonAttribute.filterSensitiveLog(item)),
1389
- }),
1390
- });
1391
- }
1392
-
1393
- /**
1394
- * <p>Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to
1395
- * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of
1396
- * receipt from the specified HTTP endpoint destination.</p>
1397
- */
1398
- export interface HttpEndpointRetryOptions {
1399
- /**
1400
- * <p>The total amount of time that Kinesis Data Firehose spends on retries. This duration
1401
- * starts after the initial attempt to send data to the custom destination via HTTPS endpoint
1402
- * fails. It doesn't include the periods during which Kinesis Data Firehose waits for
1403
- * acknowledgment from the specified destination after each attempt. </p>
1404
- */
1405
- DurationInSeconds?: number;
1406
- }
1407
-
1408
- export namespace HttpEndpointRetryOptions {
1409
- /**
1410
- * @internal
1411
- */
1412
- export const filterSensitiveLog = (obj: HttpEndpointRetryOptions): any => ({
1413
- ...obj,
1414
- });
1415
- }
1416
-
1417
- export type HttpEndpointS3BackupMode = "AllData" | "FailedDataOnly";
1418
-
1419
- /**
1420
- * <p>Describes the configuration of the HTTP endpoint destination.</p>
1421
- */
1422
- export interface HttpEndpointDestinationConfiguration {
1423
- /**
1424
- * <p>The configuration of the HTTP endpoint selected as the destination.</p>
1425
- */
1426
- EndpointConfiguration: HttpEndpointConfiguration | undefined;
1427
-
1428
- /**
1429
- * <p>The buffering options that can be used before data is delivered to the specified
1430
- * destination. Kinesis Data Firehose treats these options as hints, and it might choose to
1431
- * use more optimal values. The <code>SizeInMBs</code> and <code>IntervalInSeconds</code>
1432
- * parameters are optional. However, if you specify a value for one of them, you must also
1433
- * provide a value for the other. </p>
1434
- */
1435
- BufferingHints?: HttpEndpointBufferingHints;
1436
-
1437
- /**
1438
- * <p>Describes the Amazon CloudWatch logging options for your delivery stream.</p>
1439
- */
1440
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
1441
-
1442
- /**
1443
- * <p>The configuration of the requeste sent to the HTTP endpoint specified as the
1444
- * destination.</p>
1445
- */
1446
- RequestConfiguration?: HttpEndpointRequestConfiguration;
1447
-
1448
- /**
1449
- * <p>Describes a data processing configuration.</p>
1450
- */
1451
- ProcessingConfiguration?: ProcessingConfiguration;
1452
-
1453
- /**
1454
- * <p>Kinesis Data Firehose uses this IAM role for all the permissions that the delivery
1455
- * stream needs.</p>
1456
- */
1457
- RoleARN?: string;
1458
-
1459
- /**
1460
- * <p>Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to
1461
- * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of
1462
- * receipt from the specified HTTP endpoint destination.</p>
1463
- */
1464
- RetryOptions?: HttpEndpointRetryOptions;
1465
-
1466
- /**
1467
- * <p>Describes the S3 bucket backup options for the data that Kinesis Data Firehose delivers
1468
- * to the HTTP endpoint destination. You can back up all documents (<code>AllData</code>) or
1469
- * only the documents that Kinesis Data Firehose could not deliver to the specified HTTP
1470
- * endpoint destination (<code>FailedDataOnly</code>).</p>
1471
- */
1472
- S3BackupMode?: HttpEndpointS3BackupMode | string;
1473
-
1474
- /**
1475
- * <p>Describes the configuration of a destination in Amazon S3.</p>
1476
- */
1477
- S3Configuration: S3DestinationConfiguration | undefined;
1478
- }
1479
-
1480
- export namespace HttpEndpointDestinationConfiguration {
1481
- /**
1482
- * @internal
1483
- */
1484
- export const filterSensitiveLog = (obj: HttpEndpointDestinationConfiguration): any => ({
1485
- ...obj,
1486
- ...(obj.EndpointConfiguration && {
1487
- EndpointConfiguration: HttpEndpointConfiguration.filterSensitiveLog(obj.EndpointConfiguration),
1488
- }),
1489
- ...(obj.RequestConfiguration && {
1490
- RequestConfiguration: HttpEndpointRequestConfiguration.filterSensitiveLog(obj.RequestConfiguration),
1491
- }),
1492
- });
1493
- }
1494
-
1495
- /**
1496
- * <p>The stream and role Amazon Resource Names (ARNs) for a Kinesis data stream used as
1497
- * the source for a delivery stream.</p>
1498
- */
1499
- export interface KinesisStreamSourceConfiguration {
1500
- /**
1501
- * <p>The ARN of the source Kinesis data stream. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams">Amazon
1502
- * Kinesis Data Streams ARN Format</a>.</p>
1503
- */
1504
- KinesisStreamARN: string | undefined;
1505
-
1506
- /**
1507
- * <p>The ARN of the role that provides access to the source Kinesis data stream. For more
1508
- * information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam">AWS Identity and
1509
- * Access Management (IAM) ARN Format</a>.</p>
1510
- */
1511
- RoleARN: string | undefined;
1512
- }
1513
-
1514
- export namespace KinesisStreamSourceConfiguration {
1515
- /**
1516
- * @internal
1517
- */
1518
- export const filterSensitiveLog = (obj: KinesisStreamSourceConfiguration): any => ({
1519
- ...obj,
1520
- });
1521
- }
1522
-
1523
- /**
1524
- * <p>Configures retry behavior in case Kinesis Data Firehose is unable to deliver
1525
- * documents to Amazon Redshift.</p>
1526
- */
1527
- export interface RedshiftRetryOptions {
1528
- /**
1529
- * <p>The length of time during which Kinesis Data Firehose retries delivery after a
1530
- * failure, starting from the initial request and including the first attempt. The default
1531
- * value is 3600 seconds (60 minutes). Kinesis Data Firehose does not retry if the value of
1532
- * <code>DurationInSeconds</code> is 0 (zero) or if the first delivery attempt takes longer
1533
- * than the current value.</p>
1534
- */
1535
- DurationInSeconds?: number;
1536
- }
1537
-
1538
- export namespace RedshiftRetryOptions {
1539
- /**
1540
- * @internal
1541
- */
1542
- export const filterSensitiveLog = (obj: RedshiftRetryOptions): any => ({
1543
- ...obj,
1544
- });
1545
- }
1546
-
1547
- export type RedshiftS3BackupMode = "Disabled" | "Enabled";
1548
-
1549
- /**
1550
- * <p>Describes the configuration of a destination in Amazon Redshift.</p>
1551
- */
1552
- export interface RedshiftDestinationConfiguration {
1553
- /**
1554
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
1555
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
1556
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
1557
- */
1558
- RoleARN: string | undefined;
1559
-
1560
- /**
1561
- * <p>The database connection string.</p>
1562
- */
1563
- ClusterJDBCURL: string | undefined;
1564
-
1565
- /**
1566
- * <p>The <code>COPY</code> command.</p>
1567
- */
1568
- CopyCommand: CopyCommand | undefined;
1569
-
1570
- /**
1571
- * <p>The name of the user.</p>
1572
- */
1573
- Username: string | undefined;
1574
-
1575
- /**
1576
- * <p>The user password.</p>
1577
- */
1578
- Password: string | undefined;
1579
-
1580
- /**
1581
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver documents to
1582
- * Amazon Redshift. Default value is 3600 (60 minutes).</p>
1583
- */
1584
- RetryOptions?: RedshiftRetryOptions;
1585
-
1586
- /**
1587
- * <p>The configuration for the intermediate Amazon S3 location from which Amazon Redshift
1588
- * obtains data. Restrictions are described in the topic for <a>CreateDeliveryStream</a>.</p>
1589
- * <p>The compression formats <code>SNAPPY</code> or <code>ZIP</code> cannot be specified
1590
- * in <code>RedshiftDestinationConfiguration.S3Configuration</code> because the Amazon
1591
- * Redshift <code>COPY</code> operation that reads from the S3 bucket doesn't support these
1592
- * compression formats.</p>
1593
- */
1594
- S3Configuration: S3DestinationConfiguration | undefined;
1595
-
1596
- /**
1597
- * <p>The data processing configuration.</p>
1598
- */
1599
- ProcessingConfiguration?: ProcessingConfiguration;
1600
-
1601
- /**
1602
- * <p>The Amazon S3 backup mode. After you create a delivery stream, you can update it to
1603
- * enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the
1604
- * delivery stream to disable it. </p>
1605
- */
1606
- S3BackupMode?: RedshiftS3BackupMode | string;
1607
-
1608
- /**
1609
- * <p>The configuration for backup in Amazon S3.</p>
1610
- */
1611
- S3BackupConfiguration?: S3DestinationConfiguration;
1612
-
1613
- /**
1614
- * <p>The CloudWatch logging options for your delivery stream.</p>
1615
- */
1616
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
1617
- }
1618
-
1619
- export namespace RedshiftDestinationConfiguration {
1620
- /**
1621
- * @internal
1622
- */
1623
- export const filterSensitiveLog = (obj: RedshiftDestinationConfiguration): any => ({
1624
- ...obj,
1625
- ...(obj.Username && { Username: SENSITIVE_STRING }),
1626
- ...(obj.Password && { Password: SENSITIVE_STRING }),
1627
- });
1628
- }
1629
-
1630
- export type HECEndpointType = "Event" | "Raw";
1631
-
1632
- /**
1633
- * <p>Configures retry behavior in case Kinesis Data Firehose is unable to deliver
1634
- * documents to Splunk, or if it doesn't receive an acknowledgment from Splunk.</p>
1635
- */
1636
- export interface SplunkRetryOptions {
1637
- /**
1638
- * <p>The total amount of time that Kinesis Data Firehose spends on retries. This duration
1639
- * starts after the initial attempt to send data to Splunk fails. It doesn't include the
1640
- * periods during which Kinesis Data Firehose waits for acknowledgment from Splunk after each
1641
- * attempt.</p>
1642
- */
1643
- DurationInSeconds?: number;
1644
- }
1645
-
1646
- export namespace SplunkRetryOptions {
1647
- /**
1648
- * @internal
1649
- */
1650
- export const filterSensitiveLog = (obj: SplunkRetryOptions): any => ({
1651
- ...obj,
1652
- });
1653
- }
1654
-
1655
- export type SplunkS3BackupMode = "AllEvents" | "FailedEventsOnly";
1656
-
1657
- /**
1658
- * <p>Describes the configuration of a destination in Splunk.</p>
1659
- */
1660
- export interface SplunkDestinationConfiguration {
1661
- /**
1662
- * <p>The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your
1663
- * data.</p>
1664
- */
1665
- HECEndpoint: string | undefined;
1666
-
1667
- /**
1668
- * <p>This type can be either "Raw" or "Event."</p>
1669
- */
1670
- HECEndpointType: HECEndpointType | string | undefined;
1671
-
1672
- /**
1673
- * <p>This is a GUID that you obtain from your Splunk cluster when you create a new HEC
1674
- * endpoint.</p>
1675
- */
1676
- HECToken: string | undefined;
1677
-
1678
- /**
1679
- * <p>The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from
1680
- * Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose
1681
- * either tries to send the data again or considers it an error, based on your retry
1682
- * settings.</p>
1683
- */
1684
- HECAcknowledgmentTimeoutInSeconds?: number;
1685
-
1686
- /**
1687
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk,
1688
- * or if it doesn't receive an acknowledgment of receipt from Splunk.</p>
1689
- */
1690
- RetryOptions?: SplunkRetryOptions;
1691
-
1692
- /**
1693
- * <p>Defines how documents should be delivered to Amazon S3. When set to
1694
- * <code>FailedEventsOnly</code>, Kinesis Data Firehose writes any data that could not be
1695
- * indexed to the configured Amazon S3 destination. When set to <code>AllEvents</code>,
1696
- * Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed
1697
- * documents to Amazon S3. The default value is <code>FailedEventsOnly</code>.</p>
1698
- * <p>You can update this backup mode from <code>FailedEventsOnly</code> to
1699
- * <code>AllEvents</code>. You can't update it from <code>AllEvents</code> to
1700
- * <code>FailedEventsOnly</code>.</p>
1701
- */
1702
- S3BackupMode?: SplunkS3BackupMode | string;
1703
-
1704
- /**
1705
- * <p>The configuration for the backup Amazon S3 location.</p>
1706
- */
1707
- S3Configuration: S3DestinationConfiguration | undefined;
1708
-
1709
- /**
1710
- * <p>The data processing configuration.</p>
1711
- */
1712
- ProcessingConfiguration?: ProcessingConfiguration;
1713
-
1714
- /**
1715
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
1716
- */
1717
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
1718
- }
1719
-
1720
- export namespace SplunkDestinationConfiguration {
1721
- /**
1722
- * @internal
1723
- */
1724
- export const filterSensitiveLog = (obj: SplunkDestinationConfiguration): any => ({
1725
- ...obj,
1726
- });
1727
- }
1728
-
1729
- /**
1730
- * <p>Metadata that you can assign to a delivery stream, consisting of a key-value
1731
- * pair.</p>
1732
- */
1733
- export interface Tag {
1734
- /**
1735
- * <p>A unique identifier for the tag. Maximum length: 128 characters. Valid characters:
1736
- * Unicode letters, digits, white space, _ . / = + - % @</p>
1737
- */
1738
- Key: string | undefined;
1739
-
1740
- /**
1741
- * <p>An optional string, which you can use to describe or define the tag. Maximum length:
1742
- * 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - %
1743
- * @</p>
1744
- */
1745
- Value?: string;
1746
- }
1747
-
1748
- export namespace Tag {
1749
- /**
1750
- * @internal
1751
- */
1752
- export const filterSensitiveLog = (obj: Tag): any => ({
1753
- ...obj,
1754
- });
1755
- }
1756
-
1757
- export interface CreateDeliveryStreamInput {
1758
- /**
1759
- * <p>The name of the delivery stream. This name must be unique per AWS account in the same
1760
- * AWS Region. If the delivery streams are in different accounts or different Regions, you can
1761
- * have multiple delivery streams with the same name.</p>
1762
- */
1763
- DeliveryStreamName: string | undefined;
1764
-
1765
- /**
1766
- * <p>The delivery stream type. This parameter can be one of the following
1767
- * values:</p>
1768
- * <ul>
1769
- * <li>
1770
- * <p>
1771
- * <code>DirectPut</code>: Provider applications access the delivery stream
1772
- * directly.</p>
1773
- * </li>
1774
- * <li>
1775
- * <p>
1776
- * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data
1777
- * stream as a source.</p>
1778
- * </li>
1779
- * </ul>
1780
- */
1781
- DeliveryStreamType?: DeliveryStreamType | string;
1782
-
1783
- /**
1784
- * <p>When a Kinesis data stream is used as the source for the delivery stream, a <a>KinesisStreamSourceConfiguration</a> containing the Kinesis data stream Amazon
1785
- * Resource Name (ARN) and the role ARN for the source stream.</p>
1786
- */
1787
- KinesisStreamSourceConfiguration?: KinesisStreamSourceConfiguration;
1788
-
1789
- /**
1790
- * <p>Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for
1791
- * Server-Side Encryption (SSE).</p>
1792
- */
1793
- DeliveryStreamEncryptionConfigurationInput?: DeliveryStreamEncryptionConfigurationInput;
1794
-
1795
- /**
1796
- * @deprecated
1797
- *
1798
- * <p>[Deprecated]
1799
- * The destination in Amazon S3. You can specify only one destination.</p>
1800
- */
1801
- S3DestinationConfiguration?: S3DestinationConfiguration;
1802
-
1803
- /**
1804
- * <p>The destination in Amazon S3. You can specify only one destination.</p>
1805
- */
1806
- ExtendedS3DestinationConfiguration?: ExtendedS3DestinationConfiguration;
1807
-
1808
- /**
1809
- * <p>The destination in Amazon Redshift. You can specify only one destination.</p>
1810
- */
1811
- RedshiftDestinationConfiguration?: RedshiftDestinationConfiguration;
1812
-
1813
- /**
1814
- * <p>The destination in Amazon ES. You can specify only one destination.</p>
1815
- */
1816
- ElasticsearchDestinationConfiguration?: ElasticsearchDestinationConfiguration;
1817
-
1818
- /**
1819
- * <p>The destination in Splunk. You can specify only one destination.</p>
1820
- */
1821
- SplunkDestinationConfiguration?: SplunkDestinationConfiguration;
1822
-
1823
- /**
1824
- * <p>Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination.
1825
- * You can specify only one destination.</p>
1826
- */
1827
- HttpEndpointDestinationConfiguration?: HttpEndpointDestinationConfiguration;
1828
-
1829
- /**
1830
- * <p>A set of tags to assign to the delivery stream. A tag is a key-value pair that you can
1831
- * define and assign to AWS resources. Tags are metadata. For example, you can add friendly
1832
- * names and descriptions or other types of information that can help you distinguish the
1833
- * delivery stream. For more information about tags, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation
1834
- * Tags</a> in the AWS Billing and Cost Management User Guide.</p>
1835
- *
1836
- * <p>You can specify up to 50 tags when creating a delivery stream.</p>
1837
- */
1838
- Tags?: Tag[];
1839
- }
1840
-
1841
- export namespace CreateDeliveryStreamInput {
1842
- /**
1843
- * @internal
1844
- */
1845
- export const filterSensitiveLog = (obj: CreateDeliveryStreamInput): any => ({
1846
- ...obj,
1847
- ...(obj.RedshiftDestinationConfiguration && {
1848
- RedshiftDestinationConfiguration: RedshiftDestinationConfiguration.filterSensitiveLog(
1849
- obj.RedshiftDestinationConfiguration
1850
- ),
1851
- }),
1852
- ...(obj.HttpEndpointDestinationConfiguration && {
1853
- HttpEndpointDestinationConfiguration: HttpEndpointDestinationConfiguration.filterSensitiveLog(
1854
- obj.HttpEndpointDestinationConfiguration
1855
- ),
1856
- }),
1857
- });
1858
- }
1859
-
1860
- export interface CreateDeliveryStreamOutput {
1861
- /**
1862
- * <p>The ARN of the delivery stream.</p>
1863
- */
1864
- DeliveryStreamARN?: string;
1865
- }
1866
-
1867
- export namespace CreateDeliveryStreamOutput {
1868
- /**
1869
- * @internal
1870
- */
1871
- export const filterSensitiveLog = (obj: CreateDeliveryStreamOutput): any => ({
1872
- ...obj,
1873
- });
1874
- }
1875
-
1876
- /**
1877
- * <p>The specified input parameter has a value that is not valid.</p>
1878
- */
1879
- export interface InvalidArgumentException extends __SmithyException, $MetadataBearer {
1880
- name: "InvalidArgumentException";
1881
- $fault: "client";
1882
- /**
1883
- * <p>A message that provides information about the error.</p>
1884
- */
1885
- message?: string;
1886
- }
1887
-
1888
- export namespace InvalidArgumentException {
1889
- /**
1890
- * @internal
1891
- */
1892
- export const filterSensitiveLog = (obj: InvalidArgumentException): any => ({
1893
- ...obj,
1894
- });
1895
- }
1896
-
1897
- /**
1898
- * <p>Kinesis Data Firehose throws this exception when an attempt to put records or to start
1899
- * or stop delivery stream encryption fails. This happens when the KMS service throws one of
1900
- * the following exception types: <code>AccessDeniedException</code>,
1901
- * <code>InvalidStateException</code>, <code>DisabledException</code>, or
1902
- * <code>NotFoundException</code>.</p>
1903
- */
1904
- export interface InvalidKMSResourceException extends __SmithyException, $MetadataBearer {
1905
- name: "InvalidKMSResourceException";
1906
- $fault: "client";
1907
- code?: string;
1908
- message?: string;
1909
- }
1910
-
1911
- export namespace InvalidKMSResourceException {
1912
- /**
1913
- * @internal
1914
- */
1915
- export const filterSensitiveLog = (obj: InvalidKMSResourceException): any => ({
1916
- ...obj,
1917
- });
1918
- }
1919
-
1920
- /**
1921
- * <p>You have already reached the limit for a requested resource.</p>
1922
- */
1923
- export interface LimitExceededException extends __SmithyException, $MetadataBearer {
1924
- name: "LimitExceededException";
1925
- $fault: "client";
1926
- /**
1927
- * <p>A message that provides information about the error.</p>
1928
- */
1929
- message?: string;
1930
- }
1931
-
1932
- export namespace LimitExceededException {
1933
- /**
1934
- * @internal
1935
- */
1936
- export const filterSensitiveLog = (obj: LimitExceededException): any => ({
1937
- ...obj,
1938
- });
1939
- }
1940
-
1941
- /**
1942
- * <p>The resource is already in use and not available for this operation.</p>
1943
- */
1944
- export interface ResourceInUseException extends __SmithyException, $MetadataBearer {
1945
- name: "ResourceInUseException";
1946
- $fault: "client";
1947
- /**
1948
- * <p>A message that provides information about the error.</p>
1949
- */
1950
- message?: string;
1951
- }
1952
-
1953
- export namespace ResourceInUseException {
1954
- /**
1955
- * @internal
1956
- */
1957
- export const filterSensitiveLog = (obj: ResourceInUseException): any => ({
1958
- ...obj,
1959
- });
1960
- }
1961
-
1962
- export interface DeleteDeliveryStreamInput {
1963
- /**
1964
- * <p>The name of the delivery stream.</p>
1965
- */
1966
- DeliveryStreamName: string | undefined;
1967
-
1968
- /**
1969
- * <p>Set this to true if you want to delete the delivery stream even if Kinesis Data Firehose
1970
- * is unable to retire the grant for the CMK. Kinesis Data Firehose might be unable to retire
1971
- * the grant due to a customer error, such as when the CMK or the grant are in an invalid
1972
- * state. If you force deletion, you can then use the <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html">RevokeGrant</a> operation to
1973
- * revoke the grant you gave to Kinesis Data Firehose. If a failure to retire the grant
1974
- * happens due to an AWS KMS issue, Kinesis Data Firehose keeps retrying the delete
1975
- * operation.</p>
1976
- * <p>The default value is false.</p>
1977
- */
1978
- AllowForceDelete?: boolean;
1979
- }
1980
-
1981
- export namespace DeleteDeliveryStreamInput {
1982
- /**
1983
- * @internal
1984
- */
1985
- export const filterSensitiveLog = (obj: DeleteDeliveryStreamInput): any => ({
1986
- ...obj,
1987
- });
1988
- }
1989
-
1990
- export interface DeleteDeliveryStreamOutput {}
1991
-
1992
- export namespace DeleteDeliveryStreamOutput {
1993
- /**
1994
- * @internal
1995
- */
1996
- export const filterSensitiveLog = (obj: DeleteDeliveryStreamOutput): any => ({
1997
- ...obj,
1998
- });
1999
- }
2000
-
2001
- /**
2002
- * <p>The specified resource could not be found.</p>
2003
- */
2004
- export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer {
2005
- name: "ResourceNotFoundException";
2006
- $fault: "client";
2007
- /**
2008
- * <p>A message that provides information about the error.</p>
2009
- */
2010
- message?: string;
2011
- }
2012
-
2013
- export namespace ResourceNotFoundException {
2014
- /**
2015
- * @internal
2016
- */
2017
- export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({
2018
- ...obj,
2019
- });
2020
- }
2021
-
2022
- export enum DeliveryStreamFailureType {
2023
- CREATE_ENI_FAILED = "CREATE_ENI_FAILED",
2024
- CREATE_KMS_GRANT_FAILED = "CREATE_KMS_GRANT_FAILED",
2025
- DELETE_ENI_FAILED = "DELETE_ENI_FAILED",
2026
- DISABLED_KMS_KEY = "DISABLED_KMS_KEY",
2027
- ENI_ACCESS_DENIED = "ENI_ACCESS_DENIED",
2028
- INVALID_KMS_KEY = "INVALID_KMS_KEY",
2029
- KMS_ACCESS_DENIED = "KMS_ACCESS_DENIED",
2030
- KMS_KEY_NOT_FOUND = "KMS_KEY_NOT_FOUND",
2031
- KMS_OPT_IN_REQUIRED = "KMS_OPT_IN_REQUIRED",
2032
- RETIRE_KMS_GRANT_FAILED = "RETIRE_KMS_GRANT_FAILED",
2033
- SECURITY_GROUP_ACCESS_DENIED = "SECURITY_GROUP_ACCESS_DENIED",
2034
- SECURITY_GROUP_NOT_FOUND = "SECURITY_GROUP_NOT_FOUND",
2035
- SUBNET_ACCESS_DENIED = "SUBNET_ACCESS_DENIED",
2036
- SUBNET_NOT_FOUND = "SUBNET_NOT_FOUND",
2037
- UNKNOWN_ERROR = "UNKNOWN_ERROR",
2038
- }
2039
-
2040
- /**
2041
- * <p>Provides details in case one of the following operations fails due to an error related
2042
- * to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>,
2043
- * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p>
2044
- */
2045
- export interface FailureDescription {
2046
- /**
2047
- * <p>The type of error that caused the failure.</p>
2048
- */
2049
- Type: DeliveryStreamFailureType | string | undefined;
2050
-
2051
- /**
2052
- * <p>A message providing details about the error that caused the failure.</p>
2053
- */
2054
- Details: string | undefined;
2055
- }
2056
-
2057
- export namespace FailureDescription {
2058
- /**
2059
- * @internal
2060
- */
2061
- export const filterSensitiveLog = (obj: FailureDescription): any => ({
2062
- ...obj,
2063
- });
2064
- }
2065
-
2066
- export enum DeliveryStreamEncryptionStatus {
2067
- DISABLED = "DISABLED",
2068
- DISABLING = "DISABLING",
2069
- DISABLING_FAILED = "DISABLING_FAILED",
2070
- ENABLED = "ENABLED",
2071
- ENABLING = "ENABLING",
2072
- ENABLING_FAILED = "ENABLING_FAILED",
2073
- }
2074
-
2075
- /**
2076
- * <p>Contains information about the server-side encryption (SSE) status for the delivery
2077
- * stream, the type customer master key (CMK) in use, if any, and the ARN of the CMK. You can
2078
- * get <code>DeliveryStreamEncryptionConfiguration</code> by invoking the <a>DescribeDeliveryStream</a> operation. </p>
2079
- */
2080
- export interface DeliveryStreamEncryptionConfiguration {
2081
- /**
2082
- * <p>If <code>KeyType</code> is <code>CUSTOMER_MANAGED_CMK</code>, this field contains the
2083
- * ARN of the customer managed CMK. If <code>KeyType</code> is <code>AWS_OWNED_CMK</code>,
2084
- * <code>DeliveryStreamEncryptionConfiguration</code> doesn't contain a value for
2085
- * <code>KeyARN</code>.</p>
2086
- */
2087
- KeyARN?: string;
2088
-
2089
- /**
2090
- * <p>Indicates the type of customer master key (CMK) that is used for encryption. The default
2091
- * setting is <code>AWS_OWNED_CMK</code>. For more information about CMKs, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys">Customer
2092
- * Master Keys (CMKs)</a>.</p>
2093
- */
2094
- KeyType?: KeyType | string;
2095
-
2096
- /**
2097
- * <p>This is the server-side encryption (SSE) status for the delivery stream. For a full
2098
- * description of the different values of this status, see <a>StartDeliveryStreamEncryption</a> and <a>StopDeliveryStreamEncryption</a>. If this status is <code>ENABLING_FAILED</code>
2099
- * or <code>DISABLING_FAILED</code>, it is the status of the most recent attempt to enable or
2100
- * disable SSE, respectively.</p>
2101
- */
2102
- Status?: DeliveryStreamEncryptionStatus | string;
2103
-
2104
- /**
2105
- * <p>Provides details in case one of the following operations fails due to an error related
2106
- * to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>,
2107
- * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p>
2108
- */
2109
- FailureDescription?: FailureDescription;
2110
- }
2111
-
2112
- export namespace DeliveryStreamEncryptionConfiguration {
2113
- /**
2114
- * @internal
2115
- */
2116
- export const filterSensitiveLog = (obj: DeliveryStreamEncryptionConfiguration): any => ({
2117
- ...obj,
2118
- });
2119
- }
2120
-
2121
- export enum DeliveryStreamStatus {
2122
- ACTIVE = "ACTIVE",
2123
- CREATING = "CREATING",
2124
- CREATING_FAILED = "CREATING_FAILED",
2125
- DELETING = "DELETING",
2126
- DELETING_FAILED = "DELETING_FAILED",
2127
- }
2128
-
2129
- /**
2130
- * <p>Describes a destination in Amazon S3.</p>
2131
- */
2132
- export interface S3DestinationDescription {
2133
- /**
2134
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
2135
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
2136
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
2137
- */
2138
- RoleARN: string | undefined;
2139
-
2140
- /**
2141
- * <p>The ARN of the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
2142
- * AWS Service Namespaces</a>.</p>
2143
- */
2144
- BucketARN: string | undefined;
2145
-
2146
- /**
2147
- * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3
2148
- * files. You can also specify a custom prefix, as described in <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
2149
- * Objects</a>.</p>
2150
- */
2151
- Prefix?: string;
2152
-
2153
- /**
2154
- * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing
2155
- * them to S3. This prefix appears immediately following the bucket name. For information
2156
- * about how to specify this prefix, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
2157
- * Objects</a>.</p>
2158
- */
2159
- ErrorOutputPrefix?: string;
2160
-
2161
- /**
2162
- * <p>The buffering option. If no value is specified, <code>BufferingHints</code> object
2163
- * default values are used.</p>
2164
- */
2165
- BufferingHints: BufferingHints | undefined;
2166
-
2167
- /**
2168
- * <p>The compression format. If no value is specified, the default is
2169
- * <code>UNCOMPRESSED</code>.</p>
2170
- */
2171
- CompressionFormat: CompressionFormat | string | undefined;
2172
-
2173
- /**
2174
- * <p>The encryption configuration. If no value is specified, the default is no
2175
- * encryption.</p>
2176
- */
2177
- EncryptionConfiguration: EncryptionConfiguration | undefined;
2178
-
2179
- /**
2180
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
2181
- */
2182
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
2183
- }
2184
-
2185
- export namespace S3DestinationDescription {
2186
- /**
2187
- * @internal
2188
- */
2189
- export const filterSensitiveLog = (obj: S3DestinationDescription): any => ({
2190
- ...obj,
2191
- });
2192
- }
2193
-
2194
- /**
2195
- * <p>The details of the VPC of the Amazon ES destination.</p>
2196
- */
2197
- export interface VpcConfigurationDescription {
2198
- /**
2199
- * <p>The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the
2200
- * Amazon ES destination. Make sure that the routing tables and inbound and outbound rules
2201
- * allow traffic to flow from the subnets whose IDs are specified here to the subnets that
2202
- * have the destination Amazon ES endpoints. Kinesis Data Firehose creates at least one ENI in
2203
- * each of the subnets that are specified here. Do not delete or modify these ENIs.</p>
2204
- * <p>The number of ENIs that Kinesis Data Firehose creates in the subnets specified here
2205
- * scales up and down automatically based on throughput. To enable Kinesis Data Firehose to
2206
- * scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To
2207
- * help you calculate the quota you need, assume that Kinesis Data Firehose can create up to
2208
- * three ENIs for this delivery stream for each of the subnets specified here. For more
2209
- * information about ENI quota, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-enis">Network Interfaces
2210
- * </a> in the Amazon VPC Quotas topic.</p>
2211
- */
2212
- SubnetIds: string[] | undefined;
2213
-
2214
- /**
2215
- * <p>The ARN of the IAM role that the delivery stream uses to create endpoints in the
2216
- * destination VPC. You can use your existing Kinesis Data Firehose delivery role or you can
2217
- * specify a new role. In either case, make sure that the role trusts the Kinesis Data
2218
- * Firehose service principal and that it grants the following permissions:</p>
2219
- * <ul>
2220
- * <li>
2221
- * <p>
2222
- * <code>ec2:DescribeVpcs</code>
2223
- * </p>
2224
- * </li>
2225
- * <li>
2226
- * <p>
2227
- * <code>ec2:DescribeVpcAttribute</code>
2228
- * </p>
2229
- * </li>
2230
- * <li>
2231
- * <p>
2232
- * <code>ec2:DescribeSubnets</code>
2233
- * </p>
2234
- * </li>
2235
- * <li>
2236
- * <p>
2237
- * <code>ec2:DescribeSecurityGroups</code>
2238
- * </p>
2239
- * </li>
2240
- * <li>
2241
- * <p>
2242
- * <code>ec2:DescribeNetworkInterfaces</code>
2243
- * </p>
2244
- * </li>
2245
- * <li>
2246
- * <p>
2247
- * <code>ec2:CreateNetworkInterface</code>
2248
- * </p>
2249
- * </li>
2250
- * <li>
2251
- * <p>
2252
- * <code>ec2:CreateNetworkInterfacePermission</code>
2253
- * </p>
2254
- * </li>
2255
- * <li>
2256
- * <p>
2257
- * <code>ec2:DeleteNetworkInterface</code>
2258
- * </p>
2259
- * </li>
2260
- * </ul>
2261
- * <p>If you revoke these permissions after you create the delivery stream, Kinesis Data
2262
- * Firehose can't scale out by creating more ENIs when necessary. You might therefore see a
2263
- * degradation in performance.</p>
2264
- */
2265
- RoleARN: string | undefined;
2266
-
2267
- /**
2268
- * <p>The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in
2269
- * the VPC of the Amazon ES destination. You can use the same security group that the Amazon
2270
- * ES domain uses or different ones. If you specify different security groups, ensure that
2271
- * they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure
2272
- * that the Amazon ES domain's security group allows HTTPS traffic from the security groups
2273
- * specified here. If you use the same security group for both your delivery stream and the
2274
- * Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more
2275
- * information about security group rules, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules">Security group
2276
- * rules</a> in the Amazon VPC documentation.</p>
2277
- */
2278
- SecurityGroupIds: string[] | undefined;
2279
-
2280
- /**
2281
- * <p>The ID of the Amazon ES destination's VPC.</p>
2282
- */
2283
- VpcId: string | undefined;
2284
- }
2285
-
2286
- export namespace VpcConfigurationDescription {
2287
- /**
2288
- * @internal
2289
- */
2290
- export const filterSensitiveLog = (obj: VpcConfigurationDescription): any => ({
2291
- ...obj,
2292
- });
2293
- }
2294
-
2295
- /**
2296
- * <p>The destination description in Amazon ES.</p>
2297
- */
2298
- export interface ElasticsearchDestinationDescription {
2299
- /**
2300
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
2301
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
2302
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
2303
- */
2304
- RoleARN?: string;
2305
-
2306
- /**
2307
- * <p>The ARN of the Amazon ES domain. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
2308
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
2309
- *
2310
- * <p>Kinesis Data Firehose uses either <code>ClusterEndpoint</code> or <code>DomainARN</code>
2311
- * to send data to Amazon ES.</p>
2312
- */
2313
- DomainARN?: string;
2314
-
2315
- /**
2316
- * <p>The endpoint to use when communicating with the cluster. Kinesis Data Firehose uses
2317
- * either this <code>ClusterEndpoint</code> or the <code>DomainARN</code> field to send data
2318
- * to Amazon ES.</p>
2319
- */
2320
- ClusterEndpoint?: string;
2321
-
2322
- /**
2323
- * <p>The Elasticsearch index name.</p>
2324
- */
2325
- IndexName?: string;
2326
-
2327
- /**
2328
- * <p>The Elasticsearch type name. This applies to Elasticsearch 6.x and lower versions.
2329
- * For Elasticsearch 7.x, there's no value for <code>TypeName</code>.</p>
2330
- */
2331
- TypeName?: string;
2332
-
2333
- /**
2334
- * <p>The Elasticsearch index rotation period</p>
2335
- */
2336
- IndexRotationPeriod?: ElasticsearchIndexRotationPeriod | string;
2337
-
2338
- /**
2339
- * <p>The buffering options.</p>
2340
- */
2341
- BufferingHints?: ElasticsearchBufferingHints;
2342
-
2343
- /**
2344
- * <p>The Amazon ES retry options.</p>
2345
- */
2346
- RetryOptions?: ElasticsearchRetryOptions;
2347
-
2348
- /**
2349
- * <p>The Amazon S3 backup mode.</p>
2350
- */
2351
- S3BackupMode?: ElasticsearchS3BackupMode | string;
2352
-
2353
- /**
2354
- * <p>The Amazon S3 destination.</p>
2355
- */
2356
- S3DestinationDescription?: S3DestinationDescription;
2357
-
2358
- /**
2359
- * <p>The data processing configuration.</p>
2360
- */
2361
- ProcessingConfiguration?: ProcessingConfiguration;
2362
-
2363
- /**
2364
- * <p>The Amazon CloudWatch logging options.</p>
2365
- */
2366
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
2367
-
2368
- /**
2369
- * <p>The details of the VPC of the Amazon ES destination.</p>
2370
- */
2371
- VpcConfigurationDescription?: VpcConfigurationDescription;
2372
- }
2373
-
2374
- export namespace ElasticsearchDestinationDescription {
2375
- /**
2376
- * @internal
2377
- */
2378
- export const filterSensitiveLog = (obj: ElasticsearchDestinationDescription): any => ({
2379
- ...obj,
2380
- });
2381
- }
2382
-
2383
- /**
2384
- * <p>Describes a destination in Amazon S3.</p>
2385
- */
2386
- export interface ExtendedS3DestinationDescription {
2387
- /**
2388
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
2389
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
2390
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
2391
- */
2392
- RoleARN: string | undefined;
2393
-
2394
- /**
2395
- * <p>The ARN of the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
2396
- * AWS Service Namespaces</a>.</p>
2397
- */
2398
- BucketARN: string | undefined;
2399
-
2400
- /**
2401
- * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3
2402
- * files. You can also specify a custom prefix, as described in <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
2403
- * Objects</a>.</p>
2404
- */
2405
- Prefix?: string;
2406
-
2407
- /**
2408
- * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing
2409
- * them to S3. This prefix appears immediately following the bucket name. For information
2410
- * about how to specify this prefix, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
2411
- * Objects</a>.</p>
2412
- */
2413
- ErrorOutputPrefix?: string;
2414
-
2415
- /**
2416
- * <p>The buffering option.</p>
2417
- */
2418
- BufferingHints: BufferingHints | undefined;
2419
-
2420
- /**
2421
- * <p>The compression format. If no value is specified, the default is
2422
- * <code>UNCOMPRESSED</code>.</p>
2423
- */
2424
- CompressionFormat: CompressionFormat | string | undefined;
2425
-
2426
- /**
2427
- * <p>The encryption configuration. If no value is specified, the default is no
2428
- * encryption.</p>
2429
- */
2430
- EncryptionConfiguration: EncryptionConfiguration | undefined;
2431
-
2432
- /**
2433
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
2434
- */
2435
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
2436
-
2437
- /**
2438
- * <p>The data processing configuration.</p>
2439
- */
2440
- ProcessingConfiguration?: ProcessingConfiguration;
2441
-
2442
- /**
2443
- * <p>The Amazon S3 backup mode.</p>
2444
- */
2445
- S3BackupMode?: S3BackupMode | string;
2446
-
2447
- /**
2448
- * <p>The configuration for backup in Amazon S3.</p>
2449
- */
2450
- S3BackupDescription?: S3DestinationDescription;
2451
-
2452
- /**
2453
- * <p>The serializer, deserializer, and schema for converting data from the JSON format to
2454
- * the Parquet or ORC format before writing it to Amazon S3.</p>
2455
- */
2456
- DataFormatConversionConfiguration?: DataFormatConversionConfiguration;
2457
-
2458
- /**
2459
- * <p>The configuration of the dynamic partitioning mechanism that creates smaller data sets
2460
- * from the streaming data by partitioning it based on partition keys. Currently, dynamic
2461
- * partitioning is only supported for Amazon S3 destinations. For more information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a>
2462
- * </p>
2463
- */
2464
- DynamicPartitioningConfiguration?: DynamicPartitioningConfiguration;
2465
- }
2466
-
2467
- export namespace ExtendedS3DestinationDescription {
2468
- /**
2469
- * @internal
2470
- */
2471
- export const filterSensitiveLog = (obj: ExtendedS3DestinationDescription): any => ({
2472
- ...obj,
2473
- });
2474
- }
2475
-
2476
- /**
2477
- * <p>Describes the HTTP endpoint selected as the destination. </p>
2478
- */
2479
- export interface HttpEndpointDescription {
2480
- /**
2481
- * <p>The URL of the HTTP endpoint selected as the destination.</p>
2482
- */
2483
- Url?: string;
2484
-
2485
- /**
2486
- * <p>The name of the HTTP endpoint selected as the destination.</p>
2487
- */
2488
- Name?: string;
2489
- }
2490
-
2491
- export namespace HttpEndpointDescription {
2492
- /**
2493
- * @internal
2494
- */
2495
- export const filterSensitiveLog = (obj: HttpEndpointDescription): any => ({
2496
- ...obj,
2497
- ...(obj.Url && { Url: SENSITIVE_STRING }),
2498
- });
2499
- }
2500
-
2501
- /**
2502
- * <p>Describes the HTTP endpoint destination.</p>
2503
- */
2504
- export interface HttpEndpointDestinationDescription {
2505
- /**
2506
- * <p>The configuration of the specified HTTP endpoint destination.</p>
2507
- */
2508
- EndpointConfiguration?: HttpEndpointDescription;
2509
-
2510
- /**
2511
- * <p>Describes buffering options that can be applied to the data before it is delivered to
2512
- * the HTTPS endpoint destination. Kinesis Data Firehose teats these options as hints, and it
2513
- * might choose to use more optimal values. The <code>SizeInMBs</code> and
2514
- * <code>IntervalInSeconds</code> parameters are optional. However, if specify a value for
2515
- * one of them, you must also provide a value for the other. </p>
2516
- */
2517
- BufferingHints?: HttpEndpointBufferingHints;
2518
-
2519
- /**
2520
- * <p>Describes the Amazon CloudWatch logging options for your delivery stream.</p>
2521
- */
2522
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
2523
-
2524
- /**
2525
- * <p>The configuration of request sent to the HTTP endpoint specified as the
2526
- * destination.</p>
2527
- */
2528
- RequestConfiguration?: HttpEndpointRequestConfiguration;
2529
-
2530
- /**
2531
- * <p>Describes a data processing configuration.</p>
2532
- */
2533
- ProcessingConfiguration?: ProcessingConfiguration;
2534
-
2535
- /**
2536
- * <p>Kinesis Data Firehose uses this IAM role for all the permissions that the delivery
2537
- * stream needs.</p>
2538
- */
2539
- RoleARN?: string;
2540
-
2541
- /**
2542
- * <p>Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to
2543
- * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of
2544
- * receipt from the specified HTTP endpoint destination.</p>
2545
- */
2546
- RetryOptions?: HttpEndpointRetryOptions;
2547
-
2548
- /**
2549
- * <p>Describes the S3 bucket backup options for the data that Kinesis Firehose delivers to
2550
- * the HTTP endpoint destination. You can back up all documents (<code>AllData</code>) or only
2551
- * the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint
2552
- * destination (<code>FailedDataOnly</code>).</p>
2553
- */
2554
- S3BackupMode?: HttpEndpointS3BackupMode | string;
2555
-
2556
- /**
2557
- * <p>Describes a destination in Amazon S3.</p>
2558
- */
2559
- S3DestinationDescription?: S3DestinationDescription;
2560
- }
2561
-
2562
- export namespace HttpEndpointDestinationDescription {
2563
- /**
2564
- * @internal
2565
- */
2566
- export const filterSensitiveLog = (obj: HttpEndpointDestinationDescription): any => ({
2567
- ...obj,
2568
- ...(obj.EndpointConfiguration && {
2569
- EndpointConfiguration: HttpEndpointDescription.filterSensitiveLog(obj.EndpointConfiguration),
2570
- }),
2571
- ...(obj.RequestConfiguration && {
2572
- RequestConfiguration: HttpEndpointRequestConfiguration.filterSensitiveLog(obj.RequestConfiguration),
2573
- }),
2574
- });
2575
- }
2576
-
2577
- /**
2578
- * <p>Describes a destination in Amazon Redshift.</p>
2579
- */
2580
- export interface RedshiftDestinationDescription {
2581
- /**
2582
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
2583
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
2584
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
2585
- */
2586
- RoleARN: string | undefined;
2587
-
2588
- /**
2589
- * <p>The database connection string.</p>
2590
- */
2591
- ClusterJDBCURL: string | undefined;
2592
-
2593
- /**
2594
- * <p>The <code>COPY</code> command.</p>
2595
- */
2596
- CopyCommand: CopyCommand | undefined;
2597
-
2598
- /**
2599
- * <p>The name of the user.</p>
2600
- */
2601
- Username: string | undefined;
2602
-
2603
- /**
2604
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver documents to
2605
- * Amazon Redshift. Default value is 3600 (60 minutes).</p>
2606
- */
2607
- RetryOptions?: RedshiftRetryOptions;
2608
-
2609
- /**
2610
- * <p>The Amazon S3 destination.</p>
2611
- */
2612
- S3DestinationDescription: S3DestinationDescription | undefined;
2613
-
2614
- /**
2615
- * <p>The data processing configuration.</p>
2616
- */
2617
- ProcessingConfiguration?: ProcessingConfiguration;
2618
-
2619
- /**
2620
- * <p>The Amazon S3 backup mode.</p>
2621
- */
2622
- S3BackupMode?: RedshiftS3BackupMode | string;
2623
-
2624
- /**
2625
- * <p>The configuration for backup in Amazon S3.</p>
2626
- */
2627
- S3BackupDescription?: S3DestinationDescription;
2628
-
2629
- /**
2630
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
2631
- */
2632
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
2633
- }
2634
-
2635
- export namespace RedshiftDestinationDescription {
2636
- /**
2637
- * @internal
2638
- */
2639
- export const filterSensitiveLog = (obj: RedshiftDestinationDescription): any => ({
2640
- ...obj,
2641
- ...(obj.Username && { Username: SENSITIVE_STRING }),
2642
- });
2643
- }
2644
-
2645
- /**
2646
- * <p>Describes a destination in Splunk.</p>
2647
- */
2648
- export interface SplunkDestinationDescription {
2649
- /**
2650
- * <p>The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your
2651
- * data.</p>
2652
- */
2653
- HECEndpoint?: string;
2654
-
2655
- /**
2656
- * <p>This type can be either "Raw" or "Event."</p>
2657
- */
2658
- HECEndpointType?: HECEndpointType | string;
2659
-
2660
- /**
2661
- * <p>A GUID you obtain from your Splunk cluster when you create a new HEC
2662
- * endpoint.</p>
2663
- */
2664
- HECToken?: string;
2665
-
2666
- /**
2667
- * <p>The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from
2668
- * Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose
2669
- * either tries to send the data again or considers it an error, based on your retry
2670
- * settings.</p>
2671
- */
2672
- HECAcknowledgmentTimeoutInSeconds?: number;
2673
-
2674
- /**
2675
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk
2676
- * or if it doesn't receive an acknowledgment of receipt from Splunk.</p>
2677
- */
2678
- RetryOptions?: SplunkRetryOptions;
2679
-
2680
- /**
2681
- * <p>Defines how documents should be delivered to Amazon S3. When set to
2682
- * <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any data that could not
2683
- * be indexed to the configured Amazon S3 destination. When set to <code>AllDocuments</code>,
2684
- * Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed
2685
- * documents to Amazon S3. Default value is <code>FailedDocumentsOnly</code>. </p>
2686
- */
2687
- S3BackupMode?: SplunkS3BackupMode | string;
2688
-
2689
- /**
2690
- * <p>The Amazon S3 destination.></p>
2691
- */
2692
- S3DestinationDescription?: S3DestinationDescription;
2693
-
2694
- /**
2695
- * <p>The data processing configuration.</p>
2696
- */
2697
- ProcessingConfiguration?: ProcessingConfiguration;
2698
-
2699
- /**
2700
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
2701
- */
2702
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
2703
- }
2704
-
2705
- export namespace SplunkDestinationDescription {
2706
- /**
2707
- * @internal
2708
- */
2709
- export const filterSensitiveLog = (obj: SplunkDestinationDescription): any => ({
2710
- ...obj,
2711
- });
2712
- }
2713
-
2714
- /**
2715
- * <p>Describes the destination for a delivery stream.</p>
2716
- */
2717
- export interface DestinationDescription {
2718
- /**
2719
- * <p>The ID of the destination.</p>
2720
- */
2721
- DestinationId: string | undefined;
2722
-
2723
- /**
2724
- * <p>[Deprecated] The destination in Amazon S3.</p>
2725
- */
2726
- S3DestinationDescription?: S3DestinationDescription;
2727
-
2728
- /**
2729
- * <p>The destination in Amazon S3.</p>
2730
- */
2731
- ExtendedS3DestinationDescription?: ExtendedS3DestinationDescription;
2732
-
2733
- /**
2734
- * <p>The destination in Amazon Redshift.</p>
2735
- */
2736
- RedshiftDestinationDescription?: RedshiftDestinationDescription;
2737
-
2738
- /**
2739
- * <p>The destination in Amazon ES.</p>
2740
- */
2741
- ElasticsearchDestinationDescription?: ElasticsearchDestinationDescription;
2742
-
2743
- /**
2744
- * <p>The destination in Splunk.</p>
2745
- */
2746
- SplunkDestinationDescription?: SplunkDestinationDescription;
2747
-
2748
- /**
2749
- * <p>Describes the specified HTTP endpoint destination.</p>
2750
- */
2751
- HttpEndpointDestinationDescription?: HttpEndpointDestinationDescription;
2752
- }
2753
-
2754
- export namespace DestinationDescription {
2755
- /**
2756
- * @internal
2757
- */
2758
- export const filterSensitiveLog = (obj: DestinationDescription): any => ({
2759
- ...obj,
2760
- ...(obj.RedshiftDestinationDescription && {
2761
- RedshiftDestinationDescription: RedshiftDestinationDescription.filterSensitiveLog(
2762
- obj.RedshiftDestinationDescription
2763
- ),
2764
- }),
2765
- ...(obj.HttpEndpointDestinationDescription && {
2766
- HttpEndpointDestinationDescription: HttpEndpointDestinationDescription.filterSensitiveLog(
2767
- obj.HttpEndpointDestinationDescription
2768
- ),
2769
- }),
2770
- });
2771
- }
2772
-
2773
- /**
2774
- * <p>Details about a Kinesis data stream used as the source for a Kinesis Data Firehose
2775
- * delivery stream.</p>
2776
- */
2777
- export interface KinesisStreamSourceDescription {
2778
- /**
2779
- * <p>The Amazon Resource Name (ARN) of the source Kinesis data stream. For more
2780
- * information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams">Amazon
2781
- * Kinesis Data Streams ARN Format</a>.</p>
2782
- */
2783
- KinesisStreamARN?: string;
2784
-
2785
- /**
2786
- * <p>The ARN of the role used by the source Kinesis data stream. For more information, see
2787
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam">AWS Identity and
2788
- * Access Management (IAM) ARN Format</a>.</p>
2789
- */
2790
- RoleARN?: string;
2791
-
2792
- /**
2793
- * <p>Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting
2794
- * with this timestamp.</p>
2795
- */
2796
- DeliveryStartTimestamp?: Date;
2797
- }
2798
-
2799
- export namespace KinesisStreamSourceDescription {
2800
- /**
2801
- * @internal
2802
- */
2803
- export const filterSensitiveLog = (obj: KinesisStreamSourceDescription): any => ({
2804
- ...obj,
2805
- });
2806
- }
2807
-
2808
- /**
2809
- * <p>Details about a Kinesis data stream used as the source for a Kinesis Data Firehose
2810
- * delivery stream.</p>
2811
- */
2812
- export interface SourceDescription {
2813
- /**
2814
- * <p>The <a>KinesisStreamSourceDescription</a> value for the source Kinesis
2815
- * data stream.</p>
2816
- */
2817
- KinesisStreamSourceDescription?: KinesisStreamSourceDescription;
2818
- }
2819
-
2820
- export namespace SourceDescription {
2821
- /**
2822
- * @internal
2823
- */
2824
- export const filterSensitiveLog = (obj: SourceDescription): any => ({
2825
- ...obj,
2826
- });
2827
- }
2828
-
2829
- /**
2830
- * <p>Contains information about a delivery stream.</p>
2831
- */
2832
- export interface DeliveryStreamDescription {
2833
- /**
2834
- * <p>The name of the delivery stream.</p>
2835
- */
2836
- DeliveryStreamName: string | undefined;
2837
-
2838
- /**
2839
- * <p>The Amazon Resource Name (ARN) of the delivery stream. For more information, see
2840
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
2841
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
2842
- */
2843
- DeliveryStreamARN: string | undefined;
2844
-
2845
- /**
2846
- * <p>The status of the delivery stream. If the status of a delivery stream is
2847
- * <code>CREATING_FAILED</code>, this status doesn't change, and you can't invoke
2848
- * <code>CreateDeliveryStream</code> again on it. However, you can invoke the <a>DeleteDeliveryStream</a> operation to delete it.</p>
2849
- */
2850
- DeliveryStreamStatus: DeliveryStreamStatus | string | undefined;
2851
-
2852
- /**
2853
- * <p>Provides details in case one of the following operations fails due to an error related
2854
- * to KMS: <a>CreateDeliveryStream</a>, <a>DeleteDeliveryStream</a>,
2855
- * <a>StartDeliveryStreamEncryption</a>, <a>StopDeliveryStreamEncryption</a>.</p>
2856
- */
2857
- FailureDescription?: FailureDescription;
2858
-
2859
- /**
2860
- * <p>Indicates the server-side encryption (SSE) status for the delivery stream.</p>
2861
- */
2862
- DeliveryStreamEncryptionConfiguration?: DeliveryStreamEncryptionConfiguration;
2863
-
2864
- /**
2865
- * <p>The delivery stream type. This can be one of the following values:</p>
2866
- * <ul>
2867
- * <li>
2868
- * <p>
2869
- * <code>DirectPut</code>: Provider applications access the delivery stream
2870
- * directly.</p>
2871
- * </li>
2872
- * <li>
2873
- * <p>
2874
- * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data
2875
- * stream as a source.</p>
2876
- * </li>
2877
- * </ul>
2878
- */
2879
- DeliveryStreamType: DeliveryStreamType | string | undefined;
2880
-
2881
- /**
2882
- * <p>Each time the destination is updated for a delivery stream, the version ID is
2883
- * changed, and the current version ID is required when updating the destination. This is so
2884
- * that the service knows it is applying the changes to the correct version of the delivery
2885
- * stream.</p>
2886
- */
2887
- VersionId: string | undefined;
2888
-
2889
- /**
2890
- * <p>The date and time that the delivery stream was created.</p>
2891
- */
2892
- CreateTimestamp?: Date;
2893
-
2894
- /**
2895
- * <p>The date and time that the delivery stream was last updated.</p>
2896
- */
2897
- LastUpdateTimestamp?: Date;
2898
-
2899
- /**
2900
- * <p>If the <code>DeliveryStreamType</code> parameter is
2901
- * <code>KinesisStreamAsSource</code>, a <a>SourceDescription</a> object
2902
- * describing the source Kinesis data stream.</p>
2903
- */
2904
- Source?: SourceDescription;
2905
-
2906
- /**
2907
- * <p>The destinations.</p>
2908
- */
2909
- Destinations: DestinationDescription[] | undefined;
2910
-
2911
- /**
2912
- * <p>Indicates whether there are more destinations available to list.</p>
2913
- */
2914
- HasMoreDestinations: boolean | undefined;
2915
- }
2916
-
2917
- export namespace DeliveryStreamDescription {
2918
- /**
2919
- * @internal
2920
- */
2921
- export const filterSensitiveLog = (obj: DeliveryStreamDescription): any => ({
2922
- ...obj,
2923
- ...(obj.Destinations && {
2924
- Destinations: obj.Destinations.map((item) => DestinationDescription.filterSensitiveLog(item)),
2925
- }),
2926
- });
2927
- }
2928
-
2929
- export interface DescribeDeliveryStreamInput {
2930
- /**
2931
- * <p>The name of the delivery stream.</p>
2932
- */
2933
- DeliveryStreamName: string | undefined;
2934
-
2935
- /**
2936
- * <p>The limit on the number of destinations to return. You can have one destination per
2937
- * delivery stream.</p>
2938
- */
2939
- Limit?: number;
2940
-
2941
- /**
2942
- * <p>The ID of the destination to start returning the destination information. Kinesis
2943
- * Data Firehose supports one destination per delivery stream.</p>
2944
- */
2945
- ExclusiveStartDestinationId?: string;
2946
- }
2947
-
2948
- export namespace DescribeDeliveryStreamInput {
2949
- /**
2950
- * @internal
2951
- */
2952
- export const filterSensitiveLog = (obj: DescribeDeliveryStreamInput): any => ({
2953
- ...obj,
2954
- });
2955
- }
2956
-
2957
- export interface DescribeDeliveryStreamOutput {
2958
- /**
2959
- * <p>Information about the delivery stream.</p>
2960
- */
2961
- DeliveryStreamDescription: DeliveryStreamDescription | undefined;
2962
- }
2963
-
2964
- export namespace DescribeDeliveryStreamOutput {
2965
- /**
2966
- * @internal
2967
- */
2968
- export const filterSensitiveLog = (obj: DescribeDeliveryStreamOutput): any => ({
2969
- ...obj,
2970
- ...(obj.DeliveryStreamDescription && {
2971
- DeliveryStreamDescription: DeliveryStreamDescription.filterSensitiveLog(obj.DeliveryStreamDescription),
2972
- }),
2973
- });
2974
- }
2975
-
2976
- /**
2977
- * <p>Describes an update for a destination in Amazon S3.</p>
2978
- */
2979
- export interface S3DestinationUpdate {
2980
- /**
2981
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
2982
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
2983
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
2984
- */
2985
- RoleARN?: string;
2986
-
2987
- /**
2988
- * <p>The ARN of the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
2989
- * AWS Service Namespaces</a>.</p>
2990
- */
2991
- BucketARN?: string;
2992
-
2993
- /**
2994
- * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3
2995
- * files. You can also specify a custom prefix, as described in <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
2996
- * Objects</a>.</p>
2997
- */
2998
- Prefix?: string;
2999
-
3000
- /**
3001
- * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing
3002
- * them to S3. This prefix appears immediately following the bucket name. For information
3003
- * about how to specify this prefix, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
3004
- * Objects</a>.</p>
3005
- */
3006
- ErrorOutputPrefix?: string;
3007
-
3008
- /**
3009
- * <p>The buffering option. If no value is specified, <code>BufferingHints</code> object
3010
- * default values are used.</p>
3011
- */
3012
- BufferingHints?: BufferingHints;
3013
-
3014
- /**
3015
- * <p>The compression format. If no value is specified, the default is
3016
- * <code>UNCOMPRESSED</code>.</p>
3017
- * <p>The compression formats <code>SNAPPY</code> or <code>ZIP</code> cannot be specified
3018
- * for Amazon Redshift destinations because they are not supported by the Amazon Redshift
3019
- * <code>COPY</code> operation that reads from the S3 bucket.</p>
3020
- */
3021
- CompressionFormat?: CompressionFormat | string;
3022
-
3023
- /**
3024
- * <p>The encryption configuration. If no value is specified, the default is no
3025
- * encryption.</p>
3026
- */
3027
- EncryptionConfiguration?: EncryptionConfiguration;
3028
-
3029
- /**
3030
- * <p>The CloudWatch logging options for your delivery stream.</p>
3031
- */
3032
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
3033
- }
3034
-
3035
- export namespace S3DestinationUpdate {
3036
- /**
3037
- * @internal
3038
- */
3039
- export const filterSensitiveLog = (obj: S3DestinationUpdate): any => ({
3040
- ...obj,
3041
- });
3042
- }
3043
-
3044
- /**
3045
- * <p>Describes an update for a destination in Amazon ES.</p>
3046
- */
3047
- export interface ElasticsearchDestinationUpdate {
3048
- /**
3049
- * <p>The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose
3050
- * for calling the Amazon ES Configuration API and for indexing documents. For more
3051
- * information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3">Grant Kinesis Data
3052
- * Firehose Access to an Amazon S3 Destination</a> and <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
3053
- * AWS Service Namespaces</a>.</p>
3054
- */
3055
- RoleARN?: string;
3056
-
3057
- /**
3058
- * <p>The ARN of the Amazon ES domain. The IAM role must have permissions
3059
- * for <code>DescribeElasticsearchDomain</code>, <code>DescribeElasticsearchDomains</code>,
3060
- * and <code>DescribeElasticsearchDomainConfig</code> after assuming the IAM role specified in
3061
- * <code>RoleARN</code>. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
3062
- * AWS Service Namespaces</a>.</p>
3063
- *
3064
- * <p>Specify either <code>ClusterEndpoint</code> or <code>DomainARN</code>.</p>
3065
- */
3066
- DomainARN?: string;
3067
-
3068
- /**
3069
- * <p>The endpoint to use when communicating with the cluster. Specify either this
3070
- * <code>ClusterEndpoint</code> or the <code>DomainARN</code> field.</p>
3071
- */
3072
- ClusterEndpoint?: string;
3073
-
3074
- /**
3075
- * <p>The Elasticsearch index name.</p>
3076
- */
3077
- IndexName?: string;
3078
-
3079
- /**
3080
- * <p>The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per
3081
- * index. If you try to specify a new type for an existing index that already has another
3082
- * type, Kinesis Data Firehose returns an error during runtime.</p>
3083
- *
3084
- * <p>If you upgrade Elasticsearch from 6.x to 7.x and don’t update your delivery stream,
3085
- * Kinesis Data Firehose still delivers data to Elasticsearch with the old index name and type
3086
- * name. If you want to update your delivery stream with a new index name, provide an empty
3087
- * string for <code>TypeName</code>. </p>
3088
- */
3089
- TypeName?: string;
3090
-
3091
- /**
3092
- * <p>The Elasticsearch index rotation period. Index rotation appends a timestamp to
3093
- * <code>IndexName</code> to facilitate the expiration of old data. For more information,
3094
- * see <a href="https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation">Index Rotation for the
3095
- * Amazon ES Destination</a>. Default value is <code>OneDay</code>.</p>
3096
- */
3097
- IndexRotationPeriod?: ElasticsearchIndexRotationPeriod | string;
3098
-
3099
- /**
3100
- * <p>The buffering options. If no value is specified,
3101
- * <code>ElasticsearchBufferingHints</code> object default values are used. </p>
3102
- */
3103
- BufferingHints?: ElasticsearchBufferingHints;
3104
-
3105
- /**
3106
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver documents to
3107
- * Amazon ES. The default value is 300 (5 minutes).</p>
3108
- */
3109
- RetryOptions?: ElasticsearchRetryOptions;
3110
-
3111
- /**
3112
- * <p>The Amazon S3 destination.</p>
3113
- */
3114
- S3Update?: S3DestinationUpdate;
3115
-
3116
- /**
3117
- * <p>The data processing configuration.</p>
3118
- */
3119
- ProcessingConfiguration?: ProcessingConfiguration;
3120
-
3121
- /**
3122
- * <p>The CloudWatch logging options for your delivery stream.</p>
3123
- */
3124
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
3125
- }
3126
-
3127
- export namespace ElasticsearchDestinationUpdate {
3128
- /**
3129
- * @internal
3130
- */
3131
- export const filterSensitiveLog = (obj: ElasticsearchDestinationUpdate): any => ({
3132
- ...obj,
3133
- });
3134
- }
3135
-
3136
- /**
3137
- * <p>Describes an update for a destination in Amazon S3.</p>
3138
- */
3139
- export interface ExtendedS3DestinationUpdate {
3140
- /**
3141
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
3142
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
3143
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
3144
- */
3145
- RoleARN?: string;
3146
-
3147
- /**
3148
- * <p>The ARN of the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and
3149
- * AWS Service Namespaces</a>.</p>
3150
- */
3151
- BucketARN?: string;
3152
-
3153
- /**
3154
- * <p>The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon S3
3155
- * files. You can also specify a custom prefix, as described in <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
3156
- * Objects</a>.</p>
3157
- */
3158
- Prefix?: string;
3159
-
3160
- /**
3161
- * <p>A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing
3162
- * them to S3. This prefix appears immediately following the bucket name. For information
3163
- * about how to specify this prefix, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3
3164
- * Objects</a>.</p>
3165
- */
3166
- ErrorOutputPrefix?: string;
3167
-
3168
- /**
3169
- * <p>The buffering option.</p>
3170
- */
3171
- BufferingHints?: BufferingHints;
3172
-
3173
- /**
3174
- * <p>The compression format. If no value is specified, the default is
3175
- * <code>UNCOMPRESSED</code>. </p>
3176
- */
3177
- CompressionFormat?: CompressionFormat | string;
3178
-
3179
- /**
3180
- * <p>The encryption configuration. If no value is specified, the default is no
3181
- * encryption.</p>
3182
- */
3183
- EncryptionConfiguration?: EncryptionConfiguration;
3184
-
3185
- /**
3186
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
3187
- */
3188
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
3189
-
3190
- /**
3191
- * <p>The data processing configuration.</p>
3192
- */
3193
- ProcessingConfiguration?: ProcessingConfiguration;
3194
-
3195
- /**
3196
- * <p>You can update a delivery stream to enable Amazon S3 backup if it is disabled. If
3197
- * backup is enabled, you can't update the delivery stream to disable it. </p>
3198
- */
3199
- S3BackupMode?: S3BackupMode | string;
3200
-
3201
- /**
3202
- * <p>The Amazon S3 destination for backup.</p>
3203
- */
3204
- S3BackupUpdate?: S3DestinationUpdate;
3205
-
3206
- /**
3207
- * <p>The serializer, deserializer, and schema for converting data from the JSON format to
3208
- * the Parquet or ORC format before writing it to Amazon S3.</p>
3209
- */
3210
- DataFormatConversionConfiguration?: DataFormatConversionConfiguration;
3211
-
3212
- /**
3213
- * <p>The configuration of the dynamic partitioning mechanism that creates smaller data sets
3214
- * from the streaming data by partitioning it based on partition keys. Currently, dynamic
3215
- * partitioning is only supported for Amazon S3 destinations. For more information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html">https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html</a>
3216
- * </p>
3217
- */
3218
- DynamicPartitioningConfiguration?: DynamicPartitioningConfiguration;
3219
- }
3220
-
3221
- export namespace ExtendedS3DestinationUpdate {
3222
- /**
3223
- * @internal
3224
- */
3225
- export const filterSensitiveLog = (obj: ExtendedS3DestinationUpdate): any => ({
3226
- ...obj,
3227
- });
3228
- }
3229
-
3230
- export interface ListDeliveryStreamsInput {
3231
- /**
3232
- * <p>The maximum number of delivery streams to list. The default value is 10.</p>
3233
- */
3234
- Limit?: number;
3235
-
3236
- /**
3237
- * <p>The delivery stream type. This can be one of the following values:</p>
3238
- * <ul>
3239
- * <li>
3240
- * <p>
3241
- * <code>DirectPut</code>: Provider applications access the delivery stream
3242
- * directly.</p>
3243
- * </li>
3244
- * <li>
3245
- * <p>
3246
- * <code>KinesisStreamAsSource</code>: The delivery stream uses a Kinesis data
3247
- * stream as a source.</p>
3248
- * </li>
3249
- * </ul>
3250
- * <p>This parameter is optional. If this parameter is omitted, delivery streams of all
3251
- * types are returned.</p>
3252
- */
3253
- DeliveryStreamType?: DeliveryStreamType | string;
3254
-
3255
- /**
3256
- * <p>The list of delivery streams returned by this call to
3257
- * <code>ListDeliveryStreams</code> will start with the delivery stream whose name comes
3258
- * alphabetically immediately after the name you specify in
3259
- * <code>ExclusiveStartDeliveryStreamName</code>.</p>
3260
- */
3261
- ExclusiveStartDeliveryStreamName?: string;
3262
- }
3263
-
3264
- export namespace ListDeliveryStreamsInput {
3265
- /**
3266
- * @internal
3267
- */
3268
- export const filterSensitiveLog = (obj: ListDeliveryStreamsInput): any => ({
3269
- ...obj,
3270
- });
3271
- }
3272
-
3273
- export interface ListDeliveryStreamsOutput {
3274
- /**
3275
- * <p>The names of the delivery streams.</p>
3276
- */
3277
- DeliveryStreamNames: string[] | undefined;
3278
-
3279
- /**
3280
- * <p>Indicates whether there are more delivery streams available to list.</p>
3281
- */
3282
- HasMoreDeliveryStreams: boolean | undefined;
3283
- }
3284
-
3285
- export namespace ListDeliveryStreamsOutput {
3286
- /**
3287
- * @internal
3288
- */
3289
- export const filterSensitiveLog = (obj: ListDeliveryStreamsOutput): any => ({
3290
- ...obj,
3291
- });
3292
- }
3293
-
3294
- export interface ListTagsForDeliveryStreamInput {
3295
- /**
3296
- * <p>The name of the delivery stream whose tags you want to list.</p>
3297
- */
3298
- DeliveryStreamName: string | undefined;
3299
-
3300
- /**
3301
- * <p>The key to use as the starting point for the list of tags. If you set this parameter,
3302
- * <code>ListTagsForDeliveryStream</code> gets all tags that occur after
3303
- * <code>ExclusiveStartTagKey</code>.</p>
3304
- */
3305
- ExclusiveStartTagKey?: string;
3306
-
3307
- /**
3308
- * <p>The number of tags to return. If this number is less than the total number of tags
3309
- * associated with the delivery stream, <code>HasMoreTags</code> is set to <code>true</code>
3310
- * in the response. To list additional tags, set <code>ExclusiveStartTagKey</code> to the last
3311
- * key in the response. </p>
3312
- */
3313
- Limit?: number;
3314
- }
3315
-
3316
- export namespace ListTagsForDeliveryStreamInput {
3317
- /**
3318
- * @internal
3319
- */
3320
- export const filterSensitiveLog = (obj: ListTagsForDeliveryStreamInput): any => ({
3321
- ...obj,
3322
- });
3323
- }
3324
-
3325
- export interface ListTagsForDeliveryStreamOutput {
3326
- /**
3327
- * <p>A list of tags associated with <code>DeliveryStreamName</code>, starting with the
3328
- * first tag after <code>ExclusiveStartTagKey</code> and up to the specified
3329
- * <code>Limit</code>.</p>
3330
- */
3331
- Tags: Tag[] | undefined;
3332
-
3333
- /**
3334
- * <p>If this is <code>true</code> in the response, more tags are available. To list the
3335
- * remaining tags, set <code>ExclusiveStartTagKey</code> to the key of the last tag returned
3336
- * and call <code>ListTagsForDeliveryStream</code> again.</p>
3337
- */
3338
- HasMoreTags: boolean | undefined;
3339
- }
3340
-
3341
- export namespace ListTagsForDeliveryStreamOutput {
3342
- /**
3343
- * @internal
3344
- */
3345
- export const filterSensitiveLog = (obj: ListTagsForDeliveryStreamOutput): any => ({
3346
- ...obj,
3347
- });
3348
- }
3349
-
3350
- /**
3351
- * <p>The unit of data in a delivery stream.</p>
3352
- */
3353
- export interface _Record {
3354
- /**
3355
- * <p>The data blob, which is base64-encoded when the blob is serialized. The maximum size
3356
- * of the data blob, before base64-encoding, is 1,000 KiB.</p>
3357
- */
3358
- Data: Uint8Array | undefined;
3359
- }
3360
-
3361
- export namespace _Record {
3362
- /**
3363
- * @internal
3364
- */
3365
- export const filterSensitiveLog = (obj: _Record): any => ({
3366
- ...obj,
3367
- });
3368
- }
3369
-
3370
- export interface PutRecordInput {
3371
- /**
3372
- * <p>The name of the delivery stream.</p>
3373
- */
3374
- DeliveryStreamName: string | undefined;
3375
-
3376
- /**
3377
- * <p>The record.</p>
3378
- */
3379
- Record: _Record | undefined;
3380
- }
3381
-
3382
- export namespace PutRecordInput {
3383
- /**
3384
- * @internal
3385
- */
3386
- export const filterSensitiveLog = (obj: PutRecordInput): any => ({
3387
- ...obj,
3388
- });
3389
- }
3390
-
3391
- export interface PutRecordOutput {
3392
- /**
3393
- * <p>The ID of the record.</p>
3394
- */
3395
- RecordId: string | undefined;
3396
-
3397
- /**
3398
- * <p>Indicates whether server-side encryption (SSE) was enabled during this operation.</p>
3399
- */
3400
- Encrypted?: boolean;
3401
- }
3402
-
3403
- export namespace PutRecordOutput {
3404
- /**
3405
- * @internal
3406
- */
3407
- export const filterSensitiveLog = (obj: PutRecordOutput): any => ({
3408
- ...obj,
3409
- });
3410
- }
3411
-
3412
- /**
3413
- * <p>The service is unavailable. Back off and retry the operation. If you continue to see
3414
- * the exception, throughput limits for the delivery stream may have been exceeded. For more
3415
- * information about limits and how to request an increase, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/limits.html">Amazon Kinesis Data Firehose
3416
- * Limits</a>.</p>
3417
- */
3418
- export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer {
3419
- name: "ServiceUnavailableException";
3420
- $fault: "server";
3421
- /**
3422
- * <p>A message that provides information about the error.</p>
3423
- */
3424
- message?: string;
3425
- }
3426
-
3427
- export namespace ServiceUnavailableException {
3428
- /**
3429
- * @internal
3430
- */
3431
- export const filterSensitiveLog = (obj: ServiceUnavailableException): any => ({
3432
- ...obj,
3433
- });
3434
- }
3435
-
3436
- export interface PutRecordBatchInput {
3437
- /**
3438
- * <p>The name of the delivery stream.</p>
3439
- */
3440
- DeliveryStreamName: string | undefined;
3441
-
3442
- /**
3443
- * <p>One or more records.</p>
3444
- */
3445
- Records: _Record[] | undefined;
3446
- }
3447
-
3448
- export namespace PutRecordBatchInput {
3449
- /**
3450
- * @internal
3451
- */
3452
- export const filterSensitiveLog = (obj: PutRecordBatchInput): any => ({
3453
- ...obj,
3454
- });
3455
- }
3456
-
3457
- /**
3458
- * <p>Contains the result for an individual record from a <a>PutRecordBatch</a>
3459
- * request. If the record is successfully added to your delivery stream, it receives a record
3460
- * ID. If the record fails to be added to your delivery stream, the result includes an error
3461
- * code and an error message.</p>
3462
- */
3463
- export interface PutRecordBatchResponseEntry {
3464
- /**
3465
- * <p>The ID of the record.</p>
3466
- */
3467
- RecordId?: string;
3468
-
3469
- /**
3470
- * <p>The error code for an individual record result.</p>
3471
- */
3472
- ErrorCode?: string;
3473
-
3474
- /**
3475
- * <p>The error message for an individual record result.</p>
3476
- */
3477
- ErrorMessage?: string;
3478
- }
3479
-
3480
- export namespace PutRecordBatchResponseEntry {
3481
- /**
3482
- * @internal
3483
- */
3484
- export const filterSensitiveLog = (obj: PutRecordBatchResponseEntry): any => ({
3485
- ...obj,
3486
- });
3487
- }
3488
-
3489
- export interface PutRecordBatchOutput {
3490
- /**
3491
- * <p>The number of records that might have failed processing. This number might be greater
3492
- * than 0 even if the <a>PutRecordBatch</a> call succeeds. Check
3493
- * <code>FailedPutCount</code> to determine whether there are records that you need to
3494
- * resend.</p>
3495
- */
3496
- FailedPutCount: number | undefined;
3497
-
3498
- /**
3499
- * <p>Indicates whether server-side encryption (SSE) was enabled during this operation.</p>
3500
- */
3501
- Encrypted?: boolean;
3502
-
3503
- /**
3504
- * <p>The results array. For each record, the index of the response element is the same as
3505
- * the index used in the request array.</p>
3506
- */
3507
- RequestResponses: PutRecordBatchResponseEntry[] | undefined;
3508
- }
3509
-
3510
- export namespace PutRecordBatchOutput {
3511
- /**
3512
- * @internal
3513
- */
3514
- export const filterSensitiveLog = (obj: PutRecordBatchOutput): any => ({
3515
- ...obj,
3516
- });
3517
- }
3518
-
3519
- export interface StartDeliveryStreamEncryptionInput {
3520
- /**
3521
- * <p>The name of the delivery stream for which you want to enable server-side encryption
3522
- * (SSE).</p>
3523
- */
3524
- DeliveryStreamName: string | undefined;
3525
-
3526
- /**
3527
- * <p>Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for
3528
- * Server-Side Encryption (SSE).</p>
3529
- */
3530
- DeliveryStreamEncryptionConfigurationInput?: DeliveryStreamEncryptionConfigurationInput;
3531
- }
3532
-
3533
- export namespace StartDeliveryStreamEncryptionInput {
3534
- /**
3535
- * @internal
3536
- */
3537
- export const filterSensitiveLog = (obj: StartDeliveryStreamEncryptionInput): any => ({
3538
- ...obj,
3539
- });
3540
- }
3541
-
3542
- export interface StartDeliveryStreamEncryptionOutput {}
3543
-
3544
- export namespace StartDeliveryStreamEncryptionOutput {
3545
- /**
3546
- * @internal
3547
- */
3548
- export const filterSensitiveLog = (obj: StartDeliveryStreamEncryptionOutput): any => ({
3549
- ...obj,
3550
- });
3551
- }
3552
-
3553
- export interface StopDeliveryStreamEncryptionInput {
3554
- /**
3555
- * <p>The name of the delivery stream for which you want to disable server-side encryption
3556
- * (SSE).</p>
3557
- */
3558
- DeliveryStreamName: string | undefined;
3559
- }
3560
-
3561
- export namespace StopDeliveryStreamEncryptionInput {
3562
- /**
3563
- * @internal
3564
- */
3565
- export const filterSensitiveLog = (obj: StopDeliveryStreamEncryptionInput): any => ({
3566
- ...obj,
3567
- });
3568
- }
3569
-
3570
- export interface StopDeliveryStreamEncryptionOutput {}
3571
-
3572
- export namespace StopDeliveryStreamEncryptionOutput {
3573
- /**
3574
- * @internal
3575
- */
3576
- export const filterSensitiveLog = (obj: StopDeliveryStreamEncryptionOutput): any => ({
3577
- ...obj,
3578
- });
3579
- }
3580
-
3581
- export interface TagDeliveryStreamInput {
3582
- /**
3583
- * <p>The name of the delivery stream to which you want to add the tags.</p>
3584
- */
3585
- DeliveryStreamName: string | undefined;
3586
-
3587
- /**
3588
- * <p>A set of key-value pairs to use to create the tags.</p>
3589
- */
3590
- Tags: Tag[] | undefined;
3591
- }
3592
-
3593
- export namespace TagDeliveryStreamInput {
3594
- /**
3595
- * @internal
3596
- */
3597
- export const filterSensitiveLog = (obj: TagDeliveryStreamInput): any => ({
3598
- ...obj,
3599
- });
3600
- }
3601
-
3602
- export interface TagDeliveryStreamOutput {}
3603
-
3604
- export namespace TagDeliveryStreamOutput {
3605
- /**
3606
- * @internal
3607
- */
3608
- export const filterSensitiveLog = (obj: TagDeliveryStreamOutput): any => ({
3609
- ...obj,
3610
- });
3611
- }
3612
-
3613
- export interface UntagDeliveryStreamInput {
3614
- /**
3615
- * <p>The name of the delivery stream.</p>
3616
- */
3617
- DeliveryStreamName: string | undefined;
3618
-
3619
- /**
3620
- * <p>A list of tag keys. Each corresponding tag is removed from the delivery
3621
- * stream.</p>
3622
- */
3623
- TagKeys: string[] | undefined;
3624
- }
3625
-
3626
- export namespace UntagDeliveryStreamInput {
3627
- /**
3628
- * @internal
3629
- */
3630
- export const filterSensitiveLog = (obj: UntagDeliveryStreamInput): any => ({
3631
- ...obj,
3632
- });
3633
- }
3634
-
3635
- export interface UntagDeliveryStreamOutput {}
3636
-
3637
- export namespace UntagDeliveryStreamOutput {
3638
- /**
3639
- * @internal
3640
- */
3641
- export const filterSensitiveLog = (obj: UntagDeliveryStreamOutput): any => ({
3642
- ...obj,
3643
- });
3644
- }
3645
-
3646
- /**
3647
- * <p>Updates the specified HTTP endpoint destination.</p>
3648
- */
3649
- export interface HttpEndpointDestinationUpdate {
3650
- /**
3651
- * <p>Describes the configuration of the HTTP endpoint destination.</p>
3652
- */
3653
- EndpointConfiguration?: HttpEndpointConfiguration;
3654
-
3655
- /**
3656
- * <p>Describes buffering options that can be applied to the data before it is delivered to
3657
- * the HTTPS endpoint destination. Kinesis Data Firehose teats these options as hints, and it
3658
- * might choose to use more optimal values. The <code>SizeInMBs</code> and
3659
- * <code>IntervalInSeconds</code> parameters are optional. However, if specify a value for
3660
- * one of them, you must also provide a value for the other. </p>
3661
- */
3662
- BufferingHints?: HttpEndpointBufferingHints;
3663
-
3664
- /**
3665
- * <p>Describes the Amazon CloudWatch logging options for your delivery stream.</p>
3666
- */
3667
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
3668
-
3669
- /**
3670
- * <p>The configuration of the request sent to the HTTP endpoint specified as the
3671
- * destination.</p>
3672
- */
3673
- RequestConfiguration?: HttpEndpointRequestConfiguration;
3674
-
3675
- /**
3676
- * <p>Describes a data processing configuration.</p>
3677
- */
3678
- ProcessingConfiguration?: ProcessingConfiguration;
3679
-
3680
- /**
3681
- * <p>Kinesis Data Firehose uses this IAM role for all the permissions that the delivery
3682
- * stream needs.</p>
3683
- */
3684
- RoleARN?: string;
3685
-
3686
- /**
3687
- * <p>Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to
3688
- * the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of
3689
- * receipt from the specified HTTP endpoint destination.</p>
3690
- */
3691
- RetryOptions?: HttpEndpointRetryOptions;
3692
-
3693
- /**
3694
- * <p>Describes the S3 bucket backup options for the data that Kinesis Firehose delivers to
3695
- * the HTTP endpoint destination. You can back up all documents (<code>AllData</code>) or only
3696
- * the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint
3697
- * destination (<code>FailedDataOnly</code>).</p>
3698
- */
3699
- S3BackupMode?: HttpEndpointS3BackupMode | string;
3700
-
3701
- /**
3702
- * <p>Describes an update for a destination in Amazon S3.</p>
3703
- */
3704
- S3Update?: S3DestinationUpdate;
3705
- }
3706
-
3707
- export namespace HttpEndpointDestinationUpdate {
3708
- /**
3709
- * @internal
3710
- */
3711
- export const filterSensitiveLog = (obj: HttpEndpointDestinationUpdate): any => ({
3712
- ...obj,
3713
- ...(obj.EndpointConfiguration && {
3714
- EndpointConfiguration: HttpEndpointConfiguration.filterSensitiveLog(obj.EndpointConfiguration),
3715
- }),
3716
- ...(obj.RequestConfiguration && {
3717
- RequestConfiguration: HttpEndpointRequestConfiguration.filterSensitiveLog(obj.RequestConfiguration),
3718
- }),
3719
- });
3720
- }
3721
-
3722
- /**
3723
- * <p>Describes an update for a destination in Amazon Redshift.</p>
3724
- */
3725
- export interface RedshiftDestinationUpdate {
3726
- /**
3727
- * <p>The Amazon Resource Name (ARN) of the AWS credentials. For more information, see
3728
- * <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
3729
- * Resource Names (ARNs) and AWS Service Namespaces</a>.</p>
3730
- */
3731
- RoleARN?: string;
3732
-
3733
- /**
3734
- * <p>The database connection string.</p>
3735
- */
3736
- ClusterJDBCURL?: string;
3737
-
3738
- /**
3739
- * <p>The <code>COPY</code> command.</p>
3740
- */
3741
- CopyCommand?: CopyCommand;
3742
-
3743
- /**
3744
- * <p>The name of the user.</p>
3745
- */
3746
- Username?: string;
3747
-
3748
- /**
3749
- * <p>The user password.</p>
3750
- */
3751
- Password?: string;
3752
-
3753
- /**
3754
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver documents to
3755
- * Amazon Redshift. Default value is 3600 (60 minutes).</p>
3756
- */
3757
- RetryOptions?: RedshiftRetryOptions;
3758
-
3759
- /**
3760
- * <p>The Amazon S3 destination.</p>
3761
- * <p>The compression formats <code>SNAPPY</code> or <code>ZIP</code> cannot be specified
3762
- * in <code>RedshiftDestinationUpdate.S3Update</code> because the Amazon Redshift
3763
- * <code>COPY</code> operation that reads from the S3 bucket doesn't support these
3764
- * compression formats.</p>
3765
- */
3766
- S3Update?: S3DestinationUpdate;
3767
-
3768
- /**
3769
- * <p>The data processing configuration.</p>
3770
- */
3771
- ProcessingConfiguration?: ProcessingConfiguration;
3772
-
3773
- /**
3774
- * <p>You can update a delivery stream to enable Amazon S3 backup if it is disabled. If
3775
- * backup is enabled, you can't update the delivery stream to disable it. </p>
3776
- */
3777
- S3BackupMode?: RedshiftS3BackupMode | string;
3778
-
3779
- /**
3780
- * <p>The Amazon S3 destination for backup.</p>
3781
- */
3782
- S3BackupUpdate?: S3DestinationUpdate;
3783
-
3784
- /**
3785
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
3786
- */
3787
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
3788
- }
3789
-
3790
- export namespace RedshiftDestinationUpdate {
3791
- /**
3792
- * @internal
3793
- */
3794
- export const filterSensitiveLog = (obj: RedshiftDestinationUpdate): any => ({
3795
- ...obj,
3796
- ...(obj.Username && { Username: SENSITIVE_STRING }),
3797
- ...(obj.Password && { Password: SENSITIVE_STRING }),
3798
- });
3799
- }
3800
-
3801
- /**
3802
- * <p>Describes an update for a destination in Splunk.</p>
3803
- */
3804
- export interface SplunkDestinationUpdate {
3805
- /**
3806
- * <p>The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your
3807
- * data.</p>
3808
- */
3809
- HECEndpoint?: string;
3810
-
3811
- /**
3812
- * <p>This type can be either "Raw" or "Event."</p>
3813
- */
3814
- HECEndpointType?: HECEndpointType | string;
3815
-
3816
- /**
3817
- * <p>A GUID that you obtain from your Splunk cluster when you create a new HEC
3818
- * endpoint.</p>
3819
- */
3820
- HECToken?: string;
3821
-
3822
- /**
3823
- * <p>The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from
3824
- * Splunk after it sends data. At the end of the timeout period, Kinesis Data Firehose either
3825
- * tries to send the data again or considers it an error, based on your retry
3826
- * settings.</p>
3827
- */
3828
- HECAcknowledgmentTimeoutInSeconds?: number;
3829
-
3830
- /**
3831
- * <p>The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk
3832
- * or if it doesn't receive an acknowledgment of receipt from Splunk.</p>
3833
- */
3834
- RetryOptions?: SplunkRetryOptions;
3835
-
3836
- /**
3837
- * <p>Specifies how you want Kinesis Data Firehose to back up documents to Amazon S3. When
3838
- * set to <code>FailedDocumentsOnly</code>, Kinesis Data Firehose writes any data that could
3839
- * not be indexed to the configured Amazon S3 destination. When set to <code>AllEvents</code>,
3840
- * Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed
3841
- * documents to Amazon S3. The default value is <code>FailedEventsOnly</code>.</p>
3842
- * <p>You can update this backup mode from <code>FailedEventsOnly</code> to
3843
- * <code>AllEvents</code>. You can't update it from <code>AllEvents</code> to
3844
- * <code>FailedEventsOnly</code>.</p>
3845
- */
3846
- S3BackupMode?: SplunkS3BackupMode | string;
3847
-
3848
- /**
3849
- * <p>Your update to the configuration of the backup Amazon S3 location.</p>
3850
- */
3851
- S3Update?: S3DestinationUpdate;
3852
-
3853
- /**
3854
- * <p>The data processing configuration.</p>
3855
- */
3856
- ProcessingConfiguration?: ProcessingConfiguration;
3857
-
3858
- /**
3859
- * <p>The Amazon CloudWatch logging options for your delivery stream.</p>
3860
- */
3861
- CloudWatchLoggingOptions?: CloudWatchLoggingOptions;
3862
- }
3863
-
3864
- export namespace SplunkDestinationUpdate {
3865
- /**
3866
- * @internal
3867
- */
3868
- export const filterSensitiveLog = (obj: SplunkDestinationUpdate): any => ({
3869
- ...obj,
3870
- });
3871
- }
3872
-
3873
- export interface UpdateDestinationInput {
3874
- /**
3875
- * <p>The name of the delivery stream.</p>
3876
- */
3877
- DeliveryStreamName: string | undefined;
3878
-
3879
- /**
3880
- * <p>Obtain this value from the <code>VersionId</code> result of <a>DeliveryStreamDescription</a>. This value is required, and helps the service
3881
- * perform conditional operations. For example, if there is an interleaving update and this
3882
- * value is null, then the update destination fails. After the update is successful, the
3883
- * <code>VersionId</code> value is updated. The service then performs a merge of the old
3884
- * configuration with the new configuration.</p>
3885
- */
3886
- CurrentDeliveryStreamVersionId: string | undefined;
3887
-
3888
- /**
3889
- * <p>The ID of the destination.</p>
3890
- */
3891
- DestinationId: string | undefined;
3892
-
3893
- /**
3894
- * @deprecated
3895
- *
3896
- * <p>[Deprecated] Describes an update for a destination in Amazon S3.</p>
3897
- */
3898
- S3DestinationUpdate?: S3DestinationUpdate;
3899
-
3900
- /**
3901
- * <p>Describes an update for a destination in Amazon S3.</p>
3902
- */
3903
- ExtendedS3DestinationUpdate?: ExtendedS3DestinationUpdate;
3904
-
3905
- /**
3906
- * <p>Describes an update for a destination in Amazon Redshift.</p>
3907
- */
3908
- RedshiftDestinationUpdate?: RedshiftDestinationUpdate;
3909
-
3910
- /**
3911
- * <p>Describes an update for a destination in Amazon ES.</p>
3912
- */
3913
- ElasticsearchDestinationUpdate?: ElasticsearchDestinationUpdate;
3914
-
3915
- /**
3916
- * <p>Describes an update for a destination in Splunk.</p>
3917
- */
3918
- SplunkDestinationUpdate?: SplunkDestinationUpdate;
3919
-
3920
- /**
3921
- * <p>Describes an update to the specified HTTP endpoint destination.</p>
3922
- */
3923
- HttpEndpointDestinationUpdate?: HttpEndpointDestinationUpdate;
3924
- }
3925
-
3926
- export namespace UpdateDestinationInput {
3927
- /**
3928
- * @internal
3929
- */
3930
- export const filterSensitiveLog = (obj: UpdateDestinationInput): any => ({
3931
- ...obj,
3932
- ...(obj.RedshiftDestinationUpdate && {
3933
- RedshiftDestinationUpdate: RedshiftDestinationUpdate.filterSensitiveLog(obj.RedshiftDestinationUpdate),
3934
- }),
3935
- ...(obj.HttpEndpointDestinationUpdate && {
3936
- HttpEndpointDestinationUpdate: HttpEndpointDestinationUpdate.filterSensitiveLog(
3937
- obj.HttpEndpointDestinationUpdate
3938
- ),
3939
- }),
3940
- });
3941
- }
3942
-
3943
- export interface UpdateDestinationOutput {}
3944
-
3945
- export namespace UpdateDestinationOutput {
3946
- /**
3947
- * @internal
3948
- */
3949
- export const filterSensitiveLog = (obj: UpdateDestinationOutput): any => ({
3950
- ...obj,
3951
- });
3952
- }