aws-sdk-cloudtrail 1.19.0 → 1.20.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6895c447d0feae813da5dc055dac76e59f266a08
4
- data.tar.gz: 31ecefd18da65a7489e73aab3ad2af32af118846
3
+ metadata.gz: de31b9aa4bace9640b8c9bd2eb1288ff71a8ef7b
4
+ data.tar.gz: ea916a1c20a9aa50a85ddfef2d6283099a833638
5
5
  SHA512:
6
- metadata.gz: b6a4f7937fe8895ca01284ca5807be215fa81147ea77e22c702e32b5303d1eb437d17f8156fd6aadd88e7d8af1a5c204f2c486f2c83d11bd922e7c03f2c63662
7
- data.tar.gz: 66ec1893d9a4b30683f9fa03eed0db42d4615df816208d53baf9bad8ce8d69448bbab4e4407686c7d297650a75f99a42e42a83168c669ae5a0c2e55444c228ce
6
+ metadata.gz: d2e4ea1f9d83f0806796e815167400eab8869c1fd78b6b2a95f6547d0e53fd02d1f6b862b2e6c8474deccdb0ef512f28268a758eee711127fce2a3141a620bd9
7
+ data.tar.gz: 746030ff7babd82ddf864b67af2be1be8a14b2bdb438a9c3a04801c97bd27ec85dfbf03b622d288b1d1093d9da59afe49608f3d6c10b087dabfbcc6fa959e87a
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-cloudtrail/customizations'
42
42
  # @service
43
43
  module Aws::CloudTrail
44
44
 
45
- GEM_VERSION = '1.19.0'
45
+ GEM_VERSION = '1.20.0'
46
46
 
47
47
  end
@@ -560,6 +560,7 @@ module Aws::CloudTrail
560
560
  # resp.trail_list[0].cloud_watch_logs_role_arn #=> String
561
561
  # resp.trail_list[0].kms_key_id #=> String
562
562
  # resp.trail_list[0].has_custom_event_selectors #=> Boolean
563
+ # resp.trail_list[0].has_insight_selectors #=> Boolean
563
564
  # resp.trail_list[0].is_organization_trail #=> Boolean
564
565
  #
565
566
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DescribeTrails AWS API Documentation
@@ -632,6 +633,8 @@ module Aws::CloudTrail
632
633
  # resp.event_selectors[0].data_resources[0].type #=> String
633
634
  # resp.event_selectors[0].data_resources[0].values #=> Array
634
635
  # resp.event_selectors[0].data_resources[0].values[0] #=> String
636
+ # resp.event_selectors[0].exclude_management_event_sources #=> Array
637
+ # resp.event_selectors[0].exclude_management_event_sources[0] #=> String
635
638
  #
636
639
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetEventSelectors AWS API Documentation
637
640
  #
@@ -642,6 +645,66 @@ module Aws::CloudTrail
642
645
  req.send_request(options)
643
646
  end
644
647
 
648
+ # Describes the settings for the Insights event selectors that you
649
+ # configured for your trail. `GetInsightSelectors` shows if CloudTrail
650
+ # Insights event logging is enabled on the trail, and if it is, which
651
+ # insight types are enabled. If you run `GetInsightSelectors` on a trail
652
+ # that does not have Insights events enabled, the operation throws the
653
+ # exception `InsightNotEnabledException`
654
+ #
655
+ # For more information, see [Logging CloudTrail Insights Events for
656
+ # Trails ][1] in the *AWS CloudTrail User Guide*.
657
+ #
658
+ #
659
+ #
660
+ # [1]: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-insights-events-with-cloudtrail.html
661
+ #
662
+ # @option params [required, String] :trail_name
663
+ # Specifies the name of the trail or trail ARN. If you specify a trail
664
+ # name, the string must meet the following requirements:
665
+ #
666
+ # * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.),
667
+ # underscores (\_), or dashes (-)
668
+ #
669
+ # * Start with a letter or number, and end with a letter or number
670
+ #
671
+ # * Be between 3 and 128 characters
672
+ #
673
+ # * Have no adjacent periods, underscores or dashes. Names like
674
+ # `my-_namespace` and `my--namespace` are not valid.
675
+ #
676
+ # * Not be in IP address format (for example, 192.168.5.4)
677
+ #
678
+ # If you specify a trail ARN, it must be in the format:
679
+ #
680
+ # `arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail`
681
+ #
682
+ # @return [Types::GetInsightSelectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
683
+ #
684
+ # * {Types::GetInsightSelectorsResponse#trail_arn #trail_arn} => String
685
+ # * {Types::GetInsightSelectorsResponse#insight_selectors #insight_selectors} => Array<Types::InsightSelector>
686
+ #
687
+ # @example Request syntax with placeholder values
688
+ #
689
+ # resp = client.get_insight_selectors({
690
+ # trail_name: "String", # required
691
+ # })
692
+ #
693
+ # @example Response structure
694
+ #
695
+ # resp.trail_arn #=> String
696
+ # resp.insight_selectors #=> Array
697
+ # resp.insight_selectors[0].insight_type #=> String, one of "ApiCallRateInsight"
698
+ #
699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetInsightSelectors AWS API Documentation
700
+ #
701
+ # @overload get_insight_selectors(params = {})
702
+ # @param [Hash] params ({})
703
+ def get_insight_selectors(params = {}, options = {})
704
+ req = build_request(:get_insight_selectors, params)
705
+ req.send_request(options)
706
+ end
707
+
645
708
  # Returns settings information for a specified trail.
