@aws-sdk/client-timestream-write 3.42.0 → 3.47.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 (39) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +8 -1
  3. package/dist-cjs/commands/WriteRecordsCommand.js +1 -1
  4. package/dist-cjs/endpoints.js +1 -0
  5. package/dist-cjs/models/models_0.js +38 -49
  6. package/dist-cjs/protocols/Aws_json1_0.js +101 -1
  7. package/dist-cjs/runtimeConfig.browser.js +7 -2
  8. package/dist-cjs/runtimeConfig.js +9 -3
  9. package/dist-es/commands/WriteRecordsCommand.js +2 -2
  10. package/dist-es/endpoints.js +1 -0
  11. package/dist-es/models/models_0.js +31 -36
  12. package/dist-es/protocols/Aws_json1_0.js +91 -11
  13. package/dist-es/runtimeConfig.browser.js +12 -3
  14. package/dist-es/runtimeConfig.js +13 -6
  15. package/dist-types/TimestreamWrite.d.ts +83 -21
  16. package/dist-types/TimestreamWriteClient.d.ts +12 -2
  17. package/dist-types/commands/CreateDatabaseCommand.d.ts +6 -3
  18. package/dist-types/commands/CreateTableCommand.d.ts +5 -4
  19. package/dist-types/commands/DeleteDatabaseCommand.d.ts +7 -2
  20. package/dist-types/commands/DeleteTableCommand.d.ts +5 -1
  21. package/dist-types/commands/DescribeDatabaseCommand.d.ts +2 -1
  22. package/dist-types/commands/DescribeEndpointsCommand.d.ts +9 -4
  23. package/dist-types/commands/DescribeTableCommand.d.ts +2 -1
  24. package/dist-types/commands/ListDatabasesCommand.d.ts +2 -1
  25. package/dist-types/commands/ListTablesCommand.d.ts +2 -0
  26. package/dist-types/commands/UpdateDatabaseCommand.d.ts +2 -0
  27. package/dist-types/commands/UpdateTableCommand.d.ts +2 -1
  28. package/dist-types/commands/WriteRecordsCommand.d.ts +34 -4
  29. package/dist-types/models/models_0.d.ts +203 -68
  30. package/dist-types/runtimeConfig.browser.d.ts +3 -2
  31. package/dist-types/runtimeConfig.d.ts +4 -3
  32. package/dist-types/runtimeConfig.native.d.ts +1 -0
  33. package/dist-types/ts3.4/TimestreamWriteClient.d.ts +3 -1
  34. package/dist-types/ts3.4/commands/WriteRecordsCommand.d.ts +2 -2
  35. package/dist-types/ts3.4/models/models_0.d.ts +82 -35
  36. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +3 -2
  37. package/dist-types/ts3.4/runtimeConfig.d.ts +4 -3
  38. package/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -0
  39. package/package.json +39 -46
@@ -7,20 +7,25 @@ export interface DescribeEndpointsCommandInput extends DescribeEndpointsRequest
7
7
  export interface DescribeEndpointsCommandOutput extends DescribeEndpointsResponse, __MetadataBearer {
8
8
  }
