aws-sdk-cloudtrail 1.42.0 → 1.46.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::CloudTrail
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
 
@@ -175,6 +179,10 @@ module Aws::CloudTrail
175
179
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
180
  # a clock skew correction and retry requests with skewed client clocks.
177
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
+ #
178
186
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
187
  # Set to true to disable SDK automatically adding host prefix
180
188
  # to default service endpoint when available.
@@ -307,7 +315,7 @@ module Aws::CloudTrail
307
315
  # seconds to wait when opening a HTTP session before raising a
308
316
  # `Timeout::Error`.
309
317
  #
310
- # @option options [Integer] :http_read_timeout (60) The default
318
+ # @option options [Float] :http_read_timeout (60) The default
311
319
  # number of seconds to wait for response data. This value can
312
320
  # safely be set per-request on the session.
313
321
  #
@@ -323,6 +331,9 @@ module Aws::CloudTrail
323
331
  # disables this behaviour. This value can safely be set per
324
332
  # request on the session.
325
333
  #
334
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
335
+ # in seconds.
336
+ #
326
337
  # @option options [Boolean] :http_wire_trace (false) When `true`,
327
338
  # HTTP debug output will be sent to the `:logger`.
328
339
  #
@@ -363,7 +374,7 @@ module Aws::CloudTrail
363
374
  #
364
375
  # `arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail`
365
376
  #
366
- # @option params [Array<Types::Tag>] :tags_list
377
+ # @option params [required, Array<Types::Tag>] :tags_list
367
378
  # Contains a list of tags, up to a limit of 50
368
379
  #
369
380
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -372,10 +383,10 @@ module Aws::CloudTrail
372
383
  #
373
384
  # resp = client.add_tags({
374
385
  # resource_id: "String", # required
375
- # tags_list: [
386
+ # tags_list: [ # required
376
387
  # {
377
- # key: "String", # required
378
- # value: "String",
388
+ # key: "TagKey", # required
389
+ # value: "TagValue",
379
390
  # },
380
391
  # ],
381
392
  # })
@@ -389,6 +400,168 @@ module Aws::CloudTrail
389
400
  req.send_request(options)
390
401
  end
391
402
 
