aws-sdk-timestreamquery 1.9.0 → 1.13.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.
@@ -27,6 +27,8 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
31
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
30
32
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
33
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
34
 
@@ -73,6 +75,8 @@ module Aws::TimestreamQuery
73
75
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
76
  add_plugin(Aws::Plugins::TransferEncoding)
75
77
  add_plugin(Aws::Plugins::HttpChecksum)
78
+ add_plugin(Aws::Plugins::DefaultsMode)
79
+ add_plugin(Aws::Plugins::RecursionDetection)
76
80
  add_plugin(Aws::Plugins::SignatureV4)
77
81
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
78
82
 
@@ -119,7 +123,9 @@ module Aws::TimestreamQuery
119
123
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
124
  # are very aggressive. Construct and pass an instance of
121
125
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
126
+ # enable retries and extended timeouts. Instance profile credential
127
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
128
+ # to true.
123
129
  #
124
130
  # @option options [required, String] :region
125
131
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +179,10 @@ module Aws::TimestreamQuery
173
179
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
180
  # a clock skew correction and retry requests with skewed client clocks.
175
181
  #
182
+ # @option options [String] :defaults_mode ("legacy")
183
+ # See {Aws::DefaultsModeConfiguration} for a list of the
184
+ # accepted modes and the configuration defaults that are included.
185
+ #
176
186
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
187
  # Set to true to disable SDK automatically adding host prefix
178
188
  # to default service endpoint when available.
@@ -305,7 +315,7 @@ module Aws::TimestreamQuery
305
315
  # seconds to wait when opening a HTTP session before raising a
306
316
  # `Timeout::Error`.
307
317
  #
308
- # @option options [Integer] :http_read_timeout (60) The default
318
+ # @option options [Float] :http_read_timeout (60) The default
309
319
  # number of seconds to wait for response data. This value can
310
320
  # safely be set per-request on the session.
311
321
  #
@@ -321,6 +331,9 @@ module Aws::TimestreamQuery
321
331
  # disables this behaviour. This value can safely be set per
322
332
  # request on the session.
323
333
  #
334
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
335
+ # in seconds.
336
+ #
324
337
  # @option options [Boolean] :http_wire_trace (false) When `true`,
325
338
  # HTTP debug output will be sent to the `:logger`.
326
339
  #
@@ -346,15 +359,20 @@ module Aws::TimestreamQuery
346
359
 
347
360
  # @!group API Operations
348
361
 
349
- # Cancels a query that has been issued. Cancellation is guaranteed only
350
- # if the query has not completed execution before the cancellation
351
- # request was issued. Because cancellation is an idempotent operation,
362
+ # Cancels a query that has been issued. Cancellation is provided only if
363
+ # the query has not completed running before the cancellation request
364
+ # was issued. Because cancellation is an idempotent operation,
352
365
  # subsequent cancellation requests will return a `CancellationMessage`,
353
- # indicating that the query has already been canceled.
366
+ # indicating that the query has already been canceled. See [code
367
+ # sample][1] for details.
368
+ #
369
+ #
370
+ #
371
+ # [1]: https://docs.aws.amazon.com/Timestream/latest/developerguide/code-samples.cancel-query.html
354
372
  #
355
373
  # @option params [required, String] :query_id
356
- # The id of the query that needs to be cancelled. `QueryID` is returned
357
- # as part of QueryResult.
374
+ # The ID of the query that needs to be cancelled. `QueryID` is returned
375
+ # as part of the query result.
358
376
  #
359
377
  # @return [Types::CancelQueryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
360
378
  #
@@ -379,26 +397,208 @@ module Aws::TimestreamQuery
379
397
  req.send_request(options)
380
398
  end
381
399
 