9
9
  /**
10
- * <p>DescribeEndpoints returns a list of available endpoints to make Timestream API calls against. This API is available through both Write and Query.</p>
11
- * <p>Because Timestream’s SDKs are designed to transparently work with the service’s architecture,
10
+ * <p>DescribeEndpoints returns a list of available endpoints to make Timestream API calls against.
11
+ * This API is available through both Write and Query.</p>
12
+ * <p>Because the Timestream SDKs are designed to transparently work with the service’s architecture,
12
13
  * including the management and mapping of the service endpoints,
13
14
  * <i>it is not recommended that you use this API unless</i>:</p>
14
15
  * <ul>
15
16
  * <li>
17
+ * <p>You are using <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/VPCEndpoints">VPC endpoints (Amazon Web Services PrivateLink) with Timestream</a>
18
+ * </p>
19
+ * </li>
20
+ * <li>
16
21
  * <p>Your application uses a programming language that does not yet have SDK support</p>
17
22
  * </li>
18
23
  * <li>
19
24
  * <p>You require better control over the client-side implementation</p>
20
25
  * </li>
21
26
  * </ul>
22
- * <p>For detailed information on how to use DescribeEndpoints,
23
- * see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/Using-API.endpoint-discovery.html">The Endpoint Discovery Pattern and REST APIs</a>.</p>
27
+ * <p>For detailed information on how and when to use and implement DescribeEndpoints,
28
+ * see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/Using.API.html#Using-API.endpoint-discovery">The Endpoint Discovery Pattern</a>.</p>
24
29
  * @example
25
30
  * Use a bare-bones client and the command you need to make an API call.
26
31
  * ```javascript
@@ -9,7 +9,8 @@ export interface DescribeTableCommandOutput extends DescribeTableResponse, __Met
9
9
  /**
10
10
  * <p>Returns information about the table, including the table name, database name,
11
11
  * retention duration of the memory store and the magnetic store.
12
- * Service quotas apply. For more information, see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Access Management</a> in the Timestream Developer Guide.
12
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Service quotas apply</a>. See
13
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.describe-table.html">code sample</a> for details.
13
14
  * </p>
14
15
  * @example
15
16
  * Use a bare-bones client and the command you need to make an API call.
@@ -8,7 +8,8 @@ export interface ListDatabasesCommandOutput extends ListDatabasesResponse, __Met
8
8
  }
9
9
  /**
10
10
  * <p>Returns a list of your Timestream databases.
11
- * Service quotas apply. For more information, see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Access Management</a> in the Timestream Developer Guide.
11
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Service quotas apply</a>. See
12
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-db.html">code sample</a> for details.
12
13
  * </p>
13
14
  * @example
14
15
  * Use a bare-bones client and the command you need to make an API call.
@@ -8,6 +8,8 @@ export interface ListTablesCommandOutput extends ListTablesResponse, __MetadataB
8
8
  }
9
9
  /**
10
10
  * <p>A list of tables, along with the name, status and retention properties of each table.
11
+ * See
12
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-table.html">code sample</a> for details.
11
13
  * </p>
12
14
  * @example
13
15
  * Use a bare-bones client and the command you need to make an API call.
@@ -12,6 +12,8 @@ export interface UpdateDatabaseCommandOutput extends UpdateDatabaseResponse, __M
12
12
  * you must specify the database name and the identifier of the new KMS key to be used (<code>KmsKeyId</code>).
13
13
  * If there are any concurrent <code>UpdateDatabase</code> requests, first writer wins.
14
14
  * </p>
15
+ * <p>See
16
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.update-db.html">code sample</a> for details.</p>
15
17
  * @example
16
18
  * Use a bare-bones client and the command you need to make an API call.
17
19
  * ```javascript
@@ -13,7 +13,8 @@ export interface UpdateTableCommandOutput extends UpdateTableResponse, __Metadat
13
13
  * the memory store will be capable of holding 24 hours of data, but will
14
14
  * be populated with 24 hours of data 22 hours after this change was made.
15
15
  * Timestream does not retrieve data from the magnetic store to populate the memory store. </p>
16
- * <p>Service quotas apply. For more information, see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Access Management</a> in the Timestream Developer Guide.</p>
16
+ * <p>See
17
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.update-table.html">code sample</a> for details.</p>
17
18
  * @example
18
19
  * Use a bare-bones client and the command you need to make an API call.
19
20
  * ```javascript
@@ -1,10 +1,10 @@
1
1
  import { Command as $Command } from "@aws-sdk/smithy-client";
2
2
  import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
3
- import { WriteRecordsRequest } from "../models/models_0";
3
+ import { WriteRecordsRequest, WriteRecordsResponse } from "../models/models_0";
4
4
  import { ServiceInputTypes, ServiceOutputTypes, TimestreamWriteClientResolvedConfig } from "../TimestreamWriteClient";
5
5
  export interface WriteRecordsCommandInput extends WriteRecordsRequest {
6
6
  }
7
- export interface WriteRecordsCommandOutput extends __MetadataBearer {
7
+ export interface WriteRecordsCommandOutput extends WriteRecordsResponse, __MetadataBearer {
8
8
  }
9
9
  /**
10
10
  * <p>The WriteRecords operation enables you to write your time series
@@ -18,9 +18,39 @@ export interface WriteRecordsCommandOutput extends __MetadataBearer {
18
18
  * the query results might not reflect the results of a recently completed write
19
19
  * operation. The results may also include some stale data. If you repeat the
20
20
  * query request after a short time, the results should return the latest data.
21
- * Service quotas apply. For more information,
22
- * see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Access Management</a> in the Timestream Developer Guide.
21
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Service quotas apply</a>.
23
22
  * </p>
23
+ *
24
+ * <p>See
25
+ * <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.write.html">code sample</a> for details.</p>
26
+ *
27
+ * <p>
28
+ * <b>Upserts</b>
29
+ * </p>
30
+ *
31
+ * <p>You can use the <code>Version</code> parameter in a <code>WriteRecords</code> request to update data points.
32
+ * Timestream tracks a version number with each record. <code>Version</code> defaults to <code>1</code> when not specified for the record in the request.
33
+ * Timestream will update an existing record’s measure value along with its <code>Version</code> upon receiving a write request with a higher
34
+ * <code>Version</code> number for that record.
35
+ * Upon receiving an update request where the measure value is the same as that of the existing record,
36
+ * Timestream still updates <code>Version</code>, if it is greater than the existing value of <code>Version</code>.
37
+ * You can update a data point as many times as desired, as long as the value of <code>Version</code> continuously increases.
38
+ * </p>
39
+ * <p>
40
+ * For example, suppose you write a new record without indicating <code>Version</code> in the request.
41
+ * Timestream will store this record, and set <code>Version</code> to <code>1</code>.
42
+ * Now, suppose you try to update this record with a <code>WriteRecords</code> request of the same record with a different measure value but,
43
+ * like before, do not provide <code>Version</code>.
44
+ * In this case, Timestream will reject this update with a <code>RejectedRecordsException</code> since the updated record’s version is not greater than the existing value of Version.
45
+ * However, if you were to resend the update request with <code>Version</code> set to <code>2</code>,
46
+ * Timestream would then succeed in updating the record’s value,
47
+ * and the <code>Version</code> would be set to <code>2</code>.
48
+ * Next, suppose you sent a <code>WriteRecords</code> request with this same record and an identical measure value,
49
+ * but with <code>Version</code> set to <code>3</code>.
50
+ * In this case, Timestream would only update <code>Version</code> to <code>3</code>.
51
+ * Any further updates would need to send a version number greater than <code>3</code>,
52
+ * or the update requests would receive a <code>RejectedRecordsException</code>.
53
+ * </p>
24
54
  * @example
25
55
  * Use a bare-bones client and the command you need to make an API call.
26
56
  * ```javascript
@@ -7,12 +7,6 @@ export interface AccessDeniedException extends __SmithyException, $MetadataBeare
7
7
  $fault: "client";
8
8
  Message: string | undefined;
9
9
  }
10
- export declare namespace AccessDeniedException {
11
- /**
12
- * @internal
13
- */
14
- const filterSensitiveLog: (obj: AccessDeniedException) => any;
15
- }
16
10
  /**
17
11
  * <p>Timestream was unable to process this request because it contains resource that already exists.</p>
18
12
  */