646
709
  #
647
710
  # @option params [required, String] :name
@@ -674,6 +737,7 @@ module Aws::CloudTrail
674
737
  # resp.trail.cloud_watch_logs_role_arn #=> String
675
738
  # resp.trail.kms_key_id #=> String
676
739
  # resp.trail.has_custom_event_selectors #=> Boolean
740
+ # resp.trail.has_insight_selectors #=> Boolean
677
741
  # resp.trail.is_organization_trail #=> Boolean
678
742
  #
679
743
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetTrail AWS API Documentation
@@ -855,6 +919,11 @@ module Aws::CloudTrail
855
919
  # Lists trails that are in the current account.
856
920
  #
857
921
  # @option params [String] :next_token
922
+ # The token to use to get the next page of results after a previous API
923
+ # call. This token must be passed in with the same parameters that were
924
+ # specified in the the original call. For example, if the original call
925
+ # specified an AttributeKey of 'Username' with a value of 'root',
926
+ # the call with NextToken should include those same parameters.
858
927
  #
859
928
  # @return [Types::ListTrailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
860
929
  #
@@ -884,9 +953,10 @@ module Aws::CloudTrail
884
953
  req.send_request(options)
885
954
  end
886
955
 
887
- # Looks up [management events][1] captured by CloudTrail. You can look
888
- # up events that occurred in a region within the last 90 days. Lookup
889
- # supports the following attributes:
956
+ # Looks up [management events][1] or [CloudTrail Insights events][2]
957
+ # that are captured by CloudTrail. You can look up events that occurred
958
+ # in a region within the last 90 days. Lookup supports the following
959
+ # attributes for management events:
890
960
  #
891
961
  # * AWS access key
892
962
  #
@@ -904,20 +974,25 @@ module Aws::CloudTrail
904
974
  #
905
975
  # * User name
906
976
  #
977
+ # Lookup supports the following attributes for Insights events:
978
+ #
979
+ # * Event ID
980
+ #
981
+ # * Event name
982
+ #
983
+ # * Event source
984
+ #
907
985
  # All attributes are optional. The default number of results returned is
908
986
  # 50, with a maximum of 50 possible. The response includes a token that
909
987
  # you can use to get the next page of results.
910
988
  #
911
- # The rate of lookup requests is limited to one per second per account.
989
+ # The rate of lookup requests is limited to two per second per account.
912
990
  # If this limit is exceeded, a throttling error occurs.
913
991
  #
914
- # Events that occurred during the selected time range will not be
915
- # available for lookup if CloudTrail logging was not enabled when the
916
- # events occurred.
917
- #
918
992
  #
919
993
  #
920
994
  # [1]: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-management-events
995
+ # [2]: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-insights-events
921
996
  #
922
997
  # @option params [Array<Types::LookupAttribute>] :lookup_attributes
923
998
  # Contains a list of lookup attributes. Currently the list can contain
@@ -933,6 +1008,12 @@ module Aws::CloudTrail
933
1008
  # are returned. If the specified end time is before the specified start
934
1009
  # time, an error is returned.
935
1010
  #
1011
+ # @option params [String] :event_category
1012
+ # Specifies the event category. If you do not specify an event category,
1013
+ # events of the category are not returned in the response. For example,
1014
+ # if you do not specify `insight` as the value of `EventCategory`, no
1015
+ # Insights events are returned.
1016
+ #
936
1017
  # @option params [Integer] :max_results
937
1018
  # The number of events to return. Possible values are 1 through 50. The
938
1019
  # default is 50.
@@ -960,6 +1041,7 @@ module Aws::CloudTrail
960
1041
  # ],
961
1042
  # start_time: Time.now,
962
1043
  # end_time: Time.now,
1044
+ # event_category: "insight", # accepts insight
963
1045
  # max_results: 1,
964
1046
  # next_token: "NextToken",
965
1047
  # })
@@ -1073,6 +1155,7 @@ module Aws::CloudTrail
1073
1155
  # values: ["String"],
1074
1156
  # },
1075
1157
  # ],
1158
+ # exclude_management_event_sources: ["String"],
1076
1159
  # },
1077
1160
  # ],
1078
1161
  # })
@@ -1087,6 +1170,8 @@ module Aws::CloudTrail
1087
1170
  # resp.event_selectors[0].data_resources[0].type #=> String
1088
1171
  # resp.event_selectors[0].data_resources[0].values #=> Array
1089
1172
  # resp.event_selectors[0].data_resources[0].values[0] #=> String
1173
+ # resp.event_selectors[0].exclude_management_event_sources #=> Array
1174
+ # resp.event_selectors[0].exclude_management_event_sources[0] #=> String
1090
1175
  #
1091
1176
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutEventSelectors AWS API Documentation
1092
1177
  #