400
+ # Create a scheduled query that will be run on your behalf at the
401
+ # configured schedule. Timestream assumes the execution role provided as
402
+ # part of the `ScheduledQueryExecutionRoleArn` parameter to run the
403
+ # query. You can use the `NotificationConfiguration` parameter to
404
+ # configure notification for your scheduled query operations.
405
+ #
406
+ # @option params [required, String] :name
407
+ # Name of the scheduled query.
408
+ #
409
+ # @option params [required, String] :query_string
410
+ # The query string to run. Parameter names can be specified in the query
411
+ # string `@` character followed by an identifier. The named Parameter
412
+ # `@scheduled_runtime` is reserved and can be used in the query to get
413
+ # the time at which the query is scheduled to run.
414
+ #
415
+ # The timestamp calculated according to the ScheduleConfiguration
416
+ # parameter, will be the value of `@scheduled_runtime` paramater for
417
+ # each query run. For example, consider an instance of a scheduled query
418
+ # executing on 2021-12-01 00:00:00. For this instance, the
419
+ # `@scheduled_runtime` parameter is initialized to the timestamp
420
+ # 2021-12-01 00:00:00 when invoking the query.
421
+ #
422
+ # @option params [required, Types::ScheduleConfiguration] :schedule_configuration
423
+ # The schedule configuration for the query.
424
+ #
425
+ # @option params [required, Types::NotificationConfiguration] :notification_configuration
426
+ # Notification configuration for the scheduled query. A notification is
427
+ # sent by Timestream when a query run finishes, when the state is
428
+ # updated or when you delete it.
429
+ #
430
+ # @option params [Types::TargetConfiguration] :target_configuration
431
+ # Configuration used for writing the result of a query.
432
+ #
433
+ # @option params [String] :client_token
434
+ # Using a ClientToken makes the call to CreateScheduledQuery idempotent,
435
+ # in other words, making the same request repeatedly will produce the
436
+ # same result. Making multiple identical CreateScheduledQuery requests
437
+ # has the same effect as making a single request.
438
+ #
439
+ # * If CreateScheduledQuery is called without a `ClientToken`, the Query
440
+ # SDK generates a `ClientToken` on your behalf.
441
+ #
442
+ # * After 8 hours, any request with the same `ClientToken` is treated as
443
+ # a new request.
444
+ #
445
+ # **A suitable default value is auto-generated.** You should normally
446
+ # not need to pass this option.**
447
+ #
448
+ # @option params [required, String] :scheduled_query_execution_role_arn
449
+ # The ARN for the IAM role that Timestream will assume when running the
450
+ # scheduled query.
451
+ #
452
+ # @option params [Array<Types::Tag>] :tags
453
+ # A list of key-value pairs to label the scheduled query.
454
+ #
455
+ # @option params [String] :kms_key_id
456
+ # The Amazon KMS key used to encrypt the scheduled query resource,
457
+ # at-rest. If the Amazon KMS key is not specified, the scheduled query
458
+ # resource will be encrypted with a Timestream owned Amazon KMS key. To
459
+ # specify a KMS key, use the key ID, key ARN, alias name, or alias ARN.
460
+ # When using an alias name, prefix the name with *alias/*
461
+ #
462
+ # If ErrorReportConfiguration uses `SSE_KMS` as encryption type, the
463
+ # same KmsKeyId is used to encrypt the error report at rest.
464
+ #
465
+ # @option params [required, Types::ErrorReportConfiguration] :error_report_configuration
466
+ # Configuration for error reporting. Error reports will be generated
467
+ # when a problem is encountered when writing the query results.
468
+ #
469
+ # @return [Types::CreateScheduledQueryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
470
+ #
471
+ # * {Types::CreateScheduledQueryResponse#arn #arn} => String
472
+ #
473
+ # @example Request syntax with placeholder values
474
+ #
475
+ # resp = client.create_scheduled_query({
476
+ # name: "ScheduledQueryName", # required
477
+ # query_string: "QueryString", # required
478
+ # schedule_configuration: { # required
479
+ # schedule_expression: "ScheduleExpression", # required
480
+ # },
481
+ # notification_configuration: { # required
482
+ # sns_configuration: { # required
483
+ # topic_arn: "AmazonResourceName", # required
484
+ # },
485
+ # },
486
+ # target_configuration: {
487
+ # timestream_configuration: { # required
488
+ # database_name: "ResourceName", # required
489
+ # table_name: "ResourceName", # required
490
+ # time_column: "SchemaName", # required
491
+ # dimension_mappings: [ # required
492
+ # {
493
+ # name: "SchemaName", # required
494
+ # dimension_value_type: "VARCHAR", # required, accepts VARCHAR
495
+ # },
496
+ # ],
497
+ # multi_measure_mappings: {
498
+ # target_multi_measure_name: "SchemaName",
499
+ # multi_measure_attribute_mappings: [ # required
500
+ # {
501
+ # source_column: "SchemaName", # required
502
+ # target_multi_measure_attribute_name: "SchemaName",
503
+ # measure_value_type: "BIGINT", # required, accepts BIGINT, BOOLEAN, DOUBLE, VARCHAR
504
+ # },
505
+ # ],
506
+ # },
507
+ # mixed_measure_mappings: [
508
+ # {
509
+ # measure_name: "SchemaName",
510
+ # source_column: "SchemaName",
511
+ # target_measure_name: "SchemaName",
512
+ # measure_value_type: "BIGINT", # required, accepts BIGINT, BOOLEAN, DOUBLE, VARCHAR, MULTI
513
+ # multi_measure_attribute_mappings: [
514
+ # {
515
+ # source_column: "SchemaName", # required
516
+ # target_multi_measure_attribute_name: "SchemaName",
517
+ # measure_value_type: "BIGINT", # required, accepts BIGINT, BOOLEAN, DOUBLE, VARCHAR
518
+ # },
519
+ # ],
520
+ # },
521
+ # ],
522
+ # measure_name_column: "SchemaName",
523
+ # },
524
+ # },
525
+ # client_token: "ClientToken",
526
+ # scheduled_query_execution_role_arn: "AmazonResourceName", # required
527
+ # tags: [
528
+ # {
529
+ # key: "TagKey", # required
530
+ # value: "TagValue", # required
531
+ # },
532
+ # ],
533
+ # kms_key_id: "StringValue2048",
534
+ # error_report_configuration: { # required
535
+ # s3_configuration: { # required
536
+ # bucket_name: "S3BucketName", # required
537
+ # object_key_prefix: "S3ObjectKeyPrefix",
538
+ # encryption_option: "SSE_S3", # accepts SSE_S3, SSE_KMS
539
+ # },
540
+ # },
541
+ # })
542
+ #
543
+ # @example Response structure
544
+ #
545
+ # resp.arn #=> String
546
+ #
547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/CreateScheduledQuery AWS API Documentation
548
+ #
549
+ # @overload create_scheduled_query(params = {})
550
+ # @param [Hash] params ({})
551
+ def create_scheduled_query(params = {}, options = {})
552
+ req = build_request(:create_scheduled_query, params)
553
+ req.send_request(options)
554
+ end
555
+
556
+ # Deletes a given scheduled query. This is an irreversible operation.
557
+ #
558
+ # @option params [required, String] :scheduled_query_arn
559
+ # The ARN of the scheduled query.
560
+ #
561
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
562
+ #
563
+ # @example Request syntax with placeholder values
564
+ #
565
+ # resp = client.delete_scheduled_query({
566
+ # scheduled_query_arn: "AmazonResourceName", # required
567
+ # })
568
+ #
569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/DeleteScheduledQuery AWS API Documentation
570
+ #
571
+ # @overload delete_scheduled_query(params = {})
572
+ # @param [Hash] params ({})
573
+ def delete_scheduled_query(params = {}, options = {})
574
+ req = build_request(:delete_scheduled_query, params)
575
+ req.send_request(options)
576
+ end
577
+
382
578
  # DescribeEndpoints returns a list of available endpoints to make
