aws-sdk-securityhub 1.154.0 → 1.155.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.
@@ -830,6 +830,7 @@ module Aws::SecurityHub
830
830
  DateFilter = Shapes::StructureShape.new(name: 'DateFilter')
831
831
  DateFilterList = Shapes::ListShape.new(name: 'DateFilterList')
832
832
  DateRange = Shapes::StructureShape.new(name: 'DateRange')
833
+ DateRangeComparison = Shapes::StringShape.new(name: 'DateRangeComparison')
833
834
  DateRangeUnit = Shapes::StringShape.new(name: 'DateRangeUnit')
834
835
  DeclineInvitationsRequest = Shapes::StructureShape.new(name: 'DeclineInvitationsRequest')
835
836
  DeclineInvitationsResponse = Shapes::StructureShape.new(name: 'DeclineInvitationsResponse')
@@ -926,6 +927,8 @@ module Aws::SecurityHub
926
927
  FirewallPolicyStatelessCustomActionsList = Shapes::ListShape.new(name: 'FirewallPolicyStatelessCustomActionsList')
927
928
  FirewallPolicyStatelessRuleGroupReferencesDetails = Shapes::StructureShape.new(name: 'FirewallPolicyStatelessRuleGroupReferencesDetails')
928
929
  FirewallPolicyStatelessRuleGroupReferencesList = Shapes::ListShape.new(name: 'FirewallPolicyStatelessRuleGroupReferencesList')
930
+ GenerateRecommendedPolicyV2Request = Shapes::StructureShape.new(name: 'GenerateRecommendedPolicyV2Request')
931
+ GenerateRecommendedPolicyV2Response = Shapes::StructureShape.new(name: 'GenerateRecommendedPolicyV2Response')
929
932
  GeneratorDetails = Shapes::StructureShape.new(name: 'GeneratorDetails')
930
933
  GeoLocation = Shapes::StructureShape.new(name: 'GeoLocation')
931
934
  GetAdministratorAccountRequest = Shapes::StructureShape.new(name: 'GetAdministratorAccountRequest')
@@ -964,6 +967,8 @@ module Aws::SecurityHub
964
967
  GetMasterAccountResponse = Shapes::StructureShape.new(name: 'GetMasterAccountResponse')
965
968
  GetMembersRequest = Shapes::StructureShape.new(name: 'GetMembersRequest')
966
969
  GetMembersResponse = Shapes::StructureShape.new(name: 'GetMembersResponse')
970
+ GetRecommendedPolicyV2Request = Shapes::StructureShape.new(name: 'GetRecommendedPolicyV2Request')
971
+ GetRecommendedPolicyV2Response = Shapes::StructureShape.new(name: 'GetRecommendedPolicyV2Response')
967
972
  GetResourcesStatisticsV2Request = Shapes::StructureShape.new(name: 'GetResourcesStatisticsV2Request')
968
973
  GetResourcesStatisticsV2Response = Shapes::StructureShape.new(name: 'GetResourcesStatisticsV2Response')
969
974
  GetResourcesTrendsV2Request = Shapes::StructureShape.new(name: 'GetResourcesTrendsV2Request')
@@ -1141,6 +1146,11 @@ module Aws::SecurityHub
1141
1146
  Ranges = Shapes::ListShape.new(name: 'Ranges')
1142
1147
  RatioScale = Shapes::IntegerShape.new(name: 'RatioScale')
1143
1148
  Recommendation = Shapes::StructureShape.new(name: 'Recommendation')
1149
+ RecommendationError = Shapes::StructureShape.new(name: 'RecommendationError')
1150
+ RecommendationStatus = Shapes::StringShape.new(name: 'RecommendationStatus')
1151
+ RecommendationStep = Shapes::UnionShape.new(name: 'RecommendationStep')
1152
+ RecommendationSteps = Shapes::ListShape.new(name: 'RecommendationSteps')
1153
+ RecommendationType = Shapes::StringShape.new(name: 'RecommendationType')
1144
1154
  Record = Shapes::StructureShape.new(name: 'Record')