@@ -1097,6 +1182,52 @@ module Aws::CloudTrail
1097
1182
  req.send_request(options)
1098
1183
  end
1099
1184
 
1185
+ # Lets you enable Insights event logging by specifying the Insights
1186
+ # selectors that you want to enable on an existing trail. You also use
1187
+ # `PutInsightSelectors` to turn off Insights event logging, by passing
1188
+ # an empty list of insight types. In this release, only
1189
+ # `ApiCallRateInsight` is supported as an Insights selector.
1190
+ #
1191
+ # @option params [required, String] :trail_name
1192
+ # The name of the CloudTrail trail for which you want to change or add
1193
+ # Insights selectors.
1194
+ #
1195
+ # @option params [required, Array<Types::InsightSelector>] :insight_selectors
1196
+ # A JSON string that contains the insight types you want to log on a
1197
+ # trail. In this release, only `ApiCallRateInsight` is supported as an
1198
+ # insight type.
1199
+ #
1200
+ # @return [Types::PutInsightSelectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1201
+ #
1202
+ # * {Types::PutInsightSelectorsResponse#trail_arn #trail_arn} => String
1203
+ # * {Types::PutInsightSelectorsResponse#insight_selectors #insight_selectors} => Array&lt;Types::InsightSelector&gt;
1204
+ #
1205
+ # @example Request syntax with placeholder values
1206
+ #
1207
+ # resp = client.put_insight_selectors({
1208
+ # trail_name: "String", # required
1209
+ # insight_selectors: [ # required
1210
+ # {
1211
+ # insight_type: "ApiCallRateInsight", # accepts ApiCallRateInsight
1212
+ # },
1213
+ # ],
1214
+ # })
1215
+ #
1216
+ # @example Response structure
1217
+ #
1218
+ # resp.trail_arn #=> String
1219
+ # resp.insight_selectors #=> Array
1220
+ # resp.insight_selectors[0].insight_type #=> String, one of "ApiCallRateInsight"
1221
+ #
1222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutInsightSelectors AWS API Documentation
1223
+ #
1224
+ # @overload put_insight_selectors(params = {})
1225
+ # @param [Hash] params ({})
1226
+ def put_insight_selectors(params = {}, options = {})
1227
+ req = build_request(:put_insight_selectors, params)
1228
+ req.send_request(options)
1229
+ end
1230
+
1100
1231
  # Removes the specified tags from a trail.
1101
1232
  #
1102
1233
  # @option params [required, String] :resource_id
@@ -1381,7 +1512,7 @@ module Aws::CloudTrail
1381
1512
  params: params,
1382
1513
  config: config)
1383
1514
  context[:gem_name] = 'aws-sdk-cloudtrail'
1384
- context[:gem_version] = '1.19.0'
1515
+ context[:gem_version] = '1.20.0'
1385
1516
  Seahorse::Client::Request.new(handlers, context)
1386
1517
  end
1387
1518
 
@@ -29,23 +29,33 @@ module Aws::CloudTrail
29
29
  DescribeTrailsRequest = Shapes::StructureShape.new(name: 'DescribeTrailsRequest')
30
30
  DescribeTrailsResponse = Shapes::StructureShape.new(name: 'DescribeTrailsResponse')
31
31
  Event = Shapes::StructureShape.new(name: 'Event')
32
+ EventCategory = Shapes::StringShape.new(name: 'EventCategory')
32
33
  EventSelector = Shapes::StructureShape.new(name: 'EventSelector')
33
34
  EventSelectors = Shapes::ListShape.new(name: 'EventSelectors')
34
35
  EventsList = Shapes::ListShape.new(name: 'EventsList')
36
+ ExcludeManagementEventSources = Shapes::ListShape.new(name: 'ExcludeManagementEventSources')
35
37
  GetEventSelectorsRequest = Shapes::StructureShape.new(name: 'GetEventSelectorsRequest')
36
38
  GetEventSelectorsResponse = Shapes::StructureShape.new(name: 'GetEventSelectorsResponse')
39
+ GetInsightSelectorsRequest = Shapes::StructureShape.new(name: 'GetInsightSelectorsRequest')
40
+ GetInsightSelectorsResponse = Shapes::StructureShape.new(name: 'GetInsightSelectorsResponse')
37
41
  GetTrailRequest = Shapes::StructureShape.new(name: 'GetTrailRequest')
38
42
  GetTrailResponse = Shapes::StructureShape.new(name: 'GetTrailResponse')
39
43
  GetTrailStatusRequest = Shapes::StructureShape.new(name: 'GetTrailStatusRequest')
40
44
  GetTrailStatusResponse = Shapes::StructureShape.new(name: 'GetTrailStatusResponse')
45
+ InsightNotEnabledException = Shapes::StructureShape.new(name: 'InsightNotEnabledException')
46
+ InsightSelector = Shapes::StructureShape.new(name: 'InsightSelector')
47
+ InsightSelectors = Shapes::ListShape.new(name: 'InsightSelectors')
48
+ InsightType = Shapes::StringShape.new(name: 'InsightType')
41
49
  InsufficientDependencyServiceAccessPermissionException = Shapes::StructureShape.new(name: 'InsufficientDependencyServiceAccessPermissionException')