403
+ # Cancels a query if the query is not in a terminated state, such as
404
+ # `CANCELLED`, `FAILED` or `FINISHED`. You must specify an ARN value for
405
+ # `EventDataStore`. The ID of the query that you want to cancel is also
406
+ # required. When you run `CancelQuery`, the query status might show as
407
+ # `CANCELLED` even if the operation is not yet finished.
408
+ #
409
+ # @option params [required, String] :event_data_store
410
+ # The ARN (or the ID suffix of the ARN) of an event data store on which
411
+ # the specified query is running.
412
+ #
413
+ # @option params [required, String] :query_id
414
+ # The ID of the query that you want to cancel. The `QueryId` comes from
415
+ # the response of a `StartQuery` operation.
416
+ #
417
+ # @return [Types::CancelQueryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
418
+ #
419
+ # * {Types::CancelQueryResponse#query_id #query_id} => String
420
+ # * {Types::CancelQueryResponse#query_status #query_status} => String
421
+ #
422
+ # @example Request syntax with placeholder values
423
+ #
424
+ # resp = client.cancel_query({
425
+ # event_data_store: "EventDataStoreArn", # required
426
+ # query_id: "UUID", # required
427
+ # })
428
+ #
429
+ # @example Response structure
430
+ #
431
+ # resp.query_id #=> String
432
+ # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED"
433
+ #
434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/CancelQuery AWS API Documentation
435
+ #
436
+ # @overload cancel_query(params = {})
437
+ # @param [Hash] params ({})
438
+ def cancel_query(params = {}, options = {})
439
+ req = build_request(:cancel_query, params)
440
+ req.send_request(options)
441
+ end
442
+
443
+ # Creates a new event data store.
444
+ #
445
+ # @option params [required, String] :name
446
+ # The name of the event data store.
447
+ #
448
+ # @option params [Array<Types::AdvancedEventSelector>] :advanced_event_selectors
449
+ # The advanced event selectors to use to select the events for the data
450
+ # store. For more information about how to use advanced event selectors,
451
+ # see [Log events by using advanced event selectors][1] in the
452
+ # CloudTrail User Guide.
453
+ #
454
+ #
455
+ #
456
+ # [1]: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced
457
+ #
458
+ # @option params [Boolean] :multi_region_enabled
459
+ # Specifies whether the event data store includes events from all
460
+ # regions, or only from the region in which the event data store is
461
+ # created.
462
+ #
463
+ # @option params [Boolean] :organization_enabled
464
+ # Specifies whether an event data store collects events logged for an
465
+ # organization in Organizations.
466
+ #
467
+ # @option params [Integer] :retention_period
468
+ # The retention period of the event data store, in days. You can set a
469
+ # retention period of up to 2555 days, the equivalent of seven years.
470
+ #
471
+ # @option params [Boolean] :termination_protection_enabled
472
+ # Specifies whether termination protection is enabled for the event data
473
+ # store. If termination protection is enabled, you cannot delete the
474
+ # event data store until termination protection is disabled.
475
+ #
476
+ # @option params [Array<Types::Tag>] :tags_list
477
+ # A list of tags.
478
+ #
479
+ # @return [Types::CreateEventDataStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
480
+ #
481
+ # * {Types::CreateEventDataStoreResponse#event_data_store_arn #event_data_store_arn} => String
482
+ # * {Types::CreateEventDataStoreResponse#name #name} => String
483
+ # * {Types::CreateEventDataStoreResponse#status #status} => String
484
+ # * {Types::CreateEventDataStoreResponse#advanced_event_selectors #advanced_event_selectors} => Array&lt;Types::AdvancedEventSelector&gt;
485
+ # * {Types::CreateEventDataStoreResponse#multi_region_enabled #multi_region_enabled} => Boolean
486
+ # * {Types::CreateEventDataStoreResponse#organization_enabled #organization_enabled} => Boolean
487
+ # * {Types::CreateEventDataStoreResponse#retention_period #retention_period} => Integer
488
+ # * {Types::CreateEventDataStoreResponse#termination_protection_enabled #termination_protection_enabled} => Boolean
489
+ # * {Types::CreateEventDataStoreResponse#tags_list #tags_list} => Array&lt;Types::Tag&gt;
490
+ # * {Types::CreateEventDataStoreResponse#created_timestamp #created_timestamp} => Time
491
+ # * {Types::CreateEventDataStoreResponse#updated_timestamp #updated_timestamp} => Time
492
+ #
493
+ # @example Request syntax with placeholder values
494
+ #
495
+ # resp = client.create_event_data_store({
496
+ # name: "EventDataStoreName", # required
497
+ # advanced_event_selectors: [
498
+ # {
499
+ # name: "SelectorName",
500
+ # field_selectors: [ # required
501
+ # {
502
+ # field: "SelectorField", # required
503
+ # equals: ["OperatorValue"],
504
+ # starts_with: ["OperatorValue"],
505
+ # ends_with: ["OperatorValue"],
506
+ # not_equals: ["OperatorValue"],
507
+ # not_starts_with: ["OperatorValue"],
508
+ # not_ends_with: ["OperatorValue"],
509
+ # },
510
+ # ],
511
+ # },
512
+ # ],
513
+ # multi_region_enabled: false,
514
+ # organization_enabled: false,
515
+ # retention_period: 1,
516
+ # termination_protection_enabled: false,
517
+ # tags_list: [
518
+ # {
519
+ # key: "TagKey", # required
520
+ # value: "TagValue",
521
+ # },
522
+ # ],
523
+ # })
524
+ #
525
+ # @example Response structure
526
+ #
527
+ # resp.event_data_store_arn #=> String
528
+ # resp.name #=> String
529
+ # resp.status #=> String, one of "CREATED", "ENABLED", "PENDING_DELETION"
530
+ # resp.advanced_event_selectors #=> Array
531
+ # resp.advanced_event_selectors[0].name #=> String
532
+ # resp.advanced_event_selectors[0].field_selectors #=> Array
533
+ # resp.advanced_event_selectors[0].field_selectors[0].field #=> String
534
+ # resp.advanced_event_selectors[0].field_selectors[0].equals #=> Array
535
+ # resp.advanced_event_selectors[0].field_selectors[0].equals[0] #=> String
536
+ # resp.advanced_event_selectors[0].field_selectors[0].starts_with #=> Array
537
+ # resp.advanced_event_selectors[0].field_selectors[0].starts_with[0] #=> String
538
+ # resp.advanced_event_selectors[0].field_selectors[0].ends_with #=> Array
539
+ # resp.advanced_event_selectors[0].field_selectors[0].ends_with[0] #=> String
540
+ # resp.advanced_event_selectors[0].field_selectors[0].not_equals #=> Array
541
+ # resp.advanced_event_selectors[0].field_selectors[0].not_equals[0] #=> String
542
+ # resp.advanced_event_selectors[0].field_selectors[0].not_starts_with #=> Array
543
+ # resp.advanced_event_selectors[0].field_selectors[0].not_starts_with[0] #=> String
544
+ # resp.advanced_event_selectors[0].field_selectors[0].not_ends_with #=> Array
545
+ # resp.advanced_event_selectors[0].field_selectors[0].not_ends_with[0] #=> String
546
+ # resp.multi_region_enabled #=> Boolean
547
+ # resp.organization_enabled #=> Boolean
548
+ # resp.retention_period #=> Integer
549
+ # resp.termination_protection_enabled #=> Boolean
550
+ # resp.tags_list #=> Array
551
+ # resp.tags_list[0].key #=> String
552
+ # resp.tags_list[0].value #=> String
553
+ # resp.created_timestamp #=> Time
554
+ # resp.updated_timestamp #=> Time
555
+ #
556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/CreateEventDataStore AWS API Documentation
557
+ #
558
+ # @overload create_event_data_store(params = {})
559
+ # @param [Hash] params ({})
560
+ def create_event_data_store(params = {}, options = {})
561
+ req = build_request(:create_event_data_store, params)
562
+ req.send_request(options)
563
+ end
564
+
392
565
  # Creates a trail that specifies the settings for delivery of log data
393
566
  # to an Amazon S3 bucket.
394
567
  #
@@ -532,8 +705,8 @@ module Aws::CloudTrail
532
705
  # is_organization_trail: false,
533
706
  # tags_list: [
534
707
  # {
535
- # key: "String", # required
536
- # value: "String",
708
+ # key: "TagKey", # required
709
+ # value: "TagValue",
537
710
  # },
538
711
  # ],
539
712
  # })
@@ -563,6 +736,41 @@ module Aws::CloudTrail
563
736
  req.send_request(options)
564
737
  end
565
738
 