@@ -21,12 +15,6 @@ export interface ConflictException extends __SmithyException, $MetadataBearer {
21
15
  $fault: "client";
22
16
  Message: string | undefined;
23
17
  }
24
- export declare namespace ConflictException {
25
- /**
26
- * @internal
27
- */
28
- const filterSensitiveLog: (obj: ConflictException) => any;
29
- }
30
18
  /**
31
19
  * <p>
32
20
  * A tag is a label that you assign to a Timestream database and/or table. Each tag consists
@@ -60,8 +48,10 @@ export interface CreateDatabaseRequest {
60
48
  */
61
49
  DatabaseName: string | undefined;
62
50
  /**
63
- * <p>The KMS key for the database. If the KMS key is not specified, the database will be encrypted with a Timestream
64
- * managed KMS key located in your account. Refer to <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">AWS managed KMS keys</a> for more info.</p>
51
+ * <p>The KMS key for the database.
52
+ * If the KMS key is not specified, the database will be encrypted with a Timestream
53
+ * managed KMS key located in your account.
54
+ * Refer to <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed KMS keys</a> for more info.</p>
65
55
  */
66
56
  KmsKeyId?: string;
67
57
  /**
@@ -136,12 +126,6 @@ export interface InternalServerException extends __SmithyException, $MetadataBea
136
126
  $fault: "server";
137
127
  Message: string | undefined;
138
128
  }
139
- export declare namespace InternalServerException {
140
- /**
141
- * @internal
142
- */
143
- const filterSensitiveLog: (obj: InternalServerException) => any;
144
- }
145
129
  /**
146
130
  * <p>The requested endpoint was invalid.</p>
147
131
  */
@@ -150,12 +134,6 @@ export interface InvalidEndpointException extends __SmithyException, $MetadataBe
150
134
  $fault: "client";
151
135
  Message?: string;
152
136
  }