42
50
  InsufficientEncryptionPolicyException = Shapes::StructureShape.new(name: 'InsufficientEncryptionPolicyException')
43
51
  InsufficientS3BucketPolicyException = Shapes::StructureShape.new(name: 'InsufficientS3BucketPolicyException')
44
52
  InsufficientSnsTopicPolicyException = Shapes::StructureShape.new(name: 'InsufficientSnsTopicPolicyException')
45
53
  InvalidCloudWatchLogsLogGroupArnException = Shapes::StructureShape.new(name: 'InvalidCloudWatchLogsLogGroupArnException')
46
54
  InvalidCloudWatchLogsRoleArnException = Shapes::StructureShape.new(name: 'InvalidCloudWatchLogsRoleArnException')
55
+ InvalidEventCategoryException = Shapes::StructureShape.new(name: 'InvalidEventCategoryException')
47
56
  InvalidEventSelectorsException = Shapes::StructureShape.new(name: 'InvalidEventSelectorsException')
48
57
  InvalidHomeRegionException = Shapes::StructureShape.new(name: 'InvalidHomeRegionException')
58
+ InvalidInsightSelectorsException = Shapes::StructureShape.new(name: 'InvalidInsightSelectorsException')
49
59
  InvalidKmsKeyIdException = Shapes::StructureShape.new(name: 'InvalidKmsKeyIdException')
50
60
  InvalidLookupAttributesException = Shapes::StructureShape.new(name: 'InvalidLookupAttributesException')
51
61
  InvalidMaxResultsException = Shapes::StructureShape.new(name: 'InvalidMaxResultsException')
@@ -83,6 +93,8 @@ module Aws::CloudTrail
83
93
  PublicKeyList = Shapes::ListShape.new(name: 'PublicKeyList')
84
94
  PutEventSelectorsRequest = Shapes::StructureShape.new(name: 'PutEventSelectorsRequest')
85
95
  PutEventSelectorsResponse = Shapes::StructureShape.new(name: 'PutEventSelectorsResponse')
96
+ PutInsightSelectorsRequest = Shapes::StructureShape.new(name: 'PutInsightSelectorsRequest')
97
+ PutInsightSelectorsResponse = Shapes::StructureShape.new(name: 'PutInsightSelectorsResponse')
86
98
  ReadWriteType = Shapes::StringShape.new(name: 'ReadWriteType')
87
99
  RemoveTagsRequest = Shapes::StructureShape.new(name: 'RemoveTagsRequest')
88
100
  RemoveTagsResponse = Shapes::StructureShape.new(name: 'RemoveTagsResponse')
@@ -183,12 +195,15 @@ module Aws::CloudTrail
183
195
  EventSelector.add_member(:read_write_type, Shapes::ShapeRef.new(shape: ReadWriteType, location_name: "ReadWriteType"))
184
196
  EventSelector.add_member(:include_management_events, Shapes::ShapeRef.new(shape: Boolean, location_name: "IncludeManagementEvents"))
185
197
  EventSelector.add_member(:data_resources, Shapes::ShapeRef.new(shape: DataResources, location_name: "DataResources"))
198
+ EventSelector.add_member(:exclude_management_event_sources, Shapes::ShapeRef.new(shape: ExcludeManagementEventSources, location_name: "ExcludeManagementEventSources"))
186
199
  EventSelector.struct_class = Types::EventSelector
187
200
 
188
201
  EventSelectors.member = Shapes::ShapeRef.new(shape: EventSelector)
189
202
 
190
203
  EventsList.member = Shapes::ShapeRef.new(shape: Event)
191
204
 
205
+ ExcludeManagementEventSources.member = Shapes::ShapeRef.new(shape: String)
206
+
192
207
  GetEventSelectorsRequest.add_member(:trail_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "TrailName"))
193
208
  GetEventSelectorsRequest.struct_class = Types::GetEventSelectorsRequest
194
209
 
@@ -196,6 +211,13 @@ module Aws::CloudTrail
196
211
  GetEventSelectorsResponse.add_member(:event_selectors, Shapes::ShapeRef.new(shape: EventSelectors, location_name: "EventSelectors"))
197
212
  GetEventSelectorsResponse.struct_class = Types::GetEventSelectorsResponse
198
213
 
214
+ GetInsightSelectorsRequest.add_member(:trail_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "TrailName"))
215
+ GetInsightSelectorsRequest.struct_class = Types::GetInsightSelectorsRequest
216
+
217
+ GetInsightSelectorsResponse.add_member(:trail_arn, Shapes::ShapeRef.new(shape: String, location_name: "TrailARN"))
218
+ GetInsightSelectorsResponse.add_member(:insight_selectors, Shapes::ShapeRef.new(shape: InsightSelectors, location_name: "InsightSelectors"))
219
+ GetInsightSelectorsResponse.struct_class = Types::GetInsightSelectorsResponse
220
+
199
221
  GetTrailRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
200
222
  GetTrailRequest.struct_class = Types::GetTrailRequest
201
223
 
@@ -224,6 +246,11 @@ module Aws::CloudTrail
224
246
  GetTrailStatusResponse.add_member(:time_logging_stopped, Shapes::ShapeRef.new(shape: String, location_name: "TimeLoggingStopped"))
