aws-sdk-cloudtrail 1.42.0 → 1.46.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::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