aws-sdk-timestreamwrite 1.0.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.
@@ -0,0 +1,187 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::TimestreamWrite
11
+
12
+ # When TimestreamWrite returns an error response, the Ruby SDK constructs and raises an error.
13
+ # These errors all extend Aws::TimestreamWrite::Errors::ServiceError < {Aws::Errors::ServiceError}
14
+ #
15
+ # You can rescue all TimestreamWrite errors using ServiceError:
16
+ #
17
+ # begin
18
+ # # do stuff
19
+ # rescue Aws::TimestreamWrite::Errors::ServiceError
20
+ # # rescues all TimestreamWrite API errors
21
+ # end
22
+ #
23
+ #
24
+ # ## Request Context
25
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
26
+ # information about the request that generated the error.
27
+ # See {Seahorse::Client::RequestContext} for more information.
28
+ #
29
+ # ## Error Classes
30
+ # * {AccessDeniedException}
31
+ # * {ConflictException}
32
+ # * {InternalServerException}
33
+ # * {InvalidEndpointException}
34
+ # * {RejectedRecordsException}
35
+ # * {ResourceNotFoundException}
36
+ # * {ServiceQuotaExceededException}
37
+ # * {ThrottlingException}
38
+ # * {ValidationException}
39
+ #
40
+ # Additionally, error classes are dynamically generated for service errors based on the error code
41
+ # if they are not defined above.
42
+ module Errors
43
+
44
+ extend Aws::Errors::DynamicErrors
45
+
46
+ class AccessDeniedException < ServiceError
47
+
48
+ # @param [Seahorse::Client::RequestContext] context
49
+ # @param [String] message
50
+ # @param [Aws::TimestreamWrite::Types::AccessDeniedException] data
51
+ def initialize(context, message, data = Aws::EmptyStructure.new)
52
+ super(context, message, data)
53
+ end
54
+
55
+ # @return [String]
56
+ def message
57
+ @message || @data[:message]
58
+ end
59
+ end
60
+
61
+ class ConflictException < ServiceError
62
+
63
+ # @param [Seahorse::Client::RequestContext] context
64
+ # @param [String] message
65
+ # @param [Aws::TimestreamWrite::Types::ConflictException] data
66
+ def initialize(context, message, data = Aws::EmptyStructure.new)
67
+ super(context, message, data)
68
+ end
69
+
70
+ # @return [String]
71
+ def message
72
+ @message || @data[:message]
73
+ end
74
+ end
75
+
76
+ class InternalServerException < ServiceError
77
+
78
+ # @param [Seahorse::Client::RequestContext] context
79
+ # @param [String] message
80
+ # @param [Aws::TimestreamWrite::Types::InternalServerException] data
81
+ def initialize(context, message, data = Aws::EmptyStructure.new)
82
+ super(context, message, data)
83
+ end
84
+
85
+ # @return [String]
86
+ def message
87
+ @message || @data[:message]
88
+ end
89
+ end
90
+
91
+ class InvalidEndpointException < ServiceError
92
+
93
+ # @param [Seahorse::Client::RequestContext] context
94
+ # @param [String] message
95
+ # @param [Aws::TimestreamWrite::Types::InvalidEndpointException] data
96
+ def initialize(context, message, data = Aws::EmptyStructure.new)
97
+ super(context, message, data)
98
+ end
99
+
100
+ # @return [String]
101
+ def message
102
+ @message || @data[:message]
103
+ end
104
+ end
105
+
106
+ class RejectedRecordsException < ServiceError
107
+
108
+ # @param [Seahorse::Client::RequestContext] context
109
+ # @param [String] message
110
+ # @param [Aws::TimestreamWrite::Types::RejectedRecordsException] data
111
+ def initialize(context, message, data = Aws::EmptyStructure.new)
112
+ super(context, message, data)
113
+ end
114
+
115
+ # @return [String]
116
+ def message
117
+ @message || @data[:message]
118
+ end
119
+
120
+ # @return [String]
121
+ def rejected_records
122
+ @data[:rejected_records]
123
+ end
124
+ end
125
+
126
+ class ResourceNotFoundException < ServiceError
127
+
128
+ # @param [Seahorse::Client::RequestContext] context
129
+ # @param [String] message
130
+ # @param [Aws::TimestreamWrite::Types::ResourceNotFoundException] data
131
+ def initialize(context, message, data = Aws::EmptyStructure.new)
132
+ super(context, message, data)
133
+ end
134
+
135
+ # @return [String]
136
+ def message
137
+ @message || @data[:message]
138
+ end
139
+ end
140
+
141
+ class ServiceQuotaExceededException < ServiceError
142
+
143
+ # @param [Seahorse::Client::RequestContext] context
144
+ # @param [String] message
145
+ # @param [Aws::TimestreamWrite::Types::ServiceQuotaExceededException] data
146
+ def initialize(context, message, data = Aws::EmptyStructure.new)
147
+ super(context, message, data)
148
+ end
149
+
150
+ # @return [String]
151
+ def message
152
+ @message || @data[:message]
153
+ end
154
+ end
155
+
156
+ class ThrottlingException < ServiceError
157
+
158
+ # @param [Seahorse::Client::RequestContext] context
159
+ # @param [String] message
160
+ # @param [Aws::TimestreamWrite::Types::ThrottlingException] data
161
+ def initialize(context, message, data = Aws::EmptyStructure.new)
162
+ super(context, message, data)
163
+ end
164
+
165
+ # @return [String]
166
+ def message
167
+ @message || @data[:message]
168
+ end
169
+ end
170
+
171
+ class ValidationException < ServiceError
172
+
173
+ # @param [Seahorse::Client::RequestContext] context
174
+ # @param [String] message
175
+ # @param [Aws::TimestreamWrite::Types::ValidationException] data
176
+ def initialize(context, message, data = Aws::EmptyStructure.new)
177
+ super(context, message, data)
178
+ end
179
+
180
+ # @return [String]
181
+ def message
182
+ @message || @data[:message]
183
+ end
184
+ end
185
+
186
+ end
187
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::TimestreamWrite
11
+
12
+ class Resource
13
+
14
+ # @param options ({})
15
+ # @option options [Client] :client
16
+ def initialize(options = {})
17
+ @client = options[:client] || Client.new(options)
18
+ end
19
+
20
+ # @return [Client]
21
+ def client
22
+ @client
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,1089 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::TimestreamWrite
11
+ module Types
12
+
13
+ # You are not authorized to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # Timestream was unable to process this request because it contains
27
+ # resource that already exists.
28
+ #
29
+ # @!attribute [rw] message
30
+ # @return [String]
31
+ #
32
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ConflictException AWS API Documentation
33
+ #
34
+ class ConflictException < Struct.new(
35
+ :message)
36
+ SENSITIVE = []
37
+ include Aws::Structure
38
+ end
39
+
40
+ # @note When making an API call, you may pass CreateDatabaseRequest
41
+ # data as a hash:
42
+ #
43
+ # {
44
+ # database_name: "ResourceName", # required
45
+ # kms_key_id: "StringValue2048",
46
+ # tags: [
47
+ # {
48
+ # key: "TagKey", # required
49
+ # value: "TagValue", # required
50
+ # },
51
+ # ],
52
+ # }
53
+ #
54
+ # @!attribute [rw] database_name
55
+ # The name of the Timestream database.
56
+ # @return [String]
57
+ #
58
+ # @!attribute [rw] kms_key_id
59
+ # The KMS key for the database. If the KMS key is not specified, the
60
+ # database will be encrypted with a Timestream managed KMS key located
61
+ # in your account. Refer to [AWS managed KMS keys][1] for more info.
62
+ #
63
+ #
64
+ #
65
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
66
+ # @return [String]
67
+ #
68
+ # @!attribute [rw] tags
69
+ # A list of key-value pairs to label the table.
70
+ # @return [Array<Types::Tag>]
71
+ #
72
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/CreateDatabaseRequest AWS API Documentation
73
+ #
74
+ class CreateDatabaseRequest < Struct.new(
75
+ :database_name,
76
+ :kms_key_id,
77
+ :tags)
78
+ SENSITIVE = []
79
+ include Aws::Structure
80
+ end
81
+
82
+ # @!attribute [rw] database
83
+ # The newly created Timestream database.
84
+ # @return [Types::Database]
85
+ #
86
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/CreateDatabaseResponse AWS API Documentation
87
+ #
88
+ class CreateDatabaseResponse < Struct.new(
89
+ :database)
90
+ SENSITIVE = []
91
+ include Aws::Structure
92
+ end
93
+
94
+ # @note When making an API call, you may pass CreateTableRequest
95
+ # data as a hash:
96
+ #
97
+ # {
98
+ # database_name: "ResourceName", # required
99
+ # table_name: "ResourceName", # required
100
+ # retention_properties: {
101
+ # memory_store_retention_period_in_hours: 1, # required
102
+ # magnetic_store_retention_period_in_days: 1, # required
103
+ # },
104
+ # tags: [
105
+ # {
106
+ # key: "TagKey", # required
107
+ # value: "TagValue", # required
108
+ # },
109
+ # ],
110
+ # }
111
+ #
112
+ # @!attribute [rw] database_name
113
+ # The name of the Timestream database.
114
+ # @return [String]
115
+ #
116
+ # @!attribute [rw] table_name
117
+ # The name of the Timestream table.
118
+ # @return [String]
119
+ #
120
+ # @!attribute [rw] retention_properties
121
+ # The duration for which your time series data must be stored in the
122
+ # memory store and the magnetic store.
123
+ # @return [Types::RetentionProperties]
124
+ #
125
+ # @!attribute [rw] tags
126
+ # A list of key-value pairs to label the table.
127
+ # @return [Array<Types::Tag>]
128
+ #
129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/CreateTableRequest AWS API Documentation
130
+ #
131
+ class CreateTableRequest < Struct.new(
132
+ :database_name,
133
+ :table_name,
134
+ :retention_properties,
135
+ :tags)
136
+ SENSITIVE = []
137
+ include Aws::Structure
138
+ end
139
+
140
+ # @!attribute [rw] table
141
+ # The newly created Timestream table.
142
+ # @return [Types::Table]
143
+ #
144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/CreateTableResponse AWS API Documentation
145
+ #
146
+ class CreateTableResponse < Struct.new(
147
+ :table)
148
+ SENSITIVE = []
149
+ include Aws::Structure
150
+ end
151
+
152
+ # A top level container for a table. Databases and tables are the
153
+ # fundamental management concepts in Amazon Timestream. All tables in a
154
+ # database are encrypted with the same KMS key.
155
+ #
156
+ # @!attribute [rw] arn
157
+ # The Amazon Resource Name that uniquely identifies this database.
158
+ # @return [String]
159
+ #
160
+ # @!attribute [rw] database_name
161
+ # The name of the Timestream database.
162
+ # @return [String]
163
+ #
164
+ # @!attribute [rw] table_count
165
+ # The total number of tables found within a Timestream database.
166
+ # @return [Integer]
167
+ #
168
+ # @!attribute [rw] kms_key_id
169
+ # The identifier of the KMS key used to encrypt the data stored in the
170
+ # database.
171
+ # @return [String]
172
+ #
173
+ # @!attribute [rw] creation_time
174
+ # The time when the database was created, calculated from the Unix
175
+ # epoch time.
176
+ # @return [Time]
177
+ #
178
+ # @!attribute [rw] last_updated_time
179
+ # The last time that this database was updated.
180
+ # @return [Time]
181
+ #
182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/Database AWS API Documentation
183
+ #
184
+ class Database < Struct.new(
185
+ :arn,
186
+ :database_name,
187
+ :table_count,
188
+ :kms_key_id,
189
+ :creation_time,
190
+ :last_updated_time)
191
+ SENSITIVE = []
192
+ include Aws::Structure
193
+ end
194
+
195
+ # @note When making an API call, you may pass DeleteDatabaseRequest
196
+ # data as a hash:
197
+ #
198
+ # {
199
+ # database_name: "ResourceName", # required
200
+ # }
201
+ #
202
+ # @!attribute [rw] database_name
203
+ # The name of the Timestream database to be deleted.
204
+ # @return [String]
205
+ #
206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DeleteDatabaseRequest AWS API Documentation
207
+ #
208
+ class DeleteDatabaseRequest < Struct.new(
209
+ :database_name)
210
+ SENSITIVE = []
211
+ include Aws::Structure
212
+ end
213
+
214
+ # @note When making an API call, you may pass DeleteTableRequest
215
+ # data as a hash:
216
+ #
217
+ # {
218
+ # database_name: "ResourceName", # required
219
+ # table_name: "ResourceName", # required
220
+ # }
221
+ #
222
+ # @!attribute [rw] database_name
223
+ # The name of the database where the Timestream database is to be
224
+ # deleted.
225
+ # @return [String]
226
+ #
227
+ # @!attribute [rw] table_name
228
+ # The name of the Timestream table to be deleted.
229
+ # @return [String]
230
+ #
231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DeleteTableRequest AWS API Documentation
232
+ #
233
+ class DeleteTableRequest < Struct.new(
234
+ :database_name,
235
+ :table_name)
236
+ SENSITIVE = []
237
+ include Aws::Structure
238
+ end
239
+
240
+ # @note When making an API call, you may pass DescribeDatabaseRequest
241
+ # data as a hash:
242
+ #
243
+ # {
244
+ # database_name: "ResourceName", # required
245
+ # }
246
+ #
247
+ # @!attribute [rw] database_name
248
+ # The name of the Timestream database.
249
+ # @return [String]
250
+ #
251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeDatabaseRequest AWS API Documentation
252
+ #
253
+ class DescribeDatabaseRequest < Struct.new(
254
+ :database_name)
255
+ SENSITIVE = []
256
+ include Aws::Structure
257
+ end
258
+
259
+ # @!attribute [rw] database
260
+ # The name of the Timestream table.
261
+ # @return [Types::Database]
262
+ #
263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeDatabaseResponse AWS API Documentation
264
+ #
265
+ class DescribeDatabaseResponse < Struct.new(
266
+ :database)
267
+ SENSITIVE = []
268
+ include Aws::Structure
269
+ end
270
+
271
+ # @api private
272
+ #
273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeEndpointsRequest AWS API Documentation
274
+ #
275
+ class DescribeEndpointsRequest < Aws::EmptyStructure; end
276
+
277
+ # @!attribute [rw] endpoints
278
+ # An `Endpoints` object is returned when a `DescribeEndpoints` request
279
+ # is made.
280
+ # @return [Array<Types::Endpoint>]
281
+ #
282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeEndpointsResponse AWS API Documentation
283
+ #
284
+ class DescribeEndpointsResponse < Struct.new(
285
+ :endpoints)
286
+ SENSITIVE = []
287
+ include Aws::Structure
288
+ end
289
+
290
+ # @note When making an API call, you may pass DescribeTableRequest
291
+ # data as a hash:
292
+ #
293
+ # {
294
+ # database_name: "ResourceName", # required
295
+ # table_name: "ResourceName", # required
296
+ # }
297
+ #
298
+ # @!attribute [rw] database_name
299
+ # The name of the Timestream database.
300
+ # @return [String]
301
+ #
302
+ # @!attribute [rw] table_name
303
+ # The name of the Timestream table.
304
+ # @return [String]
305
+ #
306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeTableRequest AWS API Documentation
307
+ #
308
+ class DescribeTableRequest < Struct.new(
309
+ :database_name,
310
+ :table_name)
311
+ SENSITIVE = []
312
+ include Aws::Structure
313
+ end
314
+
315
+ # @!attribute [rw] table
316
+ # The Timestream table.
317
+ # @return [Types::Table]
318
+ #
319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeTableResponse AWS API Documentation
320
+ #
321
+ class DescribeTableResponse < Struct.new(
322
+ :table)
323
+ SENSITIVE = []
324
+ include Aws::Structure
325
+ end
326
+
327
+ # Dimension represents the meta data attributes of the time series. For
328
+ # example, the name and availability zone of an EC2 instance or the name
329
+ # of the manufacturer of a wind turbine are dimensions.
330
+ #
331
+ # @note When making an API call, you may pass Dimension
332
+ # data as a hash:
333
+ #
334
+ # {
335
+ # name: "StringValue256", # required
336
+ # value: "StringValue2048", # required
337
+ # dimension_value_type: "VARCHAR", # accepts VARCHAR
338
+ # }
339
+ #
340
+ # @!attribute [rw] name
341
+ # Dimension represents the meta data attributes of the time series.
342
+ # For example, the name and availability zone of an EC2 instance or
343
+ # the name of the manufacturer of a wind turbine are dimensions.
344
+ # *Dimension names can only contain alphanumeric characters and
345
+ # underscores. Dimension names cannot end with an underscore.*
346
+ # @return [String]
347
+ #
348
+ # @!attribute [rw] value
349
+ # The value of the dimension.
350
+ # @return [String]
351
+ #
352
+ # @!attribute [rw] dimension_value_type
353
+ # The data type of the dimension for the time series data point.
354
+ # @return [String]
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/Dimension AWS API Documentation
357
+ #
358
+ class Dimension < Struct.new(
359
+ :name,
360
+ :value,
361
+ :dimension_value_type)
362
+ SENSITIVE = []
363
+ include Aws::Structure
364
+ end
365
+
366
+ # Represents an available endpoint against which to make API calls
367
+ # agaisnt, as well as the TTL for that endpoint.
368
+ #
369
+ # @!attribute [rw] address
370
+ # An endpoint address.
371
+ # @return [String]
372
+ #
373
+ # @!attribute [rw] cache_period_in_minutes
374
+ # The TTL for the endpoint, in minutes.
375
+ # @return [Integer]
376
+ #
377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/Endpoint AWS API Documentation
378
+ #
379
+ class Endpoint < Struct.new(
380
+ :address,
381
+ :cache_period_in_minutes)
382
+ SENSITIVE = []
383
+ include Aws::Structure
384
+ end
385
+
386
+ # Timestream was unable to fully process this request because of an
387
+ # internal server error.
388
+ #
389
+ # @!attribute [rw] message
390
+ # @return [String]
391
+ #
392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/InternalServerException AWS API Documentation
393
+ #
394
+ class InternalServerException < Struct.new(
395
+ :message)
396
+ SENSITIVE = []
397
+ include Aws::Structure
398
+ end
399
+
400
+ # The requested endpoint was invalid.
401
+ #
402
+ # @!attribute [rw] message
403
+ # @return [String]
404
+ #
405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/InvalidEndpointException AWS API Documentation
406
+ #
407
+ class InvalidEndpointException < Struct.new(
408
+ :message)
409
+ SENSITIVE = []
410
+ include Aws::Structure
411
+ end
412
+
413
+ # @note When making an API call, you may pass ListDatabasesRequest
414
+ # data as a hash:
415
+ #
416
+ # {
417
+ # next_token: "String",
418
+ # max_results: 1,
419
+ # }
420
+ #
421
+ # @!attribute [rw] next_token
422
+ # The pagination token. To resume pagination, provide the NextToken
423
+ # value as argument of a subsequent API invocation.
424
+ # @return [String]
425
+ #
426
+ # @!attribute [rw] max_results
427
+ # The total number of items to return in the output. If the total
428
+ # number of items available is more than the value specified, a
429
+ # NextToken is provided in the output. To resume pagination, provide
430
+ # the NextToken value as argument of a subsequent API invocation.
431
+ # @return [Integer]
432
+ #
433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListDatabasesRequest AWS API Documentation
434
+ #
435
+ class ListDatabasesRequest < Struct.new(
436
+ :next_token,
437
+ :max_results)
438
+ SENSITIVE = []
439
+ include Aws::Structure
440
+ end
441
+
442
+ # @!attribute [rw] databases
443
+ # A list of database names.
444
+ # @return [Array<Types::Database>]
445
+ #
446
+ # @!attribute [rw] next_token
447
+ # The pagination token. This parameter is returned when the response
448
+ # is truncated.
449
+ # @return [String]
450
+ #
451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListDatabasesResponse AWS API Documentation
452
+ #
453
+ class ListDatabasesResponse < Struct.new(
454
+ :databases,
455
+ :next_token)
456
+ SENSITIVE = []
457
+ include Aws::Structure
458
+ end
459
+
460
+ # @note When making an API call, you may pass ListTablesRequest
461
+ # data as a hash:
462
+ #
463
+ # {
464
+ # database_name: "ResourceName",
465
+ # next_token: "String",
466
+ # max_results: 1,
467
+ # }
468
+ #
469
+ # @!attribute [rw] database_name
470
+ # The name of the Timestream database.
471
+ # @return [String]
472
+ #
473
+ # @!attribute [rw] next_token
474
+ # The pagination token. To resume pagination, provide the NextToken
475
+ # value as argument of a subsequent API invocation.
476
+ # @return [String]
477
+ #
478
+ # @!attribute [rw] max_results
479
+ # The total number of items to return in the output. If the total
480
+ # number of items available is more than the value specified, a
481
+ # NextToken is provided in the output. To resume pagination, provide
482
+ # the NextToken value as argument of a subsequent API invocation.
483
+ # @return [Integer]
484
+ #
485
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListTablesRequest AWS API Documentation
486
+ #
487
+ class ListTablesRequest < Struct.new(
488
+ :database_name,
489
+ :next_token,
490
+ :max_results)
491
+ SENSITIVE = []
492
+ include Aws::Structure
493
+ end
494
+
495
+ # @!attribute [rw] tables
496
+ # A list of tables.
497
+ # @return [Array<Types::Table>]
498
+ #
499
+ # @!attribute [rw] next_token
500
+ # A token to specify where to start paginating. This is the NextToken
501
+ # from a previously truncated response.
502
+ # @return [String]
503
+ #
504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListTablesResponse AWS API Documentation
505
+ #
506
+ class ListTablesResponse < Struct.new(
507
+ :tables,
508
+ :next_token)
509
+ SENSITIVE = []
510
+ include Aws::Structure
511
+ end
512
+
513
+ # @note When making an API call, you may pass ListTagsForResourceRequest
514
+ # data as a hash:
515
+ #
516
+ # {
517
+ # resource_arn: "AmazonResourceName", # required
518
+ # }
519
+ #
520
+ # @!attribute [rw] resource_arn
521
+ # The Timestream resource with tags to be listed. This value is an
522
+ # Amazon Resource Name (ARN).
523
+ # @return [String]
524
+ #
525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListTagsForResourceRequest AWS API Documentation
526
+ #
527
+ class ListTagsForResourceRequest < Struct.new(
528
+ :resource_arn)
529
+ SENSITIVE = []
530
+ include Aws::Structure
531
+ end
532
+
533
+ # @!attribute [rw] tags
534
+ # The tags currently associated with the Timestream resource.
535
+ # @return [Array<Types::Tag>]
536
+ #
537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListTagsForResourceResponse AWS API Documentation
538
+ #
539
+ class ListTagsForResourceResponse < Struct.new(
540
+ :tags)
541
+ SENSITIVE = []
542
+ include Aws::Structure
543
+ end
544
+
545
+ # Record represents a time series data point being written into
546
+ # Timestream. Each record contains an array of dimensions. Dimensions
547
+ # represent the meta data attributes of a time series data point such as
548
+ # the instance name or availability zone of an EC2 instance. A record
549
+ # also contains the measure name which is the name of the measure being
550
+ # collected for example the CPU utilization of an EC2 instance. A record
551
+ # also contains the measure value and the value type which is the data
552
+ # type of the measure value. In addition, the record contains the
553
+ # timestamp when the measure was collected that the timestamp unit which
554
+ # represents the granularity of the timestamp.
555
+ #
556
+ # @note When making an API call, you may pass Record
557
+ # data as a hash:
558
+ #
559
+ # {
560
+ # dimensions: [
561
+ # {
562
+ # name: "StringValue256", # required
563
+ # value: "StringValue2048", # required
564
+ # dimension_value_type: "VARCHAR", # accepts VARCHAR
565
+ # },
566
+ # ],
567
+ # measure_name: "StringValue256",
568
+ # measure_value: "StringValue2048",
569
+ # measure_value_type: "DOUBLE", # accepts DOUBLE, BIGINT, VARCHAR, BOOLEAN
570
+ # time: "StringValue256",
571
+ # time_unit: "MILLISECONDS", # accepts MILLISECONDS, SECONDS, MICROSECONDS, NANOSECONDS
572
+ # }
573
+ #
574
+ # @!attribute [rw] dimensions
575
+ # Contains the list of dimensions for time series data points.
576
+ # @return [Array<Types::Dimension>]
577
+ #
578
+ # @!attribute [rw] measure_name
579
+ # Measure represents the data attribute of the time series. For
580
+ # example, the CPU utilization of an EC2 instance or the RPM of a wind
581
+ # turbine are measures.
582
+ # @return [String]
583
+ #
584
+ # @!attribute [rw] measure_value
585
+ # Contains the measure value for the time series data point.
586
+ # @return [String]
587
+ #
588
+ # @!attribute [rw] measure_value_type
589
+ # Contains the data type of the measure value for the time series data
590
+ # point.
591
+ # @return [String]
592
+ #
593
+ # @!attribute [rw] time
594
+ # Contains the time at which the measure value for the data point was
595
+ # collected.
596
+ # @return [String]
597
+ #
598
+ # @!attribute [rw] time_unit
599
+ # The granularity of the timestamp unit. It indicates if the time
600
+ # value is in seconds, milliseconds, nanoseconds or other supported
601
+ # values.
602
+ # @return [String]
603
+ #
604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/Record AWS API Documentation
605
+ #
606
+ class Record < Struct.new(
607
+ :dimensions,
608
+ :measure_name,
609
+ :measure_value,
610
+ :measure_value_type,
611
+ :time,
612
+ :time_unit)
613
+ SENSITIVE = []
614
+ include Aws::Structure
615
+ end
616
+
617
+ # Records that were not successfully inserted into Timestream due to
618
+ # data validation issues that must be resolved prior to reinserting time
619
+ # series data into the system.
620
+ #
621
+ # @!attribute [rw] record_index
622
+ # The index of the record in the input request for WriteRecords.
623
+ # Indexes begin with 0.
624
+ # @return [Integer]
625
+ #
626
+ # @!attribute [rw] reason
627
+ # The reason why a record was not successfully inserted into
628
+ # Timestream. Possible causes of failure include:
629
+ #
630
+ # * Records with duplicate data where there are multiple records with
631
+ # the same dimensions, timestamps, and measure names but different
632
+ # measure values.
633
+ #
634
+ # * Records with timestamps that lie outside the retention duration of
635
+ # the memory store
636
+ #
637
+ # * Records with dimensions or measures that exceed the Timestream
638
+ # defined limits.
639
+ #
640
+ # For more information, see [Access Management][1] in the Timestream
641
+ # Developer Guide.
642
+ #
643
+ #
644
+ #
645
+ # [1]: https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html
646
+ # @return [String]
647
+ #
648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/RejectedRecord AWS API Documentation
649
+ #
650
+ class RejectedRecord < Struct.new(
651
+ :record_index,
652
+ :reason)
653
+ SENSITIVE = []
654
+ include Aws::Structure
655
+ end
656
+
657
+ # WriteRecords would throw this exception in the following cases:
658
+ #
659
+ # * Records with duplicate data where there are multiple records with
660
+ # the same dimensions, timestamps, and measure names but different
661
+ # measure values.
662
+ #
663
+ # * Records with timestamps that lie outside the retention duration of
664
+ # the memory store
665
+ #
666
+ # * Records with dimensions or measures that exceed the Timestream
667
+ # defined limits.
668
+ #
669
+ # For more information, see [Access Management][1] in the Timestream
670
+ # Developer Guide.
671
+ #
672
+ #
673
+ #
674
+ # [1]: https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html
675
+ #
676
+ # @!attribute [rw] message
677
+ # @return [String]
678
+ #
679
+ # @!attribute [rw] rejected_records
680
+ # @return [Array<Types::RejectedRecord>]
681
+ #
682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/RejectedRecordsException AWS API Documentation
683
+ #
684
+ class RejectedRecordsException < Struct.new(
685
+ :message,
686
+ :rejected_records)
687
+ SENSITIVE = []
688
+ include Aws::Structure
689
+ end
690
+
691
+ # The operation tried to access a nonexistent resource. The resource
692
+ # might not be specified correctly, or its status might not be ACTIVE.
693
+ #
694
+ # @!attribute [rw] message
695
+ # @return [String]
696
+ #
697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ResourceNotFoundException AWS API Documentation
698
+ #
699
+ class ResourceNotFoundException < Struct.new(
700
+ :message)
701
+ SENSITIVE = []
702
+ include Aws::Structure
703
+ end
704
+
705
+ # Retention properties contain the duration for which your time series
706
+ # data must be stored in the magnetic store and the memory store.
707
+ #
708
+ # @note When making an API call, you may pass RetentionProperties
709
+ # data as a hash:
710
+ #
711
+ # {
712
+ # memory_store_retention_period_in_hours: 1, # required
713
+ # magnetic_store_retention_period_in_days: 1, # required
714
+ # }
715
+ #
716
+ # @!attribute [rw] memory_store_retention_period_in_hours
717
+ # The duration for which data must be stored in the memory store.
718
+ # @return [Integer]
719
+ #
720
+ # @!attribute [rw] magnetic_store_retention_period_in_days
721
+ # The duration for which data must be stored in the magnetic store.
722
+ # @return [Integer]
723
+ #
724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/RetentionProperties AWS API Documentation
725
+ #
726
+ class RetentionProperties < Struct.new(
727
+ :memory_store_retention_period_in_hours,
728
+ :magnetic_store_retention_period_in_days)
729
+ SENSITIVE = []
730
+ include Aws::Structure
731
+ end
732
+
733
+ # Instance quota of resource exceeded for this account.
734
+ #
735
+ # @!attribute [rw] message
736
+ # @return [String]
737
+ #
738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ServiceQuotaExceededException AWS API Documentation
739
+ #
740
+ class ServiceQuotaExceededException < Struct.new(
741
+ :message)
742
+ SENSITIVE = []
743
+ include Aws::Structure
744
+ end
745
+
746
+ # Table represents a database table in Timestream. Tables contain one or
747
+ # more related time series. You can modify the retention duration of the
748
+ # memory store and the magnetic store for a table.
749
+ #
750
+ # @!attribute [rw] arn
751
+ # The Amazon Resource Name that uniquely identifies this table.
752
+ # @return [String]
753
+ #
754
+ # @!attribute [rw] table_name
755
+ # The name of the Timestream table.
756
+ # @return [String]
757
+ #
758
+ # @!attribute [rw] database_name
759
+ # The name of the Timestream database that contains this table.
760
+ # @return [String]
761
+ #
762
+ # @!attribute [rw] table_status
763
+ # The current state of the table:
764
+ #
765
+ # * `DELETING` - The table is being deleted.
766
+ #
767
+ # * `ACTIVE` - The table is ready for use.
768
+ # @return [String]
769
+ #
770
+ # @!attribute [rw] retention_properties
771
+ # The retention duration for the memory store and magnetic store.
772
+ # @return [Types::RetentionProperties]
773
+ #
774
+ # @!attribute [rw] creation_time
775
+ # The time when the Timestream table was created.
776
+ # @return [Time]
777
+ #
778
+ # @!attribute [rw] last_updated_time
779
+ # The time when the Timestream table was last updated.
780
+ # @return [Time]
781
+ #
782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/Table AWS API Documentation
783
+ #
784
+ class Table < Struct.new(
785
+ :arn,
786
+ :table_name,
787
+ :database_name,
788
+ :table_status,
789
+ :retention_properties,
790
+ :creation_time,
791
+ :last_updated_time)
792
+ SENSITIVE = []
793
+ include Aws::Structure
794
+ end
795
+
796
+ # A tag is a label that you assign to a Timestream database and/or
797
+ # table. Each tag consists of a key and an optional value, both of which
798
+ # you define. Tags enable you to categorize databases and/or tables, for
799
+ # example, by purpose, owner, or environment.
800
+ #
801
+ # @note When making an API call, you may pass Tag
802
+ # data as a hash:
803
+ #
804
+ # {
805
+ # key: "TagKey", # required
806
+ # value: "TagValue", # required
807
+ # }
808
+ #
809
+ # @!attribute [rw] key
810
+ # The key of the tag. Tag keys are case sensitive.
811
+ # @return [String]
812
+ #
813
+ # @!attribute [rw] value
814
+ # The value of the tag. Tag values are case-sensitive and can be null.
815
+ # @return [String]
816
+ #
817
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/Tag AWS API Documentation
818
+ #
819
+ class Tag < Struct.new(
820
+ :key,
821
+ :value)
822
+ SENSITIVE = []
823
+ include Aws::Structure
824
+ end
825
+
826
+ # @note When making an API call, you may pass TagResourceRequest
827
+ # data as a hash:
828
+ #
829
+ # {
830
+ # resource_arn: "AmazonResourceName", # required
831
+ # tags: [ # required
832
+ # {
833
+ # key: "TagKey", # required
834
+ # value: "TagValue", # required
835
+ # },
836
+ # ],
837
+ # }
838
+ #
839
+ # @!attribute [rw] resource_arn
840
+ # Identifies the Timestream resource to which tags should be added.
841
+ # This value is an Amazon Resource Name (ARN).
842
+ # @return [String]
843
+ #
844
+ # @!attribute [rw] tags
845
+ # The tags to be assigned to the Timestream resource.
846
+ # @return [Array<Types::Tag>]
847
+ #
848
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/TagResourceRequest AWS API Documentation
849
+ #
850
+ class TagResourceRequest < Struct.new(
851
+ :resource_arn,
852
+ :tags)
853
+ SENSITIVE = []
854
+ include Aws::Structure
855
+ end
856
+
857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/TagResourceResponse AWS API Documentation
858
+ #
859
+ class TagResourceResponse < Aws::EmptyStructure; end
860
+
861
+ # Too many requests were made by a user exceeding service quotas. The
862
+ # request was throttled.
863
+ #
864
+ # @!attribute [rw] message
865
+ # @return [String]
866
+ #
867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ThrottlingException AWS API Documentation
868
+ #
869
+ class ThrottlingException < Struct.new(
870
+ :message)
871
+ SENSITIVE = []
872
+ include Aws::Structure
873
+ end
874
+
875
+ # @note When making an API call, you may pass UntagResourceRequest
876
+ # data as a hash:
877
+ #
878
+ # {
879
+ # resource_arn: "AmazonResourceName", # required
880
+ # tag_keys: ["TagKey"], # required
881
+ # }
882
+ #
883
+ # @!attribute [rw] resource_arn
884
+ # The Timestream resource that the tags will be removed from. This
885
+ # value is an Amazon Resource Name (ARN).
886
+ # @return [String]
887
+ #
888
+ # @!attribute [rw] tag_keys
889
+ # A list of tags keys. Existing tags of the resource whose keys are
890
+ # members of this list will be removed from the Timestream resource.
891
+ # @return [Array<String>]
892
+ #
893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UntagResourceRequest AWS API Documentation
894
+ #
895
+ class UntagResourceRequest < Struct.new(
896
+ :resource_arn,
897
+ :tag_keys)
898
+ SENSITIVE = []
899
+ include Aws::Structure
900
+ end
901
+
902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UntagResourceResponse AWS API Documentation
903
+ #
904
+ class UntagResourceResponse < Aws::EmptyStructure; end
905
+
906
+ # @note When making an API call, you may pass UpdateDatabaseRequest
907
+ # data as a hash:
908
+ #
909
+ # {
910
+ # database_name: "ResourceName", # required
911
+ # kms_key_id: "StringValue2048", # required
912
+ # }
913
+ #
914
+ # @!attribute [rw] database_name
915
+ # The name of the database.
916
+ # @return [String]
917
+ #
918
+ # @!attribute [rw] kms_key_id
919
+ # The identifier of the new KMS key (`KmsKeyId`) to be used to encrypt
920
+ # the data stored in the database. If the `KmsKeyId` currently
921
+ # registered with the database is the same as the `KmsKeyId` in the
922
+ # request, there will not be any update.
923
+ #
924
+ # You can specify the `KmsKeyId` using any of the following:
925
+ #
926
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
927
+ #
928
+ # * Key ARN:
929
+ # `arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
930
+ #
931
+ # * Alias name: `alias/ExampleAlias`
932
+ #
933
+ # * Alias ARN: `arn:aws:kms:us-east-1:111122223333:alias/ExampleAlias`
934
+ # @return [String]
935
+ #
936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UpdateDatabaseRequest AWS API Documentation
937
+ #
938
+ class UpdateDatabaseRequest < Struct.new(
939
+ :database_name,
940
+ :kms_key_id)
941
+ SENSITIVE = []
942
+ include Aws::Structure
943
+ end
944
+
945
+ # @!attribute [rw] database
946
+ # A top level container for a table. Databases and tables are the
947
+ # fundamental management concepts in Amazon Timestream. All tables in
948
+ # a database are encrypted with the same KMS key.
949
+ # @return [Types::Database]
950
+ #
951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UpdateDatabaseResponse AWS API Documentation
952
+ #
953
+ class UpdateDatabaseResponse < Struct.new(
954
+ :database)
955
+ SENSITIVE = []
956
+ include Aws::Structure
957
+ end
958
+
959
+ # @note When making an API call, you may pass UpdateTableRequest
960
+ # data as a hash:
961
+ #
962
+ # {
963
+ # database_name: "ResourceName", # required
964
+ # table_name: "ResourceName", # required
965
+ # retention_properties: { # required
966
+ # memory_store_retention_period_in_hours: 1, # required
967
+ # magnetic_store_retention_period_in_days: 1, # required
968
+ # },
969
+ # }
970
+ #
971
+ # @!attribute [rw] database_name
972
+ # The name of the Timestream database.
973
+ # @return [String]
974
+ #
975
+ # @!attribute [rw] table_name
976
+ # The name of the Timesream table.
977
+ # @return [String]
978
+ #
979
+ # @!attribute [rw] retention_properties
980
+ # The retention duration of the memory store and the magnetic store.
981
+ # @return [Types::RetentionProperties]
982
+ #
983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UpdateTableRequest AWS API Documentation
984
+ #
985
+ class UpdateTableRequest < Struct.new(
986
+ :database_name,
987
+ :table_name,
988
+ :retention_properties)
989
+ SENSITIVE = []
990
+ include Aws::Structure
991
+ end
992
+
993
+ # @!attribute [rw] table
994
+ # The updated Timestream table.
995
+ # @return [Types::Table]
996
+ #
997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UpdateTableResponse AWS API Documentation
998
+ #
999
+ class UpdateTableResponse < Struct.new(
1000
+ :table)
1001
+ SENSITIVE = []
1002
+ include Aws::Structure
1003
+ end
1004
+
1005
+ # Invalid or malformed request.
1006
+ #
1007
+ # @!attribute [rw] message
1008
+ # @return [String]
1009
+ #
1010
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ValidationException AWS API Documentation
1011
+ #
1012
+ class ValidationException < Struct.new(
1013
+ :message)
1014
+ SENSITIVE = []
1015
+ include Aws::Structure
1016
+ end
1017
+
1018
+ # @note When making an API call, you may pass WriteRecordsRequest
1019
+ # data as a hash:
1020
+ #
1021
+ # {
1022
+ # database_name: "ResourceName", # required
1023
+ # table_name: "ResourceName", # required
1024
+ # common_attributes: {
1025
+ # dimensions: [
1026
+ # {
1027
+ # name: "StringValue256", # required
1028
+ # value: "StringValue2048", # required
1029
+ # dimension_value_type: "VARCHAR", # accepts VARCHAR
1030
+ # },
1031
+ # ],
1032
+ # measure_name: "StringValue256",
1033
+ # measure_value: "StringValue2048",
1034
+ # measure_value_type: "DOUBLE", # accepts DOUBLE, BIGINT, VARCHAR, BOOLEAN
1035
+ # time: "StringValue256",
1036
+ # time_unit: "MILLISECONDS", # accepts MILLISECONDS, SECONDS, MICROSECONDS, NANOSECONDS
1037
+ # },
1038
+ # records: [ # required
1039
+ # {
1040
+ # dimensions: [
1041
+ # {
1042
+ # name: "StringValue256", # required
1043
+ # value: "StringValue2048", # required
1044
+ # dimension_value_type: "VARCHAR", # accepts VARCHAR
1045
+ # },
1046
+ # ],
1047
+ # measure_name: "StringValue256",
1048
+ # measure_value: "StringValue2048",
1049
+ # measure_value_type: "DOUBLE", # accepts DOUBLE, BIGINT, VARCHAR, BOOLEAN
1050
+ # time: "StringValue256",
1051
+ # time_unit: "MILLISECONDS", # accepts MILLISECONDS, SECONDS, MICROSECONDS, NANOSECONDS
1052
+ # },
1053
+ # ],
1054
+ # }
1055
+ #
1056
+ # @!attribute [rw] database_name
1057
+ # The name of the Timestream database.
1058
+ # @return [String]
1059
+ #
1060
+ # @!attribute [rw] table_name
1061
+ # The name of the Timesream table.
1062
+ # @return [String]
1063
+ #
1064
+ # @!attribute [rw] common_attributes
1065
+ # A record containing the common measure and dimension attributes
1066
+ # shared across all the records in the request. The measure and
1067
+ # dimension attributes specified in here will be merged with the
1068
+ # measure and dimension attributes in the records object when the data
1069
+ # is written into Timestream.
1070
+ # @return [Types::Record]
1071
+ #
1072
+ # @!attribute [rw] records
1073
+ # An array of records containing the unique dimension and measure
1074
+ # attributes for each time series data point.
1075
+ # @return [Array<Types::Record>]
1076
+ #
1077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/WriteRecordsRequest AWS API Documentation
1078
+ #
1079
+ class WriteRecordsRequest < Struct.new(
1080
+ :database_name,
1081
+ :table_name,
1082
+ :common_attributes,
1083
+ :records)
1084
+ SENSITIVE = []
1085
+ include Aws::Structure
1086
+ end
1087
+
1088
+ end
1089
+ end