225
247
  GetTrailStatusResponse.struct_class = Types::GetTrailStatusResponse
226
248
 
249
+ InsightSelector.add_member(:insight_type, Shapes::ShapeRef.new(shape: InsightType, location_name: "InsightType"))
250
+ InsightSelector.struct_class = Types::InsightSelector
251
+
252
+ InsightSelectors.member = Shapes::ShapeRef.new(shape: InsightSelector)
253
+
227
254
  ListPublicKeysRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Date, location_name: "StartTime"))
228
255
  ListPublicKeysRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Date, location_name: "EndTime"))
229
256
  ListPublicKeysRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
@@ -257,6 +284,7 @@ module Aws::CloudTrail
257
284
  LookupEventsRequest.add_member(:lookup_attributes, Shapes::ShapeRef.new(shape: LookupAttributesList, location_name: "LookupAttributes"))
258
285
  LookupEventsRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Date, location_name: "StartTime"))
259
286
  LookupEventsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Date, location_name: "EndTime"))
287
+ LookupEventsRequest.add_member(:event_category, Shapes::ShapeRef.new(shape: EventCategory, location_name: "EventCategory"))
260
288
  LookupEventsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
261
289
  LookupEventsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
262
290
  LookupEventsRequest.struct_class = Types::LookupEventsRequest
@@ -281,6 +309,14 @@ module Aws::CloudTrail
281
309
  PutEventSelectorsResponse.add_member(:event_selectors, Shapes::ShapeRef.new(shape: EventSelectors, location_name: "EventSelectors"))
282
310
  PutEventSelectorsResponse.struct_class = Types::PutEventSelectorsResponse
283
311
 
312
+ PutInsightSelectorsRequest.add_member(:trail_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "TrailName"))
313
+ PutInsightSelectorsRequest.add_member(:insight_selectors, Shapes::ShapeRef.new(shape: InsightSelectors, required: true, location_name: "InsightSelectors"))
314
+ PutInsightSelectorsRequest.struct_class = Types::PutInsightSelectorsRequest
315
+
316
+ PutInsightSelectorsResponse.add_member(:trail_arn, Shapes::ShapeRef.new(shape: String, location_name: "TrailARN"))
317
+ PutInsightSelectorsResponse.add_member(:insight_selectors, Shapes::ShapeRef.new(shape: InsightSelectors, location_name: "InsightSelectors"))
318
+ PutInsightSelectorsResponse.struct_class = Types::PutInsightSelectorsResponse
319
+
284
320
  RemoveTagsRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ResourceId"))
285
321
  RemoveTagsRequest.add_member(:tags_list, Shapes::ShapeRef.new(shape: TagsList, location_name: "TagsList"))
286
322
  RemoveTagsRequest.struct_class = Types::RemoveTagsRequest
@@ -331,6 +367,7 @@ module Aws::CloudTrail
331
367
  Trail.add_member(:cloud_watch_logs_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "CloudWatchLogsRoleArn"))
332
368
  Trail.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "KmsKeyId"))
333
369
  Trail.add_member(:has_custom_event_selectors, Shapes::ShapeRef.new(shape: Boolean, location_name: "HasCustomEventSelectors"))
370
+ Trail.add_member(:has_insight_selectors, Shapes::ShapeRef.new(shape: Boolean, location_name: "HasInsightSelectors"))
334
371
  Trail.add_member(:is_organization_trail, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsOrganizationTrail"))
335
372
  Trail.struct_class = Types::Trail
336
373
 
@@ -467,6 +504,7 @@ module Aws::CloudTrail
467
504
  o.output = Shapes::ShapeRef.new(shape: DescribeTrailsResponse)
468
505
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
469
506
  o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
507
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTrailNameException)
470
508
  end)
471
509
 
472
510
  api.add_operation(:get_event_selectors, Seahorse::Model::Operation.new.tap do |o|
@@ -481,6 +519,19 @@ module Aws::CloudTrail
481
519
  o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
482
520
  end)
483
521
 
522
+ api.add_operation(:get_insight_selectors, Seahorse::Model::Operation.new.tap do |o|
523
+ o.name = "GetInsightSelectors"
524
+ o.http_method = "POST"
525
+ o.http_request_uri = "/"
526
+ o.input = Shapes::ShapeRef.new(shape: GetInsightSelectorsRequest)
527
+ o.output = Shapes::ShapeRef.new(shape: GetInsightSelectorsResponse)
528
+ o.errors << Shapes::ShapeRef.new(shape: TrailNotFoundException)
529
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTrailNameException)
530
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
531
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
532
+ o.errors << Shapes::ShapeRef.new(shape: InsightNotEnabledException)
533
+ end)
534
+
484
535
  api.add_operation(:get_trail, Seahorse::Model::Operation.new.tap do |o|
485
536
  o.name = "GetTrail"
486
537
  o.http_method = "POST"
@@ -501,6 +552,8 @@ module Aws::CloudTrail
501
552
  o.output = Shapes::ShapeRef.new(shape: GetTrailStatusResponse)
502
553
  o.errors << Shapes::ShapeRef.new(shape: TrailNotFoundException)
503
554
  o.errors << Shapes::ShapeRef.new(shape: InvalidTrailNameException)
555
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
556
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
504
557
  end)