383
579
  # Timestream API calls against. This API is available through both Write
384
580
  # and Query.
385
581
  #
386
- # Because Timestream’s SDKs are designed to transparently work with the
387
- # service’s architecture, including the management and mapping of the
388
- # service endpoints, *it is not recommended that you use this API
582
+ # Because the Timestream SDKs are designed to transparently work with
583
+ # the service’s architecture, including the management and mapping of
584
+ # the service endpoints, *it is not recommended that you use this API
389
585
  # unless*\:
390
586
  #
587
+ # * You are using [VPC endpoints (Amazon Web Services PrivateLink) with
588
+ # Timestream ][1]
589
+ #
391
590
  # * Your application uses a programming language that does not yet have
392
591
  # SDK support
393
592
  #
394
593
  # * You require better control over the client-side implementation
395
594
  #
396
- # For detailed information on how to use DescribeEndpoints, see [The
397
- # Endpoint Discovery Pattern and REST APIs][1].
595
+ # For detailed information on how and when to use and implement
596
+ # DescribeEndpoints, see [The Endpoint Discovery Pattern][2].
398
597
  #
399
598
  #
400
599
  #
401
- # [1]: https://docs.aws.amazon.com/timestream/latest/developerguide/Using-API.endpoint-discovery.html
600
+ # [1]: https://docs.aws.amazon.com/Timestream/latest/developerguide/VPCEndpoints
601
+ # [2]: https://docs.aws.amazon.com/Timestream/latest/developerguide/Using.API.html#Using-API.endpoint-discovery
402
602
  #
403
603
  # @return [Types::DescribeEndpointsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
404
604
  #
@@ -419,44 +619,393 @@ module Aws::TimestreamQuery
419
619
  req.send_request(options)
420
620
  end
421
621
 