153
- export declare namespace InvalidEndpointException {
154
- /**
155
- * @internal
156
- */
157
- const filterSensitiveLog: (obj: InvalidEndpointException) => any;
158
- }
159
137
  /**
160
138
  * <p> Instance quota of resource exceeded for this account.</p>
161
139
  */
@@ -164,12 +142,6 @@ export interface ServiceQuotaExceededException extends __SmithyException, $Metad
164
142
  $fault: "client";
165
143
  Message?: string;
166
144
  }
167
- export declare namespace ServiceQuotaExceededException {
168
- /**
169
- * @internal
170
- */
171
- const filterSensitiveLog: (obj: ServiceQuotaExceededException) => any;
172
- }
173
145
  /**
174
146
  * <p> Too many requests were made by a user exceeding service quotas. The request was throttled.</p>
175
147
  */
@@ -178,12 +150,6 @@ export interface ThrottlingException extends __SmithyException, $MetadataBearer
178
150
  $fault: "client";
179
151
  Message: string | undefined;
180
152
  }
181
- export declare namespace ThrottlingException {
182
- /**
183
- * @internal
184
- */
185
- const filterSensitiveLog: (obj: ThrottlingException) => any;
186
- }
187
153
  /**
188
154
  * <p> Invalid or malformed request.</p>
189
155
  */
@@ -192,11 +158,70 @@ export interface ValidationException extends __SmithyException, $MetadataBearer
192
158
  $fault: "client";
193
159
  Message: string | undefined;
194
160
  }
195
- export declare namespace ValidationException {
161
+ export declare enum S3EncryptionOption {
162
+ SSE_KMS = "SSE_KMS",
163
+ SSE_S3 = "SSE_S3"
164
+ }
165
+ /**
166
+ * <p>Configuration specifing an S3 location.</p>
167
+ */
168
+ export interface S3Configuration {
169
+ /**
170
+ * <p>>Bucket name of the customer S3 bucket.</p>
171
+ */
172
+ BucketName?: string;
173
+ /**
174
+ * <p>Object key preview for the customer S3 location.</p>
175
+ */
176
+ ObjectKeyPrefix?: string;
177
+ /**
178
+ * <p>Encryption option for the customer s3 location. Options are S3 server side encryption with an S3-managed key or KMS managed key.</p>
179
+ */
180
+ EncryptionOption?: S3EncryptionOption | string;
181
+ /**
182
+ * <p>KMS key id for the customer s3 location when encrypting with a KMS managed key.</p>
183
+ */
184
+ KmsKeyId?: string;
185
+ }
186
+ export declare namespace S3Configuration {
196
187
  /**
197
188
  * @internal
198
189
  */
199
- const filterSensitiveLog: (obj: ValidationException) => any;
190
+ const filterSensitiveLog: (obj: S3Configuration) => any;
191
+ }
192
+ /**
193
+ * <p>The location to write error reports for records rejected, asynchronously, during magnetic store writes.</p>
194
+ */
195
+ export interface MagneticStoreRejectedDataLocation {
196
+ /**
197
+ * <p>Configuration of an S3 location to write error reports for records rejected, asynchronously, during magnetic store writes.</p>
198
+ */
199
+ S3Configuration?: S3Configuration;
200
+ }
201
+ export declare namespace MagneticStoreRejectedDataLocation {
202
+ /**
203
+ * @internal
204
+ */
205
+ const filterSensitiveLog: (obj: MagneticStoreRejectedDataLocation) => any;
206
+ }
207
+ /**
208
+ * <p>The set of properties on a table for configuring magnetic store writes.</p>
209
+ */
210
+ export interface MagneticStoreWriteProperties {
211
+ /**
212
+ * <p>A flag to enable magnetic store writes.</p>
213
+ */
214
+ EnableMagneticStoreWrites: boolean | undefined;
215
+ /**
216
+ * <p>The location to write error reports for records rejected asynchronously during magnetic store writes.</p>
217
+ */
218
+ MagneticStoreRejectedDataLocation?: MagneticStoreRejectedDataLocation;
219
+ }
220
+ export declare namespace MagneticStoreWriteProperties {
221
+ /**
222
+ * @internal
223
+ */
224
+ const filterSensitiveLog: (obj: MagneticStoreWriteProperties) => any;
200
225
  }
201
226
  /**
202
227
  * <p>Retention properties contain the duration for which your time series data must be stored in the magnetic store and the memory store.
@@ -237,6 +262,10 @@ export interface CreateTableRequest {
237
262
  * </p>
238
263
  */
239
264
  Tags?: Tag[];
265
+ /**
266
+ * <p>Contains properties to set on the table when enabling magnetic store writes.</p>
267
+ */
268
+ MagneticStoreWriteProperties?: MagneticStoreWriteProperties;
240
269
  }