739
+ # Disables the event data store specified by `EventDataStore`, which
740
+ # accepts an event data store ARN. After you run `DeleteEventDataStore`,
741
+ # the event data store enters a `PENDING_DELETION` state, and is
742
+ # automatically deleted after a wait period of seven days.
743
+ # `TerminationProtectionEnabled` must be set to `False` on the event
744
+ # data store; this operation cannot work if
745
+ # `TerminationProtectionEnabled` is `True`.
746
+ #
747
+ # After you run `DeleteEventDataStore` on an event data store, you
748
+ # cannot run `ListQueries`, `DescribeQuery`, or `GetQueryResults` on
749
+ # queries that are using an event data store in a `PENDING_DELETION`
750
+ # state. An event data store in the `PENDING_DELETION` state does not
751
+ # incur costs.
752
+ #
753
+ # @option params [required, String] :event_data_store
754
+ # The ARN (or the ID suffix of the ARN) of the event data store to
755
+ # delete.
756
+ #
757
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
758
+ #
759
+ # @example Request syntax with placeholder values
760
+ #
761
+ # resp = client.delete_event_data_store({
762
+ # event_data_store: "EventDataStoreArn", # required
763
+ # })
764
+ #
765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DeleteEventDataStore AWS API Documentation
766
+ #
767
+ # @overload delete_event_data_store(params = {})
768
+ # @param [Hash] params ({})
769
+ def delete_event_data_store(params = {}, options = {})
770
+ req = build_request(:delete_event_data_store, params)
771
+ req.send_request(options)
772
+ end
773
+
566
774
  # Deletes a trail. This operation must be called from the region in
567
775
  # which the trail was created. `DeleteTrail` cannot be called on the
568
776
  # shadow trails (replicated trails in other regions) of a trail that is
@@ -590,6 +798,53 @@ module Aws::CloudTrail
590
798
  req.send_request(options)
591
799
  end
592
800
 
801
+ # Returns metadata about a query, including query run time in
802
+ # milliseconds, number of events scanned and matched, and query status.
803
+ # You must specify an ARN for `EventDataStore`, and a value for
804
+ # `QueryID`.
805
+ #
806
+ # @option params [required, String] :event_data_store
807
+ # The ARN (or the ID suffix of the ARN) of an event data store on which
808
+ # the specified query was run.
809
+ #
810
+ # @option params [required, String] :query_id
811
+ # The query ID.
812
+ #
813
+ # @return [Types::DescribeQueryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
814
+ #
815
+ # * {Types::DescribeQueryResponse#query_id #query_id} => String
816
+ # * {Types::DescribeQueryResponse#query_string #query_string} => String
817
+ # * {Types::DescribeQueryResponse#query_status #query_status} => String
818
+ # * {Types::DescribeQueryResponse#query_statistics #query_statistics} => Types::QueryStatisticsForDescribeQuery
819
+ # * {Types::DescribeQueryResponse#error_message #error_message} => String
820
+ #
821
+ # @example Request syntax with placeholder values
822
+ #
823
+ # resp = client.describe_query({
824
+ # event_data_store: "EventDataStoreArn", # required
825
+ # query_id: "UUID", # required
826
+ # })
827
+ #
828
+ # @example Response structure
829
+ #
830
+ # resp.query_id #=> String
831
+ # resp.query_string #=> String
832
+ # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED"
833
+ # resp.query_statistics.events_matched #=> Integer
834
+ # resp.query_statistics.events_scanned #=> Integer
835
+ # resp.query_statistics.execution_time_in_millis #=> Integer
836
+ # resp.query_statistics.creation_time #=> Time
837
+ # resp.error_message #=> String
838
+ #
839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DescribeQuery AWS API Documentation
840
+ #
841
+ # @overload describe_query(params = {})
842
+ # @param [Hash] params ({})
843
+ def describe_query(params = {}, options = {})
844
+ req = build_request(:describe_query, params)
845
+ req.send_request(options)
846
+ end
847
+
593
848
  # Retrieves settings for one or more trails associated with the current
594
849
  # region for your account.
595
850
  #
@@ -664,6 +919,69 @@ module Aws::CloudTrail
664
919
  req.send_request(options)
665
920
  end
666
921
 
