aws-sdk-timestreamquery 1.9.0 → 1.13.0

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