422
- # Query is a synchronous operation that enables you to execute a query.
423
- # Query will timeout after 60 seconds. You must update the default
424
- # timeout in the SDK to support a timeout of 60 seconds. The result set
425
- # will be truncated to 1MB. Service quotas apply. For more information,
426
- # see Quotas in the Timestream Developer Guide.
622
+ # Provides detailed information about a scheduled query.
623
+ #
624
+ # @option params [required, String] :scheduled_query_arn
625
+ # The ARN of the scheduled query.
626
+ #
627
+ # @return [Types::DescribeScheduledQueryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
628
+ #
629
+ # * {Types::DescribeScheduledQueryResponse#scheduled_query #scheduled_query} => Types::ScheduledQueryDescription
630
+ #
631
+ # @example Request syntax with placeholder values
632
+ #
633
+ # resp = client.describe_scheduled_query({
634
+ # scheduled_query_arn: "AmazonResourceName", # required
635
+ # })
636
+ #
637
+ # @example Response structure
638
+ #
639
+ # resp.scheduled_query.arn #=> String
640
+ # resp.scheduled_query.name #=> String
641
+ # resp.scheduled_query.query_string #=> String
642
+ # resp.scheduled_query.creation_time #=> Time
643
+ # resp.scheduled_query.state #=> String, one of "ENABLED", "DISABLED"
644
+ # resp.scheduled_query.previous_invocation_time #=> Time
645
+ # resp.scheduled_query.next_invocation_time #=> Time
646
+ # resp.scheduled_query.schedule_configuration.schedule_expression #=> String
647
+ # resp.scheduled_query.notification_configuration.sns_configuration.topic_arn #=> String
648
+ # resp.scheduled_query.target_configuration.timestream_configuration.database_name #=> String
649
+ # resp.scheduled_query.target_configuration.timestream_configuration.table_name #=> String
650
+ # resp.scheduled_query.target_configuration.timestream_configuration.time_column #=> String
651
+ # resp.scheduled_query.target_configuration.timestream_configuration.dimension_mappings #=> Array
652
+ # resp.scheduled_query.target_configuration.timestream_configuration.dimension_mappings[0].name #=> String
653
+ # resp.scheduled_query.target_configuration.timestream_configuration.dimension_mappings[0].dimension_value_type #=> String, one of "VARCHAR"
654
+ # resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.target_multi_measure_name #=> String
655
+ # resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.multi_measure_attribute_mappings #=> Array
656
+ # resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.multi_measure_attribute_mappings[0].source_column #=> String
657
+ # resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.multi_measure_attribute_mappings[0].target_multi_measure_attribute_name #=> String
658
+ # resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.multi_measure_attribute_mappings[0].measure_value_type #=> String, one of "BIGINT", "BOOLEAN", "DOUBLE", "VARCHAR"
659
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings #=> Array
660
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].measure_name #=> String
661
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].source_column #=> String
662
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].target_measure_name #=> String
663
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].measure_value_type #=> String, one of "BIGINT", "BOOLEAN", "DOUBLE", "VARCHAR", "MULTI"
664
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].multi_measure_attribute_mappings #=> Array
665
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].multi_measure_attribute_mappings[0].source_column #=> String
666
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].multi_measure_attribute_mappings[0].target_multi_measure_attribute_name #=> String
667
+ # resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].multi_measure_attribute_mappings[0].measure_value_type #=> String, one of "BIGINT", "BOOLEAN", "DOUBLE", "VARCHAR"
668
+ # resp.scheduled_query.target_configuration.timestream_configuration.measure_name_column #=> String
669
+ # resp.scheduled_query.scheduled_query_execution_role_arn #=> String
670
+ # resp.scheduled_query.kms_key_id #=> String
671
+ # resp.scheduled_query.error_report_configuration.s3_configuration.bucket_name #=> String
672
+ # resp.scheduled_query.error_report_configuration.s3_configuration.object_key_prefix #=> String
673
+ # resp.scheduled_query.error_report_configuration.s3_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS"
674
+ # resp.scheduled_query.last_run_summary.invocation_time #=> Time
675
+ # resp.scheduled_query.last_run_summary.trigger_time #=> Time
676
+ # resp.scheduled_query.last_run_summary.run_status #=> String, one of "AUTO_TRIGGER_SUCCESS", "AUTO_TRIGGER_FAILURE", "MANUAL_TRIGGER_SUCCESS", "MANUAL_TRIGGER_FAILURE"
677
+ # resp.scheduled_query.last_run_summary.execution_stats.execution_time_in_millis #=> Integer
678
+ # resp.scheduled_query.last_run_summary.execution_stats.data_writes #=> Integer
679
+ # resp.scheduled_query.last_run_summary.execution_stats.bytes_metered #=> Integer
680
+ # resp.scheduled_query.last_run_summary.execution_stats.records_ingested #=> Integer
681
+ # resp.scheduled_query.last_run_summary.execution_stats.query_result_rows #=> Integer
682
+ # resp.scheduled_query.last_run_summary.error_report_location.s3_report_location.bucket_name #=> String
683
+ # resp.scheduled_query.last_run_summary.error_report_location.s3_report_location.object_key #=> String
684
+ # resp.scheduled_query.last_run_summary.failure_reason #=> String
685
+ # resp.scheduled_query.recently_failed_runs #=> Array
686
+ # resp.scheduled_query.recently_failed_runs[0].invocation_time #=> Time
687
+ # resp.scheduled_query.recently_failed_runs[0].trigger_time #=> Time
688
+ # resp.scheduled_query.recently_failed_runs[0].run_status #=> String, one of "AUTO_TRIGGER_SUCCESS", "AUTO_TRIGGER_FAILURE", "MANUAL_TRIGGER_SUCCESS", "MANUAL_TRIGGER_FAILURE"
689
+ # resp.scheduled_query.recently_failed_runs[0].execution_stats.execution_time_in_millis #=> Integer
690
+ # resp.scheduled_query.recently_failed_runs[0].execution_stats.data_writes #=> Integer
691
+ # resp.scheduled_query.recently_failed_runs[0].execution_stats.bytes_metered #=> Integer
692
+ # resp.scheduled_query.recently_failed_runs[0].execution_stats.records_ingested #=> Integer
693
+ # resp.scheduled_query.recently_failed_runs[0].execution_stats.query_result_rows #=> Integer
694
+ # resp.scheduled_query.recently_failed_runs[0].error_report_location.s3_report_location.bucket_name #=> String
695
+ # resp.scheduled_query.recently_failed_runs[0].error_report_location.s3_report_location.object_key #=> String
696
+ # resp.scheduled_query.recently_failed_runs[0].failure_reason #=> String
697
+ #
698
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/DescribeScheduledQuery AWS API Documentation
699
+ #
700
+ # @overload describe_scheduled_query(params = {})
701
+ # @param [Hash] params ({})
702
+ def describe_scheduled_query(params = {}, options = {})
703
+ req = build_request(:describe_scheduled_query, params)
704
+ req.send_request(options)
705
+ end
706
+
707
+ # You can use this API to run a scheduled query manually.
708
+ #
709
+ # @option params [required, String] :scheduled_query_arn
710
+ # ARN of the scheduled query.
711
+ #
712
+ # @option params [required, Time,DateTime,Date,Integer,String] :invocation_time
713
+ # The timestamp in UTC. Query will be run as if it was invoked at this
714
+ # timestamp.
715
+ #
716
+ # @option params [String] :client_token
717
+ # Not used.
718
+ #
719
+ # **A suitable default value is auto-generated.** You should normally
720
+ # not need to pass this option.**
721
+ #
722
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
723
+ #
724
+ # @example Request syntax with placeholder values
725
+ #
726
+ # resp = client.execute_scheduled_query({
727
+ # scheduled_query_arn: "AmazonResourceName", # required
728
+ # invocation_time: Time.now, # required
729
+ # client_token: "ClientToken",
730
+ # })
731
+ #
732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/ExecuteScheduledQuery AWS API Documentation
733
+ #
734
+ # @overload execute_scheduled_query(params = {})
735
+ # @param [Hash] params ({})
736
+ def execute_scheduled_query(params = {}, options = {})
737
+ req = build_request(:execute_scheduled_query, params)
738
+ req.send_request(options)
739
+ end
740
+
741
+ # Gets a list of all scheduled queries in the caller's Amazon account
742
+ # and Region. `ListScheduledQueries` is eventually consistent.
743
+ #
744
+ # @option params [Integer] :max_results
745
+ # The maximum number of items to return in the output. If the total
746
+ # number of items available is more than the value specified, a
747
+ # `NextToken` is provided in the output. To resume pagination, provide
748
+ # the `NextToken` value as the argument to the subsequent call to
749
+ # `ListScheduledQueriesRequest`.
750
+ #
751
+ # @option params [String] :next_token
752
+ # A pagination token to resume pagination.
753
+ #
754
+ # @return [Types::ListScheduledQueriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
755
+ #
756
+ # * {Types::ListScheduledQueriesResponse#scheduled_queries #scheduled_queries} => Array&lt;Types::ScheduledQuery&gt;
757
+ # * {Types::ListScheduledQueriesResponse#next_token #next_token} => String
758
+ #
759
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
760
+ #
761
+ # @example Request syntax with placeholder values
762
+ #
763
+ # resp = client.list_scheduled_queries({
764
+ # max_results: 1,
765
+ # next_token: "NextScheduledQueriesResultsToken",
766
+ # })
767
+ #
768
+ # @example Response structure
769
+ #
770
+ # resp.scheduled_queries #=> Array
771
+ # resp.scheduled_queries[0].arn #=> String
772
+ # resp.scheduled_queries[0].name #=> String
773
+ # resp.scheduled_queries[0].creation_time #=> Time
774
+ # resp.scheduled_queries[0].state #=> String, one of "ENABLED", "DISABLED"
775
+ # resp.scheduled_queries[0].previous_invocation_time #=> Time
776
+ # resp.scheduled_queries[0].next_invocation_time #=> Time
777
+ # resp.scheduled_queries[0].error_report_configuration.s3_configuration.bucket_name #=> String
778
+ # resp.scheduled_queries[0].error_report_configuration.s3_configuration.object_key_prefix #=> String
779
+ # resp.scheduled_queries[0].error_report_configuration.s3_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS"
780
+ # resp.scheduled_queries[0].target_destination.timestream_destination.database_name #=> String
781
+ # resp.scheduled_queries[0].target_destination.timestream_destination.table_name #=> String
782
+ # resp.scheduled_queries[0].last_run_status #=> String, one of "AUTO_TRIGGER_SUCCESS", "AUTO_TRIGGER_FAILURE", "MANUAL_TRIGGER_SUCCESS", "MANUAL_TRIGGER_FAILURE"
783
+ # resp.next_token #=> String
784
+ #
785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/ListScheduledQueries AWS API Documentation
786
+ #
787
+ # @overload list_scheduled_queries(params = {})
788
+ # @param [Hash] params ({})
789
+ def list_scheduled_queries(params = {}, options = {})
790
+ req = build_request(:list_scheduled_queries, params)
791
+ req.send_request(options)
792
+ end
793
+
794
+ # List all tags on a Timestream query resource.
795
+ #
796
+ # @option params [required, String] :resource_arn
797
+ # The Timestream resource with tags to be listed. This value is an
798
+ # Amazon Resource Name (ARN).
799
+ #
800
+ # @option params [Integer] :max_results
801
+ # The maximum number of tags to return.
802
+ #
803
+ # @option params [String] :next_token
804
+ # A pagination token to resume pagination.
805
+ #
806
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
807
+ #
808
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
809
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
810
+ #
811
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
812
+ #
813
+ # @example Request syntax with placeholder values
814
+ #
815
+ # resp = client.list_tags_for_resource({
816
+ # resource_arn: "AmazonResourceName", # required
817
+ # max_results: 1,
818
+ # next_token: "NextTagsForResourceResultsToken",
819
+ # })
820
+ #
821
+ # @example Response structure
822
+ #
823
+ # resp.tags #=> Array
824
+ # resp.tags[0].key #=> String
825
+ # resp.tags[0].value #=> String
826
+ # resp.next_token #=> String
827
+ #
828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/ListTagsForResource AWS API Documentation
829
+ #
830
+ # @overload list_tags_for_resource(params = {})
831
+ # @param [Hash] params ({})
832
+ def list_tags_for_resource(params = {}, options = {})
833
+ req = build_request(:list_tags_for_resource, params)
834
+ req.send_request(options)
835
+ end
836
+
837
+ # A synchronous operation that allows you to submit a query with
838
+ # parameters to be stored by Timestream for later running. Timestream
839
+ # only supports using this operation with the
840
+ # `PrepareQueryRequest$ValidateOnly` set to `true`.
841
+ #
842
+ # @option params [required, String] :query_string
843
+ # The Timestream query string that you want to use as a prepared
844
+ # statement. Parameter names can be specified in the query string `@`
845
+ # character followed by an identifier.
846
+ #
847
+ # @option params [Boolean] :validate_only
848
+ # By setting this value to `true`, Timestream will only validate that
849
+ # the query string is a valid Timestream query, and not store the
850
+ # prepared query for later use.
851
+ #
852
+ # @return [Types::PrepareQueryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
853
+ #
854
+ # * {Types::PrepareQueryResponse#query_string #query_string} => String
855
+ # * {Types::PrepareQueryResponse#columns #columns} => Array&lt;Types::SelectColumn&gt;
856
+ # * {Types::PrepareQueryResponse#parameters #parameters} => Array&lt;Types::ParameterMapping&gt;
857
+ #
858
+ # @example Request syntax with placeholder values
859
+ #
860
+ # resp = client.prepare_query({
861
+ # query_string: "QueryString", # required
862
+ # validate_only: false,
863
+ # })
864
+ #
865
+ # @example Response structure
866
+ #
867
+ # resp.query_string #=> String
868
+ # resp.columns #=> Array
869
+ # resp.columns[0].name #=> String
870
+ # resp.columns[0].type.scalar_type #=> String, one of "VARCHAR", "BOOLEAN", "BIGINT", "DOUBLE", "TIMESTAMP", "DATE", "TIME", "INTERVAL_DAY_TO_SECOND", "INTERVAL_YEAR_TO_MONTH", "UNKNOWN", "INTEGER"
871
+ # resp.columns[0].type.array_column_info.name #=> String
872
+ # resp.columns[0].type.array_column_info.type #=> Types::Type
873
+ # resp.columns[0].type.time_series_measure_value_column_info.name #=> String
874
+ # resp.columns[0].type.time_series_measure_value_column_info.type #=> Types::Type
875
+ # resp.columns[0].type.row_column_info #=> Array
876
+ # resp.columns[0].type.row_column_info[0].name #=> String
877
+ # resp.columns[0].type.row_column_info[0].type #=> Types::Type
878
+ # resp.columns[0].database_name #=> String
879
+ # resp.columns[0].table_name #=> String
880
+ # resp.columns[0].aliased #=> Boolean
881
+ # resp.parameters #=> Array
882
+ # resp.parameters[0].name #=> String
883
+ # resp.parameters[0].type.scalar_type #=> String, one of "VARCHAR", "BOOLEAN", "BIGINT", "DOUBLE", "TIMESTAMP", "DATE", "TIME", "INTERVAL_DAY_TO_SECOND", "INTERVAL_YEAR_TO_MONTH", "UNKNOWN", "INTEGER"
884
+ # resp.parameters[0].type.array_column_info.name #=> String
885
+ # resp.parameters[0].type.array_column_info.type #=> Types::Type
886
+ # resp.parameters[0].type.time_series_measure_value_column_info.name #=> String
887
+ # resp.parameters[0].type.time_series_measure_value_column_info.type #=> Types::Type
888
+ # resp.parameters[0].type.row_column_info #=> Array
889
+ # resp.parameters[0].type.row_column_info[0].name #=> String
890
+ # resp.parameters[0].type.row_column_info[0].type #=> Types::Type
891
+ #
892
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/PrepareQuery AWS API Documentation
893
+ #
894
+ # @overload prepare_query(params = {})
895
+ # @param [Hash] params ({})
896
+ def prepare_query(params = {}, options = {})
897
+ req = build_request(:prepare_query, params)
898
+ req.send_request(options)
899
+ end
900
+
901
+ # `Query` is a synchronous operation that enables you to run a query
902
+ # against your Amazon Timestream data. `Query` will time out after 60
903
+ # seconds. You must update the default timeout in the SDK to support a
904
+ # timeout of 60 seconds. See the [code sample][1] for details.
905
+ #
906
+ # Your query request will fail in the following cases:
907
+ #
908
+ # * If you submit a `Query` request with the same client token outside
909
+ # of the 5-minute idempotency window.
910
+ #
911
+ # * If you submit a `Query` request with the same client token, but
912
+ # change other parameters, within the 5-minute idempotency window.
913
+ #
914
+ # * If the size of the row (including the query metadata) exceeds 1 MB,
915
+ # then the query will fail with the following error message:
916
+ #
917
+ # `Query aborted as max page response size has been exceeded by the
918
+ # output result row`
919
+ #
920
+ # * If the IAM principal of the query initiator and the result reader
921
+ # are not the same and/or the query initiator and the result reader do
922
+ # not have the same query string in the query requests, the query will
923
+ # fail with an `Invalid pagination token` error.
924
+ #
925
+ #
926
+ #
927
+ # [1]: https://docs.aws.amazon.com/Timestream/latest/developerguide/code-samples.run-query.html
427
928
  #