922
+ # Returns information about an event data store specified as either an
923
+ # ARN or the ID portion of the ARN.
924
+ #
925
+ # @option params [required, String] :event_data_store
926
+ # The ARN (or ID suffix of the ARN) of the event data store about which
927
+ # you want information.
928
+ #
929
+ # @return [Types::GetEventDataStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
930
+ #
931
+ # * {Types::GetEventDataStoreResponse#event_data_store_arn #event_data_store_arn} => String
932
+ # * {Types::GetEventDataStoreResponse#name #name} => String
933
+ # * {Types::GetEventDataStoreResponse#status #status} => String
934
+ # * {Types::GetEventDataStoreResponse#advanced_event_selectors #advanced_event_selectors} => Array&lt;Types::AdvancedEventSelector&gt;
935
+ # * {Types::GetEventDataStoreResponse#multi_region_enabled #multi_region_enabled} => Boolean
936
+ # * {Types::GetEventDataStoreResponse#organization_enabled #organization_enabled} => Boolean
937
+ # * {Types::GetEventDataStoreResponse#retention_period #retention_period} => Integer
938
+ # * {Types::GetEventDataStoreResponse#termination_protection_enabled #termination_protection_enabled} => Boolean
939
+ # * {Types::GetEventDataStoreResponse#created_timestamp #created_timestamp} => Time
940
+ # * {Types::GetEventDataStoreResponse#updated_timestamp #updated_timestamp} => Time
941
+ #
942
+ # @example Request syntax with placeholder values
943
+ #
944
+ # resp = client.get_event_data_store({
945
+ # event_data_store: "EventDataStoreArn", # required
946
+ # })
947
+ #
948
+ # @example Response structure
949
+ #
950
+ # resp.event_data_store_arn #=> String
951
+ # resp.name #=> String
952
+ # resp.status #=> String, one of "CREATED", "ENABLED", "PENDING_DELETION"
953
+ # resp.advanced_event_selectors #=> Array
954
+ # resp.advanced_event_selectors[0].name #=> String
955
+ # resp.advanced_event_selectors[0].field_selectors #=> Array
956
+ # resp.advanced_event_selectors[0].field_selectors[0].field #=> String
957
+ # resp.advanced_event_selectors[0].field_selectors[0].equals #=> Array
958
+ # resp.advanced_event_selectors[0].field_selectors[0].equals[0] #=> String
959
+ # resp.advanced_event_selectors[0].field_selectors[0].starts_with #=> Array
960
+ # resp.advanced_event_selectors[0].field_selectors[0].starts_with[0] #=> String
961
+ # resp.advanced_event_selectors[0].field_selectors[0].ends_with #=> Array
962
+ # resp.advanced_event_selectors[0].field_selectors[0].ends_with[0] #=> String
963
+ # resp.advanced_event_selectors[0].field_selectors[0].not_equals #=> Array
964
+ # resp.advanced_event_selectors[0].field_selectors[0].not_equals[0] #=> String
965
+ # resp.advanced_event_selectors[0].field_selectors[0].not_starts_with #=> Array
966
+ # resp.advanced_event_selectors[0].field_selectors[0].not_starts_with[0] #=> String
967
+ # resp.advanced_event_selectors[0].field_selectors[0].not_ends_with #=> Array
968
+ # resp.advanced_event_selectors[0].field_selectors[0].not_ends_with[0] #=> String
969
+ # resp.multi_region_enabled #=> Boolean
970
+ # resp.organization_enabled #=> Boolean
971
+ # resp.retention_period #=> Integer
972
+ # resp.termination_protection_enabled #=> Boolean
973
+ # resp.created_timestamp #=> Time
974
+ # resp.updated_timestamp #=> Time
975
+ #
976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetEventDataStore AWS API Documentation
977
+ #
978
+ # @overload get_event_data_store(params = {})
979
+ # @param [Hash] params ({})
980
+ def get_event_data_store(params = {}, options = {})
981
+ req = build_request(:get_event_data_store, params)
982
+ req.send_request(options)
983
+ end
984
+
667
985
  # Describes the settings for the event selectors that you configured for
668
986
  # your trail. The information returned for your event selectors includes
669
987
  # the following:
@@ -814,6 +1132,63 @@ module Aws::CloudTrail
814
1132
  req.send_request(options)
815
1133
  end
816
1134
 
1135
+ # Gets event data results of a query. You must specify the `QueryID`
1136
+ # value returned by the `StartQuery` operation, and an ARN for
1137
+ # `EventDataStore`.
1138
+ #
1139
+ # @option params [required, String] :event_data_store
1140
+ # The ARN (or ID suffix of the ARN) of the event data store against
1141
+ # which the query was run.
1142
+ #
1143
+ # @option params [required, String] :query_id
1144
+ # The ID of the query for which you want to get results.
1145
+ #
1146
+ # @option params [String] :next_token
1147
+ # A token you can use to get the next page of query results.
1148
+ #
1149
+ # @option params [Integer] :max_query_results
1150
+ # The maximum number of query results to display on a single page.
1151
+ #
1152
+ # @return [Types::GetQueryResultsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1153
+ #
1154
+ # * {Types::GetQueryResultsResponse#query_status #query_status} => String
1155
+ # * {Types::GetQueryResultsResponse#query_statistics #query_statistics} => Types::QueryStatistics
1156
+ # * {Types::GetQueryResultsResponse#query_result_rows #query_result_rows} => Array&lt;Array&lt;Hash&lt;String,String&gt;&gt;&gt;
1157
+ # * {Types::GetQueryResultsResponse#next_token #next_token} => String
1158
+ # * {Types::GetQueryResultsResponse#error_message #error_message} => String
1159
+ #
1160
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1161
+ #
1162
+ # @example Request syntax with placeholder values
1163
+ #
1164
+ # resp = client.get_query_results({
1165
+ # event_data_store: "EventDataStoreArn", # required
1166
+ # query_id: "UUID", # required
1167
+ # next_token: "PaginationToken",
1168
+ # max_query_results: 1,
1169
+ # })
1170
+ #
1171
+ # @example Response structure
1172
+ #
1173
+ # resp.query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED"
1174
+ # resp.query_statistics.results_count #=> Integer
1175
+ # resp.query_statistics.total_results_count #=> Integer
1176
+ # resp.query_result_rows #=> Array
1177
+ # resp.query_result_rows[0] #=> Array
1178
+ # resp.query_result_rows[0][0] #=> Hash
1179
+ # resp.query_result_rows[0][0]["QueryResultKey"] #=> String
1180
+ # resp.next_token #=> String
1181
+ # resp.error_message #=> String
1182
+ #
1183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetQueryResults AWS API Documentation
1184
+ #
1185
+ # @overload get_query_results(params = {})
1186
+ # @param [Hash] params ({})
1187
+ def get_query_results(params = {}, options = {})
1188
+ req = build_request(:get_query_results, params)
1189
+ req.send_request(options)
1190
+ end
1191
+
817
1192
  # Returns settings information for a specified trail.
818
1193
  #
819
1194
  # @option params [required, String] :name
@@ -928,6 +1303,68 @@ module Aws::CloudTrail
928
1303
  req.send_request(options)
929
1304
  end
930
1305
 