1145
1155
  RecordState = Shapes::StringShape.new(name: 'RecordState')
1146
1156
  Records = Shapes::ListShape.new(name: 'Records')
@@ -1344,6 +1354,7 @@ module Aws::SecurityHub
1344
1354
  UnprocessedStandardsControlAssociations = Shapes::ListShape.new(name: 'UnprocessedStandardsControlAssociations')
1345
1355
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
1346
1356
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
1357
+ UnusedPermissionsRecommendationStep = Shapes::StructureShape.new(name: 'UnusedPermissionsRecommendationStep')
1347
1358
  UpdateActionTargetRequest = Shapes::StructureShape.new(name: 'UpdateActionTargetRequest')
1348
1359
  UpdateActionTargetResponse = Shapes::StructureShape.new(name: 'UpdateActionTargetResponse')
1349
1360
  UpdateAggregatorV2Request = Shapes::StructureShape.new(name: 'UpdateAggregatorV2Request')
@@ -5779,6 +5790,7 @@ module Aws::SecurityHub
5779
5790
 
5780
5791
  DateRange.add_member(:value, Shapes::ShapeRef.new(shape: Integer, location_name: "Value"))
5781
5792
  DateRange.add_member(:unit, Shapes::ShapeRef.new(shape: DateRangeUnit, location_name: "Unit"))
5793
+ DateRange.add_member(:comparison, Shapes::ShapeRef.new(shape: DateRangeComparison, location_name: "Comparison"))
5782
5794
  DateRange.struct_class = Types::DateRange
5783
5795
 
5784
5796
  DeclineInvitationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIdList, required: true, location_name: "AccountIds"))
@@ -6084,6 +6096,11 @@ module Aws::SecurityHub
6084
6096
 
6085
6097
  FirewallPolicyStatelessRuleGroupReferencesList.member = Shapes::ShapeRef.new(shape: FirewallPolicyStatelessRuleGroupReferencesDetails)
6086
6098
 
6099
+ GenerateRecommendedPolicyV2Request.add_member(:metadata_uid, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "MetadataUid"))
6100
+ GenerateRecommendedPolicyV2Request.struct_class = Types::GenerateRecommendedPolicyV2Request
6101
+
6102
+ GenerateRecommendedPolicyV2Response.struct_class = Types::GenerateRecommendedPolicyV2Response
6103
+
6087
6104
  GeneratorDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
6088
6105
  GeneratorDetails.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
6089
6106
  GeneratorDetails.add_member(:labels, Shapes::ShapeRef.new(shape: TypeList, location_name: "Labels"))
@@ -6263,6 +6280,19 @@ module Aws::SecurityHub
6263
6280
  GetMembersResponse.add_member(:unprocessed_accounts, Shapes::ShapeRef.new(shape: ResultList, location_name: "UnprocessedAccounts"))
6264
6281
  GetMembersResponse.struct_class = Types::GetMembersResponse
6265
6282
 