428
929
  # @option params [required, String] :query_string
429
- # The query to be executed by Timestream.
930
+ # The query to be run by Timestream.
430
931
  #
431
932
  # @option params [String] :client_token
432
- # Unique, case-sensitive string of up to 64 ASCII characters that you
433
- # specify when you make a Query request. Providing a `ClientToken` makes
434
- # the call to `Query` idempotent, meaning that multiple identical calls
435
- # have the same effect as one single call.
933
+ # Unique, case-sensitive string of up to 64 ASCII characters specified
934
+ # when a `Query` request is made. Providing a `ClientToken` makes the
935
+ # call to `Query` *idempotent*. This means that running the same query
936
+ # repeatedly will produce the same result. In other words, making
937
+ # multiple identical `Query` requests has the same effect as making a
938
+ # single request. When using `ClientToken` in a query, note the
939
+ # following:
436
940
  #
437
- # Your query request will fail in the following cases:
941
+ # * If the Query API is instantiated without a `ClientToken`, the Query
942
+ # SDK generates a `ClientToken` on your behalf.
438
943
  #
439
- # * If you submit a request with the same client token outside the
440
- # 5-minute idepotency window.
944
+ # * If the `Query` invocation only contains the `ClientToken` but does
945
+ # not include a `NextToken`, that invocation of `Query` is assumed to
946
+ # be a new query run.
441
947
  #