1306
+ # Returns information about all event data stores in the account, in the
1307
+ # current region.
1308
+ #
1309
+ # @option params [String] :next_token
1310
+ # A token you can use to get the next page of event data store results.
1311
+ #
1312
+ # @option params [Integer] :max_results
1313
+ # The maximum number of event data stores to display on a single page.
1314
+ #
1315
+ # @return [Types::ListEventDataStoresResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1316
+ #
1317
+ # * {Types::ListEventDataStoresResponse#event_data_stores #event_data_stores} => Array&lt;Types::EventDataStore&gt;
1318
+ # * {Types::ListEventDataStoresResponse#next_token #next_token} => String
1319
+ #
1320
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1321
+ #
1322
+ # @example Request syntax with placeholder values
1323
+ #
1324
+ # resp = client.list_event_data_stores({
1325
+ # next_token: "PaginationToken",
1326
+ # max_results: 1,
1327
+ # })
1328
+ #
1329
+ # @example Response structure
1330
+ #
1331
+ # resp.event_data_stores #=> Array
1332
+ # resp.event_data_stores[0].event_data_store_arn #=> String
1333
+ # resp.event_data_stores[0].name #=> String
1334
+ # resp.event_data_stores[0].termination_protection_enabled #=> Boolean
1335
+ # resp.event_data_stores[0].status #=> String, one of "CREATED", "ENABLED", "PENDING_DELETION"
1336
+ # resp.event_data_stores[0].advanced_event_selectors #=> Array
1337
+ # resp.event_data_stores[0].advanced_event_selectors[0].name #=> String
1338
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors #=> Array
1339
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].field #=> String
1340
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].equals #=> Array
1341
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].equals[0] #=> String
1342
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].starts_with #=> Array
1343
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].starts_with[0] #=> String
1344
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].ends_with #=> Array
1345
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].ends_with[0] #=> String
1346
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].not_equals #=> Array
1347
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].not_equals[0] #=> String
1348
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].not_starts_with #=> Array
1349
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].not_starts_with[0] #=> String
1350
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].not_ends_with #=> Array
1351
+ # resp.event_data_stores[0].advanced_event_selectors[0].field_selectors[0].not_ends_with[0] #=> String
1352
+ # resp.event_data_stores[0].multi_region_enabled #=> Boolean
1353
+ # resp.event_data_stores[0].organization_enabled #=> Boolean
1354
+ # resp.event_data_stores[0].retention_period #=> Integer
1355
+ # resp.event_data_stores[0].created_timestamp #=> Time
1356
+ # resp.event_data_stores[0].updated_timestamp #=> Time
1357
+ # resp.next_token #=> String
1358
+ #
1359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListEventDataStores AWS API Documentation
1360
+ #
1361
+ # @overload list_event_data_stores(params = {})
1362
+ # @param [Hash] params ({})
1363
+ def list_event_data_stores(params = {}, options = {})
1364
+ req = build_request(:list_event_data_stores, params)
1365
+ req.send_request(options)
1366
+ end
1367
+
931
1368
  # Returns all public keys whose private keys were used to sign the
932
1369
  # digest files within the specified time range. The public key is needed
933
1370
  # to validate digest files that were signed with its corresponding
@@ -986,6 +1423,71 @@ module Aws::CloudTrail
986
1423
  req.send_request(options)
987
1424
  end
988
1425
 
1426
+ # Returns a list of queries and query statuses for the past seven days.
1427
+ # You must specify an ARN value for `EventDataStore`. Optionally, to
1428
+ # shorten the list of results, you can specify a time range, formatted
1429
+ # as timestamps, by adding `StartTime` and `EndTime` parameters, and a
1430
+ # `QueryStatus` value. Valid values for `QueryStatus` include `QUEUED`,
1431
+ # `RUNNING`, `FINISHED`, `FAILED`, or `CANCELLED`.
1432
+ #
1433
+ # @option params [required, String] :event_data_store
1434
+ # The ARN (or the ID suffix of the ARN) of an event data store on which
1435
+ # queries were run.
1436
+ #
1437
+ # @option params [String] :next_token
1438
+ # A token you can use to get the next page of results.
1439
+ #
1440
+ # @option params [Integer] :max_results
1441
+ # The maximum number of queries to show on a page.
1442
+ #
1443
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
1444
+ # Use with `EndTime` to bound a `ListQueries` request, and limit its
1445
+ # results to only those queries run within a specified time period.
1446
+ #
1447
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
1448
+ # Use with `StartTime` to bound a `ListQueries` request, and limit its
1449
+ # results to only those queries run within a specified time period.
1450
+ #
1451
+ # @option params [String] :query_status
1452
+ # The status of queries that you want to return in results. Valid values
1453
+ # for `QueryStatus` include `QUEUED`, `RUNNING`, `FINISHED`, `FAILED`,
1454
+ # or `CANCELLED`.
1455
+ #
1456
+ # @return [Types::ListQueriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1457
+ #
1458
+ # * {Types::ListQueriesResponse#queries #queries} => Array&lt;Types::Query&gt;
1459
+ # * {Types::ListQueriesResponse#next_token #next_token} => String
1460
+ #
1461
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1462
+ #
1463
+ # @example Request syntax with placeholder values
1464
+ #
1465
+ # resp = client.list_queries({
1466
+ # event_data_store: "EventDataStoreArn", # required
1467
+ # next_token: "PaginationToken",
1468
+ # max_results: 1,
1469
+ # start_time: Time.now,
1470
+ # end_time: Time.now,
1471
+ # query_status: "QUEUED", # accepts QUEUED, RUNNING, FINISHED, FAILED, CANCELLED
1472
+ # })
1473
+ #
1474
+ # @example Response structure
1475
+ #
1476
+ # resp.queries #=> Array
1477
+ # resp.queries[0].query_id #=> String
1478
+ # resp.queries[0].query_status #=> String, one of "QUEUED", "RUNNING", "FINISHED", "FAILED", "CANCELLED"
1479
+ # resp.queries[0].creation_time #=> Time
1480
+ # resp.next_token #=> String
1481
+ #
1482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListQueries AWS API Documentation
1483
+ #
1484
+ # @overload list_queries(params = {})
1485
+ # @param [Hash] params ({})
1486
+ def list_queries(params = {}, options = {})
1487
+ req = build_request(:list_queries, params)
1488
+ req.send_request(options)
1489
+ end
1490
+
989
1491
  # Lists the tags for the trail in the current region.