6283
+ GetRecommendedPolicyV2Request.add_member(:metadata_uid, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "MetadataUid"))
6284
+ GetRecommendedPolicyV2Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
6285
+ GetRecommendedPolicyV2Request.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
6286
+ GetRecommendedPolicyV2Request.struct_class = Types::GetRecommendedPolicyV2Request
6287
+
6288
+ GetRecommendedPolicyV2Response.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
6289
+ GetRecommendedPolicyV2Response.add_member(:recommendation_type, Shapes::ShapeRef.new(shape: RecommendationType, location_name: "RecommendationType"))
6290
+ GetRecommendedPolicyV2Response.add_member(:recommendation_steps, Shapes::ShapeRef.new(shape: RecommendationSteps, location_name: "RecommendationSteps"))
6291
+ GetRecommendedPolicyV2Response.add_member(:error, Shapes::ShapeRef.new(shape: RecommendationError, location_name: "Error"))
6292
+ GetRecommendedPolicyV2Response.add_member(:status, Shapes::ShapeRef.new(shape: RecommendationStatus, location_name: "Status"))
6293
+ GetRecommendedPolicyV2Response.add_member(:resource_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ResourceArn"))
6294
+ GetRecommendedPolicyV2Response.struct_class = Types::GetRecommendedPolicyV2Response
6295
+
6266
6296
  GetResourcesStatisticsV2Request.add_member(:group_by_rules, Shapes::ShapeRef.new(shape: ResourceGroupByRules, required: true, location_name: "GroupByRules"))
6267
6297
  GetResourcesStatisticsV2Request.add_member(:scopes, Shapes::ShapeRef.new(shape: ResourceScopes, location_name: "Scopes"))
6268
6298
  GetResourcesStatisticsV2Request.add_member(:sort_order, Shapes::ShapeRef.new(shape: SortOrder, location_name: "SortOrder"))
@@ -6911,6 +6941,18 @@ module Aws::SecurityHub
6911
6941
  Recommendation.add_member(:url, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Url"))
6912
6942
  Recommendation.struct_class = Types::Recommendation
6913
6943
 
6944
+ RecommendationError.add_member(:code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Code"))
6945
+ RecommendationError.add_member(:message, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Message"))
6946
+ RecommendationError.struct_class = Types::RecommendationError
6947
+
6948
+ RecommendationStep.add_member(:unused_permissions, Shapes::ShapeRef.new(shape: UnusedPermissionsRecommendationStep, location_name: "UnusedPermissions"))
6949
+ RecommendationStep.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
6950
+ RecommendationStep.add_member_subclass(:unused_permissions, Types::RecommendationStep::UnusedPermissions)
6951
+ RecommendationStep.add_member_subclass(:unknown, Types::RecommendationStep::Unknown)
6952
+ RecommendationStep.struct_class = Types::RecommendationStep
6953
+
6954
+ RecommendationSteps.member = Shapes::ShapeRef.new(shape: RecommendationStep)
6955
+
6914
6956
  Record.add_member(:json_path, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "JsonPath"))
6915
6957
  Record.add_member(:record_index, Shapes::ShapeRef.new(shape: Long, location_name: "RecordIndex"))
6916
6958
  Record.struct_class = Types::Record
@@ -7704,6 +7746,13 @@ module Aws::SecurityHub
7704
7746
 
7705
7747
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
7706
7748
 
7749
+ UnusedPermissionsRecommendationStep.add_member(:recommended_action, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RecommendedAction"))
7750
+ UnusedPermissionsRecommendationStep.add_member(:existing_policy, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ExistingPolicy"))
7751
+ UnusedPermissionsRecommendationStep.add_member(:existing_policy_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ExistingPolicyId"))
7752
+ UnusedPermissionsRecommendationStep.add_member(:policy_updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "PolicyUpdatedAt"))
7753
+ UnusedPermissionsRecommendationStep.add_member(:recommended_policy, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "RecommendedPolicy"))
7754
+ UnusedPermissionsRecommendationStep.struct_class = Types::UnusedPermissionsRecommendationStep
7755
+
7707
7756
  UpdateActionTargetRequest.add_member(:action_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location: "uri", location_name: "ActionTargetArn"))
7708
7757
  UpdateActionTargetRequest.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
7709
7758
  UpdateActionTargetRequest.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Description"))
@@ -8639,6 +8688,20 @@ module Aws::SecurityHub
8639
8688
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
8640
8689
  end)
8641
8690
 
8691
+ api.add_operation(:generate_recommended_policy_v2, Seahorse::Model::Operation.new.tap do |o|
8692
+ o.name = "GenerateRecommendedPolicyV2"
8693
+ o.http_method = "POST"
8694
+ o.http_request_uri = "/recommendedPolicyV2/{MetadataUid}"
8695
+ o.input = Shapes::ShapeRef.new(shape: GenerateRecommendedPolicyV2Request)
8696
+ o.output = Shapes::ShapeRef.new(shape: GenerateRecommendedPolicyV2Response)
8697
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
8698
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
8699
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
8700
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
8701
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8702
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
8703
+ end)
8704
+
8642
8705
  api.add_operation(:get_administrator_account, Seahorse::Model::Operation.new.tap do |o|
8643
8706
  o.name = "GetAdministratorAccount"
8644
8707
  o.http_method = "GET"
@@ -8915,6 +8978,26 @@ module Aws::SecurityHub
8915
8978
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
8916
8979
  end)
8917
8980
 
8981
+ api.add_operation(:get_recommended_policy_v2, Seahorse::Model::Operation.new.tap do |o|
8982
+ o.name = "GetRecommendedPolicyV2"
8983
+ o.http_method = "GET"
8984
+ o.http_request_uri = "/recommendedPolicyV2/{MetadataUid}"
8985
+ o.input = Shapes::ShapeRef.new(shape: GetRecommendedPolicyV2Request)
8986
+ o.output = Shapes::ShapeRef.new(shape: GetRecommendedPolicyV2Response)
8987
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
8988
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
8989
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
8990
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
8991
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8992
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
8993
+ o[:pager] = Aws::Pager.new(
8994
+ limit_key: "max_results",
8995
+ tokens: {
8996
+ "next_token" => "next_token"
8997
+ }
8998
+ )
8999
+ end)
9000
+
8918
9001
  api.add_operation(:get_resources_statistics_v2, Seahorse::Model::Operation.new.tap do |o|
8919
9002
  o.name = "GetResourcesStatisticsV2"
8920
9003
  o.http_method = "POST"
@@ -23755,11 +23755,20 @@ module Aws::SecurityHub
23755
23755
  # A date range unit for the date filter.
23756
23756
  # @return [String]
23757
23757
  #
23758
+ # @!attribute [rw] comparison
23759
+ # The condition to apply to a date range filter. If you specify
23760
+ # `WITHIN`, Security Hub filters for dates within the specified date
23761
+ # range. If you specify `OLDER_THAN`, Security Hub filters for dates
23762
+ # before the specified date range. If you don't specify a value, the
23763
+ # default is `WITHIN`.
23764
+ # @return [String]
23765
+ #
23758
23766
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DateRange AWS API Documentation
23759
23767
  #
23760
23768
  class DateRange < Struct.new(
23761
23769
  :value,
23762
- :unit)
23770
+ :unit,
23771
+ :comparison)
23763
23772
  SENSITIVE = []
23764
23773
  include Aws::Structure
23765
23774
  end
@@ -25230,6 +25239,23 @@ module Aws::SecurityHub
25230
25239
  include Aws::Structure
25231
25240
  end
25232
25241
 
25242
+ # @!attribute [rw] metadata_uid
25243
+ # The unique identifier (ID) of Security Hub OCSF findings found under
25244
+ # the `metadata.uid` field of the finding.
25245
+ # @return [String]
25246
+ #
25247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GenerateRecommendedPolicyV2Request AWS API Documentation
25248
+ #
25249
+ class GenerateRecommendedPolicyV2Request < Struct.new(
25250
+ :metadata_uid)
25251
+ SENSITIVE = []
25252
+ include Aws::Structure
25253
+ end
25254
+
25255
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GenerateRecommendedPolicyV2Response AWS API Documentation
25256
+ #
25257
+ class GenerateRecommendedPolicyV2Response < Aws::EmptyStructure; end
25258
+
25233
25259
  # Provides metadata for the Amazon CodeGuru detector associated with a
25234
25260
  # finding. This field pertains to findings that relate to Lambda
25235
25261
  # functions. Amazon Inspector identifies policy violations and
@@ -26170,6 +26196,70 @@ module Aws::SecurityHub
26170
26196
  include Aws::Structure
26171
26197
  end
26172
26198
 
26199
+ # @!attribute [rw] metadata_uid
26200
+ # The unique identifier (ID) of Security Hub OCSF findings found under
26201
+ # the `metadata.uid` field of the finding.
26202
+ # @return [String]
26203
+ #
26204
+ # @!attribute [rw] next_token
26205
+ # The token used to paginate the `RecommendationSteps` list returned.
26206
+ # On your first call to `GetRecommendedPolicyV2`, omit this parameter
26207
+ # or set it to `NULL`. For subsequent calls, use the `NextToken` value
26208
+ # returned in the previous response to retrieve the next page of
26209
+ # results.
26210
+ # @return [String]
26211
+ #
26212
+ # @!attribute [rw] max_results
26213
+ # The maximum number of recommendation steps to return.
26214
+ # @return [Integer]
26215
+ #
26216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetRecommendedPolicyV2Request AWS API Documentation
26217
+ #
26218
+ class GetRecommendedPolicyV2Request < Struct.new(
26219
+ :metadata_uid,
26220
+ :next_token,
26221
+ :max_results)
26222
+ SENSITIVE = []
26223
+ include Aws::Structure
26224
+ end
26225
+
26226
+ # @!attribute [rw] next_token
26227
+ # The pagination token to use to request the next page of results.
26228
+ # @return [String]
26229
+ #
26230
+ # @!attribute [rw] recommendation_type
26231
+ # The type of recommendation for the finding.
26232
+ # @return [String]
26233
+ #
26234
+ # @!attribute [rw] recommendation_steps
26235
+ # The recommended steps to take to resolve the finding.
26236
+ # @return [Array<Types::RecommendationStep>]
26237
+ #
26238
+ # @!attribute [rw] error
26239
+ # Detailed information for a `FAILED` retrieval status.
26240
+ # @return [Types::RecommendationError]
26241
+ #
26242
+ # @!attribute [rw] status
26243
+ # The current status of the recommended policy retrieval.
26244
+ # @return [String]
26245
+ #
26246
+ # @!attribute [rw] resource_arn
26247
+ # The ARN of the resource of the finding.
26248
+ # @return [String]
26249
+ #
26250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetRecommendedPolicyV2Response AWS API Documentation
26251
+ #
26252
+ class GetRecommendedPolicyV2Response < Struct.new(
26253
+ :next_token,
26254
+ :recommendation_type,
26255
+ :recommendation_steps,
26256
+ :error,
26257
+ :status,
26258
+ :resource_arn)
26259
+ SENSITIVE = []
26260
+ include Aws::Structure
26261
+ end
26262
+
26173
26263
  # @!attribute [rw] group_by_rules
26174
26264
  # How resource statistics should be aggregated and organized in the
26175
26265
  # response.
@@ -29309,6 +29399,50 @@ module Aws::SecurityHub
29309
29399
  include Aws::Structure
29310
29400
  end
29311
29401
 
29402
+ # Contains information about the reason that the retrieval of a
29403
+ # recommended policy for a finding failed.
29404
+ #
29405
+ # @!attribute [rw] code
29406
+ # The error code for a failed retrieval of a recommended policy for a
29407
+ # finding.
29408
+ # @return [String]
29409
+ #
29410
+ # @!attribute [rw] message
29411
+ # The error message for a failed retrieval of a recommended policy for
29412
+ # a finding.
29413
+ # @return [String]
29414
+ #
29415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RecommendationError AWS API Documentation
29416
+ #
29417
+ class RecommendationError < Struct.new(
29418
+ :code,
29419
+ :message)
29420
+ SENSITIVE = []
29421
+ include Aws::Structure
29422
+ end
29423
+
29424
+ # Contains information about a recommended step to remediate a Security
29425
+ # Hub finding.
29426
+ #
29427
+ # @note RecommendationStep is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of RecommendationStep corresponding to the set member.
29428
+ #
29429
+ # @!attribute [rw] unused_permissions
29430
+ # A recommended step to remediate an unused permissions finding.
29431
+ # @return [Types::UnusedPermissionsRecommendationStep]
29432
+ #
29433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/RecommendationStep AWS API Documentation
29434
+ #
29435
+ class RecommendationStep < Struct.new(
29436
+ :unused_permissions,
29437
+ :unknown)
29438
+ SENSITIVE = []
29439
+ include Aws::Structure
29440
+ include Aws::Structure::Union
29441
+
29442
+ class UnusedPermissions < RecommendationStep; end
29443
+ class Unknown < RecommendationStep; end
29444
+ end
29445
+
29312
29446
  # An occurrence of sensitive data in an Apache Avro object container or
29313
29447
  # an Apache Parquet file.
29314
29448
  #
@@ -32740,9 +32874,10 @@ module Aws::SecurityHub
32740
32874
  #
32741
32875
  # * `ResourceType NOT_EQUALS AwsEc2NetworkInterface`
32742
32876
  #
32743
- # `CONTAINS` and `NOT_CONTAINS` operators can be used only with
32744
- # automation rules V1. `CONTAINS_WORD` operator is only supported in
32745
- # `GetFindingsV2`, `GetFindingStatisticsV2`, `GetResourcesV2`, and
32877
+ # The `CONTAINS` operator works with automation rules V1 and V2. The
32878
+ # `NOT_CONTAINS` operator works only with automation rules V1. The
32879
+ # `CONTAINS_WORD` operator works only in the `GetFindingsV2`,
32880
+ # `GetFindingStatisticsV2`, `GetResourcesV2`, and
32746
32881
  # `GetResourcesStatisticsV2` APIs. For more information, see
32747
32882
  # [Automation rules][1] in the *Security Hub CSPM User Guide*.
32748
32883
  #
@@ -33186,6 +33321,46 @@ module Aws::SecurityHub
33186
33321
  #
33187
33322
  class UntagResourceResponse < Aws::EmptyStructure; end
33188
33323
 
33324
+ # Contains information about the action to take for a policy in an
33325
+ # unused permissions finding.
33326
+ #
33327
+ # @!attribute [rw] recommended_action
33328
+ # A recommendation of whether to create or detach a policy for an
33329
+ # unused permissions finding.
33330
+ # @return [String]
33331
+ #
33332
+ # @!attribute [rw] existing_policy
33333
+ # The contents of the existing policy identified by `ExistingPolicyId`
33334
+ # which needs to be replaced, when the `RecommendedAction` is
33335
+ # `CREATE_POLICY`.
33336
+ # @return [String]
33337
+ #
33338
+ # @!attribute [rw] existing_policy_id
33339
+ # The ID of an existing policy to be replaced or detached.
33340
+ # @return [String]
33341
+ #
33342
+ # @!attribute [rw] policy_updated_at
33343
+ # The time at which the existing policy for the unused permissions
33344
+ # finding was last updated.
33345
+ # @return [Time]
33346
+ #
33347
+ # @!attribute [rw] recommended_policy
33348
+ # The contents of the least-privileged recommended replacement for
33349
+ # `ExistingPolicyId`, when the `RecommendedAction` is `CREATE_POLICY`.
33350
+ # @return [String]
33351
+ #
33352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UnusedPermissionsRecommendationStep AWS API Documentation
33353
+ #
33354
+ class UnusedPermissionsRecommendationStep < Struct.new(
33355
+ :recommended_action,
33356
+ :existing_policy,
33357
+ :existing_policy_id,
33358
+ :policy_updated_at,
33359
+ :recommended_policy)
33360
+ SENSITIVE = []
33361
+ include Aws::Structure
33362
+ end
33363
+
33189
33364
  # @!attribute [rw] action_target_arn
33190
33365
  # The ARN of the custom action target to update.
33191
33366
  # @return [String]
@@ -54,7 +54,7 @@ module Aws::SecurityHub
54
54
  autoload :EndpointProvider, 'aws-sdk-securityhub/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-securityhub/endpoints'
56
56
 
57
- GEM_VERSION = '1.154.0'
57
+ GEM_VERSION = '1.155.0'
58
58
 
59
59
  end
60
60