442
- # * If you submit a request with the same client token but a change in
443
- # other parameters within the 5-minute idempotency window.
948
+ # * If the invocation contains `NextToken`, that particular invocation
949
+ # is assumed to be a subsequent invocation of a prior call to the
950
+ # Query API, and a result set is returned.
444
951
  #
445
- # After 4 hours, any request with the same client token is treated as a
446
- # new request.
952
+ # * After 4 hours, any request with the same `ClientToken` is treated as
953
+ # a new request.
447
954
  #
448
955
  # **A suitable default value is auto-generated.** You should normally
449
956
  # not need to pass this option.**
450
957
  #
451
958
  # @option params [String] :next_token
452
- # A pagination token passed to get a set of results.
959
+ # A pagination token used to return a set of results. When the `Query`
960
+ # API is invoked using `NextToken`, that particular invocation is
961
+ # assumed to be a subsequent invocation of a prior call to `Query`, and
962
+ # a result set is returned. However, if the `Query` invocation only
963
+ # contains the `ClientToken`, that invocation of `Query` is assumed to
964
+ # be a new query run.
965
+ #
966
+ # Note the following when using NextToken in a query:
967
+ #
968
+ # * A pagination token can be used for up to five `Query` invocations,
969
+ # OR for a duration of up to 1 hour – whichever comes first.
970
+ #
971
+ # * Using the same `NextToken` will return the same set of records. To
972
+ # keep paginating through the result set, you must to use the most
973
+ # recent `nextToken`.
974
+ #
975
+ # * Suppose a `Query` invocation returns two `NextToken` values,
976
+ # `TokenA` and `TokenB`. If `TokenB` is used in a subsequent `Query`
977
+ # invocation, then `TokenA` is invalidated and cannot be reused.
978
+ #
979
+ # * To request a previous result set from a query after pagination has
980
+ # begun, you must re-invoke the Query API.
981
+ #
982
+ # * The latest `NextToken` should be used to paginate until `null` is
983
+ # returned, at which point a new `NextToken` should be used.
984
+ #
985
+ # * If the IAM principal of the query initiator and the result reader
986
+ # are not the same and/or the query initiator and the result reader do
987
+ # not have the same query string in the query requests, the query will
988
+ # fail with an `Invalid pagination token` error.
453
989
  #