505
558
 
506
559
  api.add_operation(:list_public_keys, Seahorse::Model::Operation.new.tap do |o|
@@ -565,6 +618,9 @@ module Aws::CloudTrail
565
618
  o.errors << Shapes::ShapeRef.new(shape: InvalidTimeRangeException)
566
619
  o.errors << Shapes::ShapeRef.new(shape: InvalidMaxResultsException)
567
620
  o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
621
+ o.errors << Shapes::ShapeRef.new(shape: InvalidEventCategoryException)
622
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
623
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
568
624
  o[:pager] = Aws::Pager.new(
569
625
  limit_key: "max_results",
570
626
  tokens: {
@@ -589,6 +645,23 @@ module Aws::CloudTrail
589
645
  o.errors << Shapes::ShapeRef.new(shape: InsufficientDependencyServiceAccessPermissionException)
590
646
  end)
591
647
 
648
+ api.add_operation(:put_insight_selectors, Seahorse::Model::Operation.new.tap do |o|
649
+ o.name = "PutInsightSelectors"
650
+ o.http_method = "POST"
651
+ o.http_request_uri = "/"
652
+ o.input = Shapes::ShapeRef.new(shape: PutInsightSelectorsRequest)
653
+ o.output = Shapes::ShapeRef.new(shape: PutInsightSelectorsResponse)
654
+ o.errors << Shapes::ShapeRef.new(shape: TrailNotFoundException)
655
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTrailNameException)
656
+ o.errors << Shapes::ShapeRef.new(shape: InvalidHomeRegionException)
657
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInsightSelectorsException)
658
+ o.errors << Shapes::ShapeRef.new(shape: InsufficientS3BucketPolicyException)
659
+ o.errors << Shapes::ShapeRef.new(shape: InsufficientEncryptionPolicyException)
660
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
661
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
662
+ o.errors << Shapes::ShapeRef.new(shape: NotOrganizationMasterAccountException)
663
+ end)
664
+
592
665
  api.add_operation(:remove_tags, Seahorse::Model::Operation.new.tap do |o|
593
666
  o.name = "RemoveTags"
594
667
  o.http_method = "POST"
@@ -652,6 +725,7 @@ module Aws::CloudTrail
652
725
  o.errors << Shapes::ShapeRef.new(shape: InvalidKmsKeyIdException)
653
726
  o.errors << Shapes::ShapeRef.new(shape: InvalidTrailNameException)
654
727
  o.errors << Shapes::ShapeRef.new(shape: TrailNotProvidedException)
728
+ o.errors << Shapes::ShapeRef.new(shape: InvalidEventSelectorsException)
655
729
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
656
730
  o.errors << Shapes::ShapeRef.new(shape: InvalidHomeRegionException)
657
731
  o.errors << Shapes::ShapeRef.new(shape: KmsKeyNotFoundException)
@@ -301,9 +301,9 @@ module Aws::CloudTrail
301
301
 
302
302
  # The Amazon S3 buckets or AWS Lambda functions that you specify in your
303
303
  # event selectors for your trail to log data events. Data events provide
304
- # insight into the resource operations performed on or within a resource
305
- # itself. These are also known as data plane operations. You can specify
306
- # up to 250 data resources for a trail.
304
+ # information about the resource operations performed on or within a
305
+ # resource itself. These are also known as data plane operations. You
306
+ # can specify up to 250 data resources for a trail.
307
307
  #
308
308
  # <note markdown="1"> The total number of allowed data resources is 250. This number can be
309
309
  # distributed between 1 and 5 event selectors, but the total cannot
@@ -503,7 +503,12 @@ module Aws::CloudTrail
503
503
  # returns an error.
504
504
  #
505
505
  # @!attribute [rw] trail_list
506
- # The list of trail objects.
506
+ # The list of trail objects. Trail objects with string values are only
507
+ # returned if values for the objects exist in a trail's
508
+ # configuration. For example, `SNSTopicName` and `SNSTopicARN` are
509
+ # only returned in results if a trail is configured to send SNS
510
+ # notifications. Similarly, `KMSKeyId` only appears in results if a
511
+ # trail's log files are encrypted with AWS KMS-managed keys.
507
512
  # @return [Array<Types::Trail>]
508
513
  #
509
514
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DescribeTrailsResponse AWS API Documentation
@@ -594,6 +599,7 @@ module Aws::CloudTrail
594
599
  # values: ["String"],
595
600
  # },
596
601
  # ],
602
+ # exclude_management_event_sources: ["String"],
597
603
  # }
598
604
  #
599
605
  # @!attribute [rw] read_write_type
@@ -636,12 +642,22 @@ module Aws::CloudTrail
636
642
  # [2]: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html
637
643
  # @return [Array<Types::DataResource>]
638
644
  #
645
+ # @!attribute [rw] exclude_management_event_sources
646
+ # An optional list of service event sources from which you do not want
647
+ # management events to be logged on your trail. In this release, the
648
+ # list can be empty (disables the filter), or it can filter out AWS
649
+ # Key Management Service events by containing `"kms.amazonaws.com"`.
650
+ # By default, `ExcludeManagementEventSources` is empty, and AWS KMS
651
+ # events are included in events that are logged to your trail.
652
+ # @return [Array<String>]
653
+ #
639
654
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/EventSelector AWS API Documentation
640
655
  #
641
656
  class EventSelector < Struct.new(
642
657
  :read_write_type,
643
658
  :include_management_events,
644
- :data_resources)
659
+ :data_resources,
660
+ :exclude_management_event_sources)
645
661
  include Aws::Structure