990
1492
  #
991
1493
  # @option params [required, Array<String>] :resource_id_list
@@ -1362,17 +1864,17 @@ module Aws::CloudTrail
1362
1864
  # Lets you enable Insights event logging by specifying the Insights
1363
1865
  # selectors that you want to enable on an existing trail. You also use
1364
1866
  # `PutInsightSelectors` to turn off Insights event logging, by passing
1365
- # an empty list of insight types. The valid Insights event type in this
1366
- # release is `ApiCallRateInsight`.
1867
+ # an empty list of insight types. The valid Insights event types in this
1868
+ # release are `ApiErrorRateInsight` and `ApiCallRateInsight`.
1367
1869
  #
1368
1870
  # @option params [required, String] :trail_name
1369
1871
  # The name of the CloudTrail trail for which you want to change or add
1370
1872
  # Insights selectors.
1371
1873
  #
1372
1874
  # @option params [required, Array<Types::InsightSelector>] :insight_selectors
1373
- # A JSON string that contains the Insights types that you want to log on
1374
- # a trail. The valid Insights type in this release is
1375
- # `ApiCallRateInsight`.
1875
+ # A JSON string that contains the insight types you want to log on a
1876
+ # trail. `ApiCallRateInsight` and `ApiErrorRateInsight` are valid
1877
+ # insight types.
1376
1878
  #
1377
1879
  # @return [Types::PutInsightSelectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1378
1880
  #
@@ -1413,7 +1915,7 @@ module Aws::CloudTrail
1413
1915
  #
1414
1916
  # `arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail`
1415
1917
  #
1416
- # @option params [Array<Types::Tag>] :tags_list
1918
+ # @option params [required, Array<Types::Tag>] :tags_list
1417
1919
  # Specifies a list of tags to be removed.
1418
1920
  #
1419
1921
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -1422,10 +1924,10 @@ module Aws::CloudTrail
1422
1924
  #
1423
1925
  # resp = client.remove_tags({
1424
1926
  # resource_id: "String", # required
1425
- # tags_list: [
1927
+ # tags_list: [ # required
1426
1928
  # {
1427
- # key: "String", # required
1428
- # value: "String",
1929
+ # key: "TagKey", # required
1930
+ # value: "TagValue",
1429
1931
  # },
1430
1932
  # ],
1431
1933
  # })
@@ -1439,6 +1941,72 @@ module Aws::CloudTrail
1439
1941
  req.send_request(options)
1440
1942
  end
1441
1943
 
1944
+ # Restores a deleted event data store specified by `EventDataStore`,
1945
+ # which accepts an event data store ARN. You can only restore a deleted
1946
+ # event data store within the seven-day wait period after deletion.
1947
+ # Restoring an event data store can take several minutes, depending on
1948
+ # the size of the event data store.
1949
+ #
1950
+ # @option params [required, String] :event_data_store
1951
+ # The ARN (or the ID suffix of the ARN) of the event data store that you
1952
+ # want to restore.
1953
+ #
1954
+ # @return [Types::RestoreEventDataStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1955
+ #
1956
+ # * {Types::RestoreEventDataStoreResponse#event_data_store_arn #event_data_store_arn} => String
1957
+ # * {Types::RestoreEventDataStoreResponse#name #name} => String
1958
+ # * {Types::RestoreEventDataStoreResponse#status #status} => String
1959
+ # * {Types::RestoreEventDataStoreResponse#advanced_event_selectors #advanced_event_selectors} => Array&lt;Types::AdvancedEventSelector&gt;
1960
+ # * {Types::RestoreEventDataStoreResponse#multi_region_enabled #multi_region_enabled} => Boolean
1961
+ # * {Types::RestoreEventDataStoreResponse#organization_enabled #organization_enabled} => Boolean
1962
+ # * {Types::RestoreEventDataStoreResponse#retention_period #retention_period} => Integer
1963
+ # * {Types::RestoreEventDataStoreResponse#termination_protection_enabled #termination_protection_enabled} => Boolean
1964
+ # * {Types::RestoreEventDataStoreResponse#created_timestamp #created_timestamp} => Time
1965
+ # * {Types::RestoreEventDataStoreResponse#updated_timestamp #updated_timestamp} => Time
1966
+ #
1967
+ # @example Request syntax with placeholder values
1968
+ #
1969
+ # resp = client.restore_event_data_store({
1970
+ # event_data_store: "EventDataStoreArn", # required
1971
+ # })
1972
+ #
1973
+ # @example Response structure
1974
+ #
1975
+ # resp.event_data_store_arn #=> String
1976
+ # resp.name #=> String
1977
+ # resp.status #=> String, one of "CREATED", "ENABLED", "PENDING_DELETION"
1978
+ # resp.advanced_event_selectors #=> Array
1979
+ # resp.advanced_event_selectors[0].name #=> String
1980
+ # resp.advanced_event_selectors[0].field_selectors #=> Array
1981
+ # resp.advanced_event_selectors[0].field_selectors[0].field #=> String
1982
+ # resp.advanced_event_selectors[0].field_selectors[0].equals #=> Array
1983
+ # resp.advanced_event_selectors[0].field_selectors[0].equals[0] #=> String
1984
+ # resp.advanced_event_selectors[0].field_selectors[0].starts_with #=> Array
1985
+ # resp.advanced_event_selectors[0].field_selectors[0].starts_with[0] #=> String
1986
+ # resp.advanced_event_selectors[0].field_selectors[0].ends_with #=> Array
1987
+ # resp.advanced_event_selectors[0].field_selectors[0].ends_with[0] #=> String
1988
+ # resp.advanced_event_selectors[0].field_selectors[0].not_equals #=> Array
1989
+ # resp.advanced_event_selectors[0].field_selectors[0].not_equals[0] #=> String
1990
+ # resp.advanced_event_selectors[0].field_selectors[0].not_starts_with #=> Array
1991
+ # resp.advanced_event_selectors[0].field_selectors[0].not_starts_with[0] #=> String
1992
+ # resp.advanced_event_selectors[0].field_selectors[0].not_ends_with #=> Array
1993
+ # resp.advanced_event_selectors[0].field_selectors[0].not_ends_with[0] #=> String
1994
+ # resp.multi_region_enabled #=> Boolean
1995
+ # resp.organization_enabled #=> Boolean
1996
+ # resp.retention_period #=> Integer
1997
+ # resp.termination_protection_enabled #=> Boolean
1998
+ # resp.created_timestamp #=> Time
1999
+ # resp.updated_timestamp #=> Time
2000
+ #
2001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/RestoreEventDataStore AWS API Documentation
2002
+ #
2003
+ # @overload restore_event_data_store(params = {})
2004
+ # @param [Hash] params ({})
2005
+ def restore_event_data_store(params = {}, options = {})
2006
+ req = build_request(:restore_event_data_store, params)
2007
+ req.send_request(options)
2008
+ end
2009
+
1442
2010
  # Starts the recording of Amazon Web Services API calls and log file