454
990
  # @option params [Integer] :max_rows
455
- # The total number of rows to return in the output. If the total number
456
- # of rows available is more than the value specified, a NextToken is
457
- # provided in the command's output. To resume pagination, provide the
458
- # NextToken value in the starting-token argument of a subsequent
459
- # command.
991
+ # The total number of rows to be returned in the `Query` output. The
992
+ # initial run of `Query` with a `MaxRows` value specified will return
993
+ # the result set of the query in two cases:
994
+ #
995
+ # * The size of the result is less than `1MB`.
996
+ #
997
+ # * The number of rows in the result set is less than the value of
998
+ # `maxRows`.
999
+ #
1000
+ # Otherwise, the initial invocation of `Query` only returns a
1001
+ # `NextToken`, which can then be used in subsequent calls to fetch the
1002
+ # result set. To resume pagination, provide the `NextToken` value in the
1003
+ # subsequent command.
1004
+ #
1005
+ # If the row size is large (e.g. a row has many columns), Timestream may
1006
+ # return fewer rows to keep the response size from exceeding the 1 MB
1007
+ # limit. If `MaxRows` is not provided, Timestream will send the
1008
+ # necessary number of rows to meet the 1 MB limit.
460
1009
  #
461
1010
  # @return [Types::QueryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
462
1011
  #