646
662
  end
647
663
 
@@ -696,6 +712,60 @@ module Aws::CloudTrail
696
712
  include Aws::Structure
697
713
  end
698
714
 
715
+ # @note When making an API call, you may pass GetInsightSelectorsRequest
716
+ # data as a hash:
717
+ #
718
+ # {
719
+ # trail_name: "String", # required
720
+ # }
721
+ #
722
+ # @!attribute [rw] trail_name
723
+ # Specifies the name of the trail or trail ARN. If you specify a trail
724
+ # name, the string must meet the following requirements:
725
+ #
726
+ # * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.),
727
+ # underscores (\_), or dashes (-)
728
+ #
729
+ # * Start with a letter or number, and end with a letter or number
730
+ #
731
+ # * Be between 3 and 128 characters
732
+ #
733
+ # * Have no adjacent periods, underscores or dashes. Names like
734
+ # `my-_namespace` and `my--namespace` are not valid.
735
+ #
736
+ # * Not be in IP address format (for example, 192.168.5.4)
737
+ #
738
+ # If you specify a trail ARN, it must be in the format:
739
+ #
740
+ # `arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail`
741
+ # @return [String]
742
+ #
743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetInsightSelectorsRequest AWS API Documentation
744
+ #
745
+ class GetInsightSelectorsRequest < Struct.new(
746
+ :trail_name)
747
+ include Aws::Structure
748
+ end
749
+
750
+ # @!attribute [rw] trail_arn
751
+ # The Amazon Resource Name (ARN) of a trail for which you want to get
752
+ # Insights selectors.
753
+ # @return [String]
754
+ #
755
+ # @!attribute [rw] insight_selectors
756
+ # A JSON string that contains the insight types you want to log on a
757
+ # trail. In this release, only `ApiCallRateInsight` is supported as an
758
+ # insight type.
759
+ # @return [Array<Types::InsightSelector>]
760
+ #
761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetInsightSelectorsResponse AWS API Documentation
762
+ #
763
+ class GetInsightSelectorsResponse < Struct.new(
764
+ :trail_arn,
765
+ :insight_selectors)
766
+ include Aws::Structure
767
+ end
768
+
699
769
  # @note When making an API call, you may pass GetTrailRequest
700
770
  # data as a hash:
701
771
  #
@@ -889,6 +959,28 @@ module Aws::CloudTrail
889
959
  include Aws::Structure
890
960
  end
891
961
 
962
+ # A JSON string that contains a list of insight types that are logged on
963
+ # a trail.
964
+ #
965
+ # @note When making an API call, you may pass InsightSelector
966
+ # data as a hash:
967
+ #
968
+ # {
969
+ # insight_type: "ApiCallRateInsight", # accepts ApiCallRateInsight
970
+ # }
971
+ #
972
+ # @!attribute [rw] insight_type
973
+ # The type of insights to log on a trail. In this release, only
974
+ # `ApiCallRateInsight` is supported as an insight type.
975
+ # @return [String]
976
+ #
977
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/InsightSelector AWS API Documentation
978
+ #
979
+ class InsightSelector < Struct.new(
980
+ :insight_type)
981
+ include Aws::Structure
982
+ end
983
+
892
984
  # Requests the public keys for a specified time range.
893
985
  #
894
986
  # @note When making an API call, you may pass ListPublicKeysRequest
@@ -1004,6 +1096,12 @@ module Aws::CloudTrail
1004
1096
  # }
1005
1097
  #
1006
1098
  # @!attribute [rw] next_token
1099
+ # The token to use to get the next page of results after a previous
1100
+ # API call. This token must be passed in with the same parameters that
1101
+ # were specified in the the original call. For example, if the
1102
+ # original call specified an AttributeKey of 'Username' with a value
1103
+ # of 'root', the call with NextToken should include those same
1104
+ # parameters.
1007
1105
  # @return [String]
1008
1106
  #
1009
1107
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListTrailsRequest AWS API Documentation
@@ -1019,6 +1117,12 @@ module Aws::CloudTrail
1019
1117
  # @return [Array<Types::TrailInfo>]
1020
1118
  #
1021
1119
  # @!attribute [rw] next_token
1120
+ # The token to use to get the next page of results after a previous
1121
+ # API call. If the token does not appear, there are no more results to
1122
+ # return. The token must be passed in with the same parameters as the
1123
+ # previous call. For example, if the original call specified an
1124
+ # AttributeKey of 'Username' with a value of 'root', the call with
1125
+ # NextToken should include those same parameters.
1022
1126
  # @return [String]
