aws-sdk-timestreamwrite 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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