@@ -473,7 +1022,7 @@ module Aws::TimestreamQuery
473
1022
  # resp = client.query({
474
1023
  # query_string: "QueryString", # required
475
1024
  # client_token: "ClientRequestToken",
476
- # next_token: "String",
1025
+ # next_token: "PaginationToken",
477
1026
  # max_rows: 1,
478
1027
  # })
479
1028
  #
@@ -509,6 +1058,94 @@ module Aws::TimestreamQuery
509
1058
  req.send_request(options)
510
1059
  end
511
1060
 
1061
+ # Associate a set of tags with a Timestream resource. You can then
1062
+ # activate these user-defined tags so that they appear on the Billing
1063
+ # and Cost Management console for cost allocation tracking.
1064
+ #
1065
+ # @option params [required, String] :resource_arn
1066
+ # Identifies the Timestream resource to which tags should be added. This
1067
+ # value is an Amazon Resource Name (ARN).
1068
+ #
1069
+ # @option params [required, Array<Types::Tag>] :tags
1070
+ # The tags to be assigned to the Timestream resource.
1071
+ #
1072
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1073
+ #
1074
+ # @example Request syntax with placeholder values
1075
+ #
1076
+ # resp = client.tag_resource({
1077
+ # resource_arn: "AmazonResourceName", # required
1078
+ # tags: [ # required
1079
+ # {
1080
+ # key: "TagKey", # required
1081
+ # value: "TagValue", # required
1082
+ # },
1083
+ # ],
1084
+ # })
1085
+ #
1086
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/TagResource AWS API Documentation
1087
+ #
1088
+ # @overload tag_resource(params = {})
1089
+ # @param [Hash] params ({})
1090
+ def tag_resource(params = {}, options = {})
1091
+ req = build_request(:tag_resource, params)
1092
+ req.send_request(options)
1093
+ end
1094
+
1095
+ # Removes the association of tags from a Timestream query resource.
1096
+ #
1097
+ # @option params [required, String] :resource_arn
1098
+ # The Timestream resource that the tags will be removed from. This value
1099
+ # is an Amazon Resource Name (ARN).
1100
+ #
1101
+ # @option params [required, Array<String>] :tag_keys
1102
+ # A list of tags keys. Existing tags of the resource whose keys are
1103
+ # members of this list will be removed from the Timestream resource.
1104
+ #
1105
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1106
+ #
1107
+ # @example Request syntax with placeholder values
1108
+ #
1109
+ # resp = client.untag_resource({
1110
+ # resource_arn: "AmazonResourceName", # required
1111
+ # tag_keys: ["TagKey"], # required
1112
+ # })
1113
+ #
1114
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/UntagResource AWS API Documentation
1115
+ #
1116
+ # @overload untag_resource(params = {})
1117
+ # @param [Hash] params ({})
1118
+ def untag_resource(params = {}, options = {})
1119
+ req = build_request(:untag_resource, params)
1120
+ req.send_request(options)
1121
+ end
1122
+
1123
+ # Update a scheduled query.
1124
+ #
1125
+ # @option params [required, String] :scheduled_query_arn
1126
+ # ARN of the scheuled query.
1127
+ #
1128
+ # @option params [required, String] :state
1129
+ # State of the scheduled query.
1130
+ #
1131
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1132
+ #
1133
+ # @example Request syntax with placeholder values
1134
+ #
1135
+ # resp = client.update_scheduled_query({
1136
+ # scheduled_query_arn: "AmazonResourceName", # required
1137
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
1138
+ # })
1139
+ #
1140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/timestream-query-2018-11-01/UpdateScheduledQuery AWS API Documentation
1141
+ #
1142
+ # @overload update_scheduled_query(params = {})
1143
+ # @param [Hash] params ({})
1144
+ def update_scheduled_query(params = {}, options = {})
1145
+ req = build_request(:update_scheduled_query, params)
1146
+ req.send_request(options)
1147
+ end
1148
+
512
1149
  # @!endgroup
513
1150
 
514
1151
  # @param params ({})
@@ -522,7 +1159,7 @@ module Aws::TimestreamQuery
522
1159
  params: params,
523
1160
  config: config)
524
1161
  context[:gem_name] = 'aws-sdk-timestreamquery'
525
- context[:gem_version] = '1.9.0'
1162
+ context[:gem_version] = '1.13.0'
526
1163
  Seahorse::Client::Request.new(handlers, context)
527
1164
  end
528
1165