1443
2011
  # delivery for a trail. For a trail that is enabled in all regions, this
1444
2012
  # operation must be called from the region in which the trail was
@@ -1470,6 +2038,35 @@ module Aws::CloudTrail
1470
2038
  req.send_request(options)
1471
2039
  end
1472
2040
 
2041
+ # Starts a CloudTrail Lake query. The required `QueryStatement`
2042
+ # parameter provides your SQL query, enclosed in single quotation marks.
2043
+ #
2044
+ # @option params [required, String] :query_statement
2045
+ # The SQL code of your query.
2046
+ #
2047
+ # @return [Types::StartQueryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2048
+ #
2049
+ # * {Types::StartQueryResponse#query_id #query_id} => String
2050
+ #
2051
+ # @example Request syntax with placeholder values
2052
+ #
2053
+ # resp = client.start_query({
2054
+ # query_statement: "QueryStatement", # required
2055
+ # })
2056
+ #
2057
+ # @example Response structure
2058
+ #
2059
+ # resp.query_id #=> String
2060
+ #
2061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/StartQuery AWS API Documentation
2062
+ #
2063
+ # @overload start_query(params = {})
2064
+ # @param [Hash] params ({})
2065
+ def start_query(params = {}, options = {})
2066
+ req = build_request(:start_query, params)
2067
+ req.send_request(options)
2068
+ end
2069
+
1473
2070
  # Suspends the recording of Amazon Web Services API calls and log file
1474
2071
  # delivery for the specified trail. Under most circumstances, there is
1475
2072
  # no need to use this action. You can update a trail without stopping it
@@ -1504,6 +2101,119 @@ module Aws::CloudTrail
1504
2101
  req.send_request(options)
1505
2102
  end
1506
2103
 