1023
1127
  #
1024
1128
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListTrailsResponse AWS API Documentation
@@ -1069,6 +1173,7 @@ module Aws::CloudTrail
1069
1173
  # ],
1070
1174
  # start_time: Time.now,
1071
1175
  # end_time: Time.now,
1176
+ # event_category: "insight", # accepts insight
1072
1177
  # max_results: 1,
1073
1178
  # next_token: "NextToken",
1074
1179
  # }
@@ -1090,6 +1195,13 @@ module Aws::CloudTrail
1090
1195
  # start time, an error is returned.
1091
1196
  # @return [Time]
1092
1197
  #
1198
+ # @!attribute [rw] event_category
1199
+ # Specifies the event category. If you do not specify an event
1200
+ # category, events of the category are not returned in the response.
1201
+ # For example, if you do not specify `insight` as the value of
1202
+ # `EventCategory`, no Insights events are returned.
1203
+ # @return [String]
1204
+ #
1093
1205
  # @!attribute [rw] max_results
1094
1206
  # The number of events to return. Possible values are 1 through 50.
1095
1207
  # The default is 50.
@@ -1110,6 +1222,7 @@ module Aws::CloudTrail
1110
1222
  :lookup_attributes,
1111
1223
  :start_time,
1112
1224
  :end_time,
1225
+ :event_category,
1113
1226
  :max_results,
1114
1227
  :next_token)
1115
1228
  include Aws::Structure
@@ -1183,6 +1296,7 @@ module Aws::CloudTrail
1183
1296
  # values: ["String"],
1184
1297
  # },
1185
1298
  # ],
1299
+ # exclude_management_event_sources: ["String"],
1186
1300
  # },
1187
1301
  # ],
1188
1302
  # }
@@ -1240,6 +1354,56 @@ module Aws::CloudTrail
1240
1354
  include Aws::Structure
1241
1355
  end
1242
1356
 
1357
+ # @note When making an API call, you may pass PutInsightSelectorsRequest
1358
+ # data as a hash:
1359
+ #
1360
+ # {
1361
+ # trail_name: "String", # required
1362
+ # insight_selectors: [ # required
1363
+ # {
1364
+ # insight_type: "ApiCallRateInsight", # accepts ApiCallRateInsight
1365
+ # },
1366
+ # ],
1367
+ # }
1368
+ #
1369
+ # @!attribute [rw] trail_name
1370
+ # The name of the CloudTrail trail for which you want to change or add
1371
+ # Insights selectors.
1372
+ # @return [String]
1373
+ #
1374
+ # @!attribute [rw] insight_selectors
1375
+ # A JSON string that contains the insight types you want to log on a
1376
+ # trail. In this release, only `ApiCallRateInsight` is supported as an
1377
+ # insight type.
1378
+ # @return [Array<Types::InsightSelector>]
1379
+ #
1380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutInsightSelectorsRequest AWS API Documentation
1381
+ #
1382
+ class PutInsightSelectorsRequest < Struct.new(
1383
+ :trail_name,
1384
+ :insight_selectors)
1385
+ include Aws::Structure
1386
+ end
1387
+
1388
+ # @!attribute [rw] trail_arn
1389
+ # The Amazon Resource Name (ARN) of a trail for which you want to
1390
+ # change or add Insights selectors.
1391
+ # @return [String]
1392
+ #
1393
+ # @!attribute [rw] insight_selectors
1394
+ # A JSON string that contains the insight types you want to log on a
1395
+ # trail. In this release, only `ApiCallRateInsight` is supported as an
1396
+ # insight type.
1397
+ # @return [Array<Types::InsightSelector>]
1398
+ #
1399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutInsightSelectorsResponse AWS API Documentation
1400
+ #
1401
+ class PutInsightSelectorsResponse < Struct.new(
1402
+ :trail_arn,
1403
+ :insight_selectors)
1404
+ include Aws::Structure
1405
+ end
1406
+
1243
1407
  # Specifies the tags to remove from a trail.
1244
1408
  #
1245
1409
  # @note When making an API call, you may pass RemoveTagsRequest
@@ -1507,6 +1671,11 @@ module Aws::CloudTrail
1507
1671
  # Specifies if the trail has custom event selectors.
1508
1672
  # @return [Boolean]
1509
1673
  #
1674
+ # @!attribute [rw] has_insight_selectors
1675
+ # Specifies whether a trail has insight types specified in an
1676
+ # `InsightSelector` list.
1677
+ # @return [Boolean]
1678
+ #
1510
1679
  # @!attribute [rw] is_organization_trail
1511
1680
  # Specifies whether the trail is an organization trail.
1512
1681
  # @return [Boolean]
@@ -1528,6 +1697,7 @@ module Aws::CloudTrail
1528
1697
  :cloud_watch_logs_role_arn,
1529
1698
  :kms_key_id,
1530
1699
  :has_custom_event_selectors,
1700
+ :has_insight_selectors,
1531
1701
  :is_organization_trail)
1532
1702
  include Aws::Structure
1533
1703
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-cloudtrail
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.0
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-01 00:00:00.000000000 Z
11
+ date: 2019-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core