241
270
  export declare namespace CreateTableRequest {
242
271
  /**
@@ -291,6 +320,10 @@ export interface Table {
291
320
  * <p>The time when the Timestream table was last updated.</p>
292
321
  */
293
322
  LastUpdatedTime?: Date;
323
+ /**
324
+ * <p>Contains properties to set on the table when enabling magnetic store writes.</p>
325
+ */
326
+ MagneticStoreWriteProperties?: MagneticStoreWriteProperties;
294
327
  }
295
328
  export declare namespace Table {
296
329
  /**
@@ -318,12 +351,6 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB
318
351
  $fault: "client";
319
352
  Message?: string;
320
353
  }
321
- export declare namespace ResourceNotFoundException {
322
- /**
323
- * @internal
324
- */
325
- const filterSensitiveLog: (obj: ResourceNotFoundException) => any;
326
- }
327
354
  export interface DeleteDatabaseRequest {
328
355
  /**
329
356
  * <p>The name of the Timestream database to be deleted.</p>
@@ -576,8 +603,36 @@ export declare enum MeasureValueType {
576
603
  BIGINT = "BIGINT",
577
604
  BOOLEAN = "BOOLEAN",
578
605
  DOUBLE = "DOUBLE",
606
+ MULTI = "MULTI",
607
+ TIMESTAMP = "TIMESTAMP",
579
608
  VARCHAR = "VARCHAR"
580
609
  }
610
+ /**
611
+ * <p> MeasureValue represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures. MeasureValue has both name and value. </p>
612
+ * <p> MeasureValue is only allowed for type <code>MULTI</code>. Using <code>MULTI</code> type, you can pass multiple data attributes associated with the same time series in a single record </p>
613
+ */
614
+ export interface MeasureValue {
615
+ /**
616
+ * <p> Name of the MeasureValue. </p>
617
+ * <p> For constraints on MeasureValue names, refer to <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming">
618
+ * Naming Constraints</a> in the Timestream developer guide.</p>
619
+ */
620
+ Name: string | undefined;
621
+ /**
622
+ * <p> Value for the MeasureValue. </p>
623
+ */
624
+ Value: string | undefined;
625
+ /**
626
+ * <p>Contains the data type of the MeasureValue for the time series data point.</p>
627
+ */
628
+ Type: MeasureValueType | string | undefined;
629
+ }
630
+ export declare namespace MeasureValue {
631
+ /**
632
+ * @internal
633
+ */
634
+ const filterSensitiveLog: (obj: MeasureValue) => any;
635
+ }
581
636
  export declare enum TimeUnit {
582
637
  MICROSECONDS = "MICROSECONDS",
583
638
  MILLISECONDS = "MILLISECONDS",
@@ -595,6 +650,14 @@ export declare enum TimeUnit {
595
650
  * In addition, the record contains the timestamp when the measure was collected that
596
651
  * the timestamp unit which represents the granularity of the timestamp.
597
652
  * </p>
653
+ * <p>
654
+ * Records have a <code>Version</code> field, which is a 64-bit <code>long</code> that you can use for updating data points.
655
+ * Writes of a duplicate record with the same dimension,
656
+ * timestamp, and measure name
657
+ * but different measure value will only succeed if the <code>Version</code> attribute of the record in the write request
658
+ * is higher than that of the existing record.
659
+ * Timestream defaults to a <code>Version</code> of <code>1</code> for records without the <code>Version</code> field.
660
+ * </p>
598
661
  */
599
662
  export interface _Record {
600
663
  /**
@@ -613,7 +676,7 @@ export interface _Record {
613
676
  MeasureValue?: string;
614
677
  /**
615
678
  * <p>
616
- * Contains the data type of the measure value for the time series data point.
679
+ * Contains the data type of the measure value for the time series data point. Default type is <code>DOUBLE</code>.
617
680
  * </p>
618
681
  */
619
682
  MeasureValueType?: MeasureValueType | string;
@@ -629,15 +692,26 @@ export interface _Record {
629
692
  /**
630
693
  * <p>
631
694
  * The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds or other supported values.
695
+ * Default is <code>MILLISECONDS</code>.
632
696
  * </p>
633
697
  */
634
698
  TimeUnit?: TimeUnit | string;
635
699
  /**
636
700
  * <p>64-bit attribute used for record updates.
637
701
  * Write requests for duplicate data with a higher version number will update the existing measure value and version.
638
- * In cases where the measure value is the same, <code>Version</code> will still be updated . Default value is to 1.</p>
702
+ * In cases where the measure value is the same, <code>Version</code> will still be updated . Default value is <code>1</code>.</p>
703
+ *
704
+ * <note>
705
+ * <p>
706
+ * <code>Version</code> must be <code>1</code> or greater, or you will receive a <code>ValidationException</code> error.</p>
707
+ * </note>
639
708
  */
640
709
  Version?: number;
710
+ /**
711
+ * <p> Contains the list of MeasureValue for time series data points. </p>
712
+ * <p> This is only allowed for type <code>MULTI</code>. For scalar values, use <code>MeasureValue</code> attribute of the Record directly. </p>
713
+ */
714
+ MeasureValues?: MeasureValue[];
641
715
  }
642
716
  export declare namespace _Record {
643
717
  /**
@@ -645,6 +719,29 @@ export declare namespace _Record {
645
719
  */
646
720
  const filterSensitiveLog: (obj: _Record) => any;
647
721
  }
722
+ /**
723
+ * <p>Information on the records ingested by this request.</p>
724
+ */
725
+ export interface RecordsIngested {
726
+ /**
727
+ * <p>Total count of successfully ingested records.</p>
728
+ */
729
+ Total?: number;
730
+ /**
731
+ * <p>Count of records ingested into the memory store.</p>
732
+ */
733
+ MemoryStore?: number;
734
+ /**
735
+ * <p>Count of records ingested into the magnetic store.</p>
736
+ */
737
+ MagneticStore?: number;
738
+ }
739
+ export declare namespace RecordsIngested {
740
+ /**
741
+ * @internal
742
+ */
743
+ const filterSensitiveLog: (obj: RecordsIngested) => any;
744
+ }
648
745
  /**
649
746
  * <p>
650
747
  * Records that were not successfully inserted into Timestream due to data validation issues
@@ -664,10 +761,22 @@ export interface RejectedRecord {
664
761
  * </p>
665
762
  * <ul>
666
763
  * <li>
667
- * <p>
668
- * Records with duplicate data where there are multiple records with the same dimensions,
669
- * timestamps, and measure names but different measure values.
764
+ * <p>Records with duplicate data where there are multiple records with the same dimensions,
765
+ * timestamps, and measure names but:
670
766
  * </p>
767
+ * <ul>
768
+ * <li>
769
+ * <p>Measure values are different</p>
770
+ * </li>
771
+ * <li>
772
+ * <p>Version is not present in the request <i>or</i>
773
+ * the value of version in the new record is equal to or lower than the existing value</p>
774
+ * </li>
775
+ * </ul>
776
+ * <p>
777
+ * If Timestream rejects data for this case, the <code>ExistingVersion</code> field in the <code>RejectedRecords</code>
778
+ * response will indicate the current record’s version.
779
+ * To force an update, you can resend the request with a version for the record set to a value greater than the <code>ExistingVersion</code>.</p>
671
780
  * </li>
672
781
  * <li>
673
782
  * <p>
@@ -715,10 +824,22 @@ export declare namespace RejectedRecord {
715
824
  * </p>
716
825
  * <ul>
717
826
  * <li>
718
- * <p>
719
- * Records with duplicate data where there are multiple records with the same dimensions,
720
- * timestamps, and measure names but different measure values.
721
- * </p>
827
+ * <p>Records with duplicate data where there are multiple records with the same dimensions,
828
+ * timestamps, and measure names but:
829
+ * </p>
830
+ * <ul>
831
+ * <li>
832
+ * <p>Measure values are different</p>
833
+ * </li>
834
+ * <li>
835
+ * <p>Version is not present in the request <i>or</i>
836
+ * the value of version in the new record is equal to or lower than the existing value</p>
837
+ * </li>
838
+ * </ul>
839
+ * <p>
840
+ * In this case, if Timestream rejects data, the <code>ExistingVersion</code> field in the <code>RejectedRecords</code>
841
+ * response will indicate the current record’s version.
842
+ * To force an update, you can resend the request with a version for the record set to a value greater than the <code>ExistingVersion</code>.</p>
722
843
  * </li>
723
844
  * <li>
724
845
  * <p>
@@ -732,7 +853,7 @@ export declare namespace RejectedRecord {
732
853
  * </li>
733
854
  * </ul>
734
855
  * <p>
735
- * For more information, see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Access Management</a> in the Timestream Developer Guide.
856
+ * For more information, see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Quotas</a> in the Timestream Developer Guide.
736
857
  * </p>
737
858
  */
738
859
  export interface RejectedRecordsException extends __SmithyException, $MetadataBearer {
@@ -741,12 +862,6 @@ export interface RejectedRecordsException extends __SmithyException, $MetadataBe
741
862
  Message?: string;
742
863
  RejectedRecords?: RejectedRecord[];
743
864
  }
744
- export declare namespace RejectedRecordsException {
745
- /**
746
- * @internal
747
- */
748
- const filterSensitiveLog: (obj: RejectedRecordsException) => any;
749
- }
750
865
  export interface TagResourceRequest {
751
866
  /**
752
867
  * <p>
@@ -867,13 +982,17 @@ export interface UpdateTableRequest {
867
982
  */
868
983
  DatabaseName: string | undefined;
869
984
  /**
870
- * <p>The name of the Timesream table.</p>
985
+ * <p>The name of the Timestream table.</p>
871
986
  */
872
987
  TableName: string | undefined;
873
988
  /**
874
989
  * <p>The retention duration of the memory store and the magnetic store.</p>
875
990
  */
876
- RetentionProperties: RetentionProperties | undefined;
991
+ RetentionProperties?: RetentionProperties;
992
+ /**
993
+ * <p>Contains properties to set on the table when enabling magnetic store writes.</p>
994
+ */
995
+ MagneticStoreWriteProperties?: MagneticStoreWriteProperties;
877
996
  }
878
997
  export declare namespace UpdateTableRequest {
879
998
  /**
@@ -899,19 +1018,23 @@ export interface WriteRecordsRequest {
899
1018
  */
900
1019
  DatabaseName: string | undefined;
901
1020
  /**
902
- * <p>The name of the Timesream table.</p>
1021
+ * <p>The name of the Timestream table.</p>
903
1022
  */
904
1023
  TableName: string | undefined;
905
1024
  /**
906
- * <p>A record containing the common measure and dimension attributes
1025
+ * <p>A record containing the common measure, dimension, time,
1026
+ * and version attributes
907
1027
  * shared across all the records in the request. The measure and dimension
908
- * attributes specified in here will be merged with the measure and dimension
1028
+ * attributes specified will be merged with the measure and dimension
909
1029
  * attributes in the records object when the data is written into Timestream.
1030
+ * Dimensions may not overlap,
1031
+ * or a <code>ValidationException</code> will be thrown.
1032
+ * In other words, a record must contain dimensions with unique names.
910
1033
  * </p>
911
1034
  */
912
1035
  CommonAttributes?: _Record;
913
1036
  /**
914
- * <p>An array of records containing the unique dimension and measure
1037
+ * <p>An array of records containing the unique measure, dimension, time, and version
915
1038
  * attributes for each time series data point.
916
1039
  * </p>
917
1040
  */
@@ -923,3 +1046,15 @@ export declare namespace WriteRecordsRequest {
923
1046
  */
924
1047
  const filterSensitiveLog: (obj: WriteRecordsRequest) => any;
925
1048
  }
1049
+ export interface WriteRecordsResponse {
1050
+ /**
1051
+ * <p>Information on the records ingested by this request.</p>
1052
+ */
1053
+ RecordsIngested?: RecordsIngested;
1054
+ }
1055
+ export declare namespace WriteRecordsResponse {
1056
+ /**
1057
+ * @internal
1058
+ */
1059
+ const filterSensitiveLog: (obj: WriteRecordsResponse) => any;
1060
+ }
@@ -1,10 +1,11 @@
1
- import { FetchHttpHandler } from "@aws-sdk/fetch-http-handler";
1
+ import { FetchHttpHandler as RequestHandler } from "@aws-sdk/fetch-http-handler";
2
2
  import { TimestreamWriteClientConfig } from "./TimestreamWriteClient";
3
3
  /**
4
4
  * @internal
5
5
  */
6
6
  export declare const getRuntimeConfig: (config: TimestreamWriteClientConfig) => {
7
7
  runtime: string;
8
+ defaultsMode: import("@aws-sdk/types").Provider<import("@aws-sdk/smithy-client").ResolvedDefaultsMode>;
8
9
  base64Decoder: import("@aws-sdk/types").Decoder;
9
10
  base64Encoder: import("@aws-sdk/types").Encoder;
10
11
  bodyLengthChecker: (body: any) => number | undefined;
@@ -13,7 +14,7 @@ export declare const getRuntimeConfig: (config: TimestreamWriteClientConfig) =>
13
14
  endpointDiscoveryEnabledProvider: import("@aws-sdk/types").Provider<boolean | undefined>;
14
15
  maxAttempts: number | import("@aws-sdk/types").Provider<number>;
15
16
  region: string | import("@aws-sdk/types").Provider<any>;
16
- requestHandler: (import("@aws-sdk/types").RequestHandler<any, any, import("@aws-sdk/types").HttpHandlerOptions> & import("@aws-sdk/protocol-http").HttpHandler) | FetchHttpHandler;
17
+ requestHandler: (import("@aws-sdk/types").RequestHandler<any, any, import("@aws-sdk/types").HttpHandlerOptions> & import("@aws-sdk/protocol-http").HttpHandler) | RequestHandler;
17
18
  retryMode: string | import("@aws-sdk/types").Provider<string>;
18
19
  sha256: import("@aws-sdk/types").HashConstructor;
19
20
  streamCollector: import("@aws-sdk/types").StreamCollector;
@@ -1,19 +1,20 @@
1
- import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
1
+ import { NodeHttpHandler as RequestHandler } from "@aws-sdk/node-http-handler";
2
2
  import { TimestreamWriteClientConfig } from "./TimestreamWriteClient";
3
3
  /**
4
4
  * @internal
5
5
  */
6
6
  export declare const getRuntimeConfig: (config: TimestreamWriteClientConfig) => {
7
7
  runtime: string;
8
+ defaultsMode: import("@aws-sdk/types").Provider<import("@aws-sdk/smithy-client").ResolvedDefaultsMode>;
8
9
  base64Decoder: import("@aws-sdk/types").Decoder;
9
10
  base64Encoder: import("@aws-sdk/types").Encoder;
10
11
  bodyLengthChecker: (body: any) => number | undefined;
11
- credentialDefaultProvider: import("@aws-sdk/client-sts/dist-types/defaultStsRoleAssumers").DefaultCredentialProvider;
12
+ credentialDefaultProvider: (input: any) => import("@aws-sdk/types").Provider<import("@aws-sdk/types").Credentials>;
12
13
  defaultUserAgentProvider: import("@aws-sdk/types").Provider<import("@aws-sdk/types").UserAgent>;
13
14
  endpointDiscoveryEnabledProvider: import("@aws-sdk/types").Provider<boolean | undefined>;
14
15
  maxAttempts: number | import("@aws-sdk/types").Provider<number>;
15
16
  region: string | import("@aws-sdk/types").Provider<string>;
16
- requestHandler: (import("@aws-sdk/types").RequestHandler<any, any, import("@aws-sdk/types").HttpHandlerOptions> & import("@aws-sdk/protocol-http").HttpHandler) | NodeHttpHandler;
17
+ requestHandler: (import("@aws-sdk/types").RequestHandler<any, any, import("@aws-sdk/types").HttpHandlerOptions> & import("@aws-sdk/protocol-http").HttpHandler) | RequestHandler;
17
18
  retryMode: string | import("@aws-sdk/types").Provider<string>;
18
19
  sha256: import("@aws-sdk/types").HashConstructor;
19
20
  streamCollector: import("@aws-sdk/types").StreamCollector;
@@ -26,6 +26,7 @@ export declare const getRuntimeConfig: (config: TimestreamWriteClientConfig) =>
26
26
  regionInfoProvider: import("@aws-sdk/types").RegionInfoProvider;
27
27
  defaultUserAgentProvider: import("@aws-sdk/types").Provider<import("@aws-sdk/types").UserAgent>;
28
28
  endpointDiscoveryEnabledProvider: import("@aws-sdk/types").Provider<boolean | undefined>;
29
+ defaultsMode: import("@aws-sdk/smithy-client").DefaultsMode | import("@aws-sdk/types").Provider<import("@aws-sdk/smithy-client").DefaultsMode> | import("@aws-sdk/types").Provider<import("@aws-sdk/smithy-client").ResolvedDefaultsMode>;
29
30
  endpoint?: string | import("@aws-sdk/types").Endpoint | import("@aws-sdk/types").Provider<import("@aws-sdk/types").Endpoint> | undefined;
30
31
  tls?: boolean | undefined;
31
32
  retryStrategy?: import("@aws-sdk/types").RetryStrategy | undefined;