2104
+ # Updates an event data store. The required `EventDataStore` value is an
2105
+ # ARN or the ID portion of the ARN. Other parameters are optional, but
2106
+ # at least one optional parameter must be specified, or CloudTrail
2107
+ # throws an error. `RetentionPeriod` is in days, and valid values are
2108
+ # integers between 90 and 2555. By default, `TerminationProtection` is
2109
+ # enabled. `AdvancedEventSelectors` includes or excludes management and
2110
+ # data events in your event data store; for more information about
2111
+ # `AdvancedEventSelectors`, see
2112
+ # PutEventSelectorsRequest$AdvancedEventSelectors.
2113
+ #
2114
+ # @option params [required, String] :event_data_store
2115
+ # The ARN (or the ID suffix of the ARN) of the event data store that you
2116
+ # want to update.
2117
+ #
2118
+ # @option params [String] :name
2119
+ # The event data store name.
2120
+ #
2121
+ # @option params [Array<Types::AdvancedEventSelector>] :advanced_event_selectors
2122
+ # The advanced event selectors used to select events for the event data
2123
+ # store.
2124
+ #
2125
+ # @option params [Boolean] :multi_region_enabled
2126
+ # Specifies whether an event data store collects events from all
2127
+ # regions, or only from the region in which it was created.
2128
+ #
2129
+ # @option params [Boolean] :organization_enabled
2130
+ # Specifies whether an event data store collects events logged for an
2131
+ # organization in Organizations.
2132
+ #
2133
+ # @option params [Integer] :retention_period
2134
+ # The retention period, in days.
2135
+ #
2136
+ # @option params [Boolean] :termination_protection_enabled
2137
+ # Indicates that termination protection is enabled and the event data
2138
+ # store cannot be automatically deleted.
2139
+ #
2140
+ # @return [Types::UpdateEventDataStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2141
+ #
2142
+ # * {Types::UpdateEventDataStoreResponse#event_data_store_arn #event_data_store_arn} => String
2143
+ # * {Types::UpdateEventDataStoreResponse#name #name} => String
2144
+ # * {Types::UpdateEventDataStoreResponse#status #status} => String
2145
+ # * {Types::UpdateEventDataStoreResponse#advanced_event_selectors #advanced_event_selectors} => Array&lt;Types::AdvancedEventSelector&gt;
2146
+ # * {Types::UpdateEventDataStoreResponse#multi_region_enabled #multi_region_enabled} => Boolean
2147
+ # * {Types::UpdateEventDataStoreResponse#organization_enabled #organization_enabled} => Boolean
2148
+ # * {Types::UpdateEventDataStoreResponse#retention_period #retention_period} => Integer
2149
+ # * {Types::UpdateEventDataStoreResponse#termination_protection_enabled #termination_protection_enabled} => Boolean
2150
+ # * {Types::UpdateEventDataStoreResponse#created_timestamp #created_timestamp} => Time
2151
+ # * {Types::UpdateEventDataStoreResponse#updated_timestamp #updated_timestamp} => Time
2152
+ #
2153
+ # @example Request syntax with placeholder values
2154
+ #
2155
+ # resp = client.update_event_data_store({
2156
+ # event_data_store: "EventDataStoreArn", # required
2157
+ # name: "EventDataStoreName",
2158
+ # advanced_event_selectors: [
2159
+ # {
2160
+ # name: "SelectorName",
2161
+ # field_selectors: [ # required
2162
+ # {
2163
+ # field: "SelectorField", # required
2164
+ # equals: ["OperatorValue"],
2165
+ # starts_with: ["OperatorValue"],
2166
+ # ends_with: ["OperatorValue"],
2167
+ # not_equals: ["OperatorValue"],
2168
+ # not_starts_with: ["OperatorValue"],
2169
+ # not_ends_with: ["OperatorValue"],
2170
+ # },
2171
+ # ],
2172
+ # },
2173
+ # ],
2174
+ # multi_region_enabled: false,
2175
+ # organization_enabled: false,
2176
+ # retention_period: 1,
2177
+ # termination_protection_enabled: false,
2178
+ # })
2179
+ #
2180
+ # @example Response structure
2181
+ #
2182
+ # resp.event_data_store_arn #=> String
2183
+ # resp.name #=> String
2184
+ # resp.status #=> String, one of "CREATED", "ENABLED", "PENDING_DELETION"
2185
+ # resp.advanced_event_selectors #=> Array
2186
+ # resp.advanced_event_selectors[0].name #=> String
2187
+ # resp.advanced_event_selectors[0].field_selectors #=> Array
2188
+ # resp.advanced_event_selectors[0].field_selectors[0].field #=> String
2189
+ # resp.advanced_event_selectors[0].field_selectors[0].equals #=> Array
2190
+ # resp.advanced_event_selectors[0].field_selectors[0].equals[0] #=> String
2191
+ # resp.advanced_event_selectors[0].field_selectors[0].starts_with #=> Array
2192
+ # resp.advanced_event_selectors[0].field_selectors[0].starts_with[0] #=> String
2193
+ # resp.advanced_event_selectors[0].field_selectors[0].ends_with #=> Array
2194
+ # resp.advanced_event_selectors[0].field_selectors[0].ends_with[0] #=> String
2195
+ # resp.advanced_event_selectors[0].field_selectors[0].not_equals #=> Array
2196
+ # resp.advanced_event_selectors[0].field_selectors[0].not_equals[0] #=> String
2197
+ # resp.advanced_event_selectors[0].field_selectors[0].not_starts_with #=> Array
2198
+ # resp.advanced_event_selectors[0].field_selectors[0].not_starts_with[0] #=> String
2199
+ # resp.advanced_event_selectors[0].field_selectors[0].not_ends_with #=> Array
2200
+ # resp.advanced_event_selectors[0].field_selectors[0].not_ends_with[0] #=> String
2201
+ # resp.multi_region_enabled #=> Boolean
2202
+ # resp.organization_enabled #=> Boolean
2203
+ # resp.retention_period #=> Integer
2204
+ # resp.termination_protection_enabled #=> Boolean
2205
+ # resp.created_timestamp #=> Time
2206
+ # resp.updated_timestamp #=> Time
2207
+ #
2208
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/UpdateEventDataStore AWS API Documentation
2209
+ #
2210
+ # @overload update_event_data_store(params = {})
2211
+ # @param [Hash] params ({})
2212
+ def update_event_data_store(params = {}, options = {})
2213
+ req = build_request(:update_event_data_store, params)
2214
+ req.send_request(options)
2215
+ end
2216
+
1507
2217
  # Updates trail settings that control what events you are logging, and
1508
2218
  # how to handle log files. Changes to a trail do not require stopping
1509
2219
  # the CloudTrail service. Use this action to designate an existing
@@ -1700,7 +2410,7 @@ module Aws::CloudTrail
1700
2410
  params: params,
1701
2411
  config: config)
1702
2412
  context[:gem_name] = 'aws-sdk-cloudtrail'
1703
- context[:gem_version] = '1.42.0'
2413
+ context[:gem_version] = '1.46.0'
1704
2414
  Seahorse::Client::Request.new(handlers, context)
1705
2415
  end
1706
2416