aws-sdk-accessanalyzer 1.63.0 → 1.64.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c447bf8de1d6dd1a90d8e44347b1ac0c11b4e4f66631639613f55e7e46befd42
4
- data.tar.gz: 9c7ae9c351e0d8259bf12f8af1e344d696a7ed44e77d1cc12e4f3563f7f757bb
3
+ metadata.gz: 298dda42069806317c1cc578827d1d6ac1e9fb87647caca6ee559aedee6b7b1e
4
+ data.tar.gz: 9b9cccaec291cf7d0c29352775c55968ec23c98d5c840695be9ad46de206d27c
5
5
  SHA512:
6
- metadata.gz: bb005943fd3fb07e498393000ce199903ad7ee88531bea0b7183686202fc53afcb34c7709263cbd850280cba1e2b25a7f011ea3b3d8274609a93a711ac8f3ffd
7
- data.tar.gz: 60b3142ad2acbccdef1908dae580bb99f08c7411aac664e6edb25cb8d38afa2381d04c7e6252bc177adcd288b17fbb4bf4e289e4fc65722525850ae3dc476605
6
+ metadata.gz: 4f9dae2dd2eed42a9c7f3ceeb447a13bfbb95a1e8353fbe36e32e54ea7907e90c8d099f958fd7c69369d13e150907295809732f685183af645c7163ba191b7a8
7
+ data.tar.gz: 25c7805436c022ebb2ff139f608f8d5599b6a1d124c8e1bfcdeff9c25694ef38f9872aa85d3de8b8e482cae5f0d13d68889321af6c6e26f73563ae99335d49b5
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.64.0 (2024-11-14)
5
+ ------------------
6
+
7
+ * Feature - Expand analyzer configuration capabilities for unused access analyzers. Unused access analyzer configurations now support the ability to exclude accounts and resource tags from analysis providing more granular control over the scope of analysis.
8
+
4
9
  1.63.0 (2024-11-13)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.63.0
1
+ 1.64.0
@@ -950,7 +950,15 @@ module Aws::AccessAnalyzer
950
950
  # the rule.
951
951
  #
952
952
  # @option params [Hash<String,String>] :tags
953
- # An array of key-value pairs to apply to the analyzer.
953
+ # An array of key-value pairs to apply to the analyzer. You can use the
954
+ # set of Unicode letters, digits, whitespace, `_`, `.`, `/`, `=`, `+`,
955
+ # and `-`.
956
+ #
957
+ # For the tag key, you can specify a value that is 1 to 128 characters
958
+ # in length and cannot be prefixed with `aws:`.
959
+ #
960
+ # For the tag value, you can specify a value that is 0 to 256 characters
961
+ # in length.
954
962
  #
955
963
  # @option params [String] :client_token
956
964
  # A client token.
@@ -961,8 +969,7 @@ module Aws::AccessAnalyzer
961
969
  # @option params [Types::AnalyzerConfiguration] :configuration
962
970
  # Specifies the configuration of the analyzer. If the analyzer is an
963
971
  # unused access analyzer, the specified scope of unused access is used
964
- # for the configuration. If the analyzer is an external access analyzer,
965
- # this field is not used.
972
+ # for the configuration.
966
973
  #
967
974
  # @return [Types::CreateAnalyzerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
968
975
  #
@@ -993,6 +1000,18 @@ module Aws::AccessAnalyzer
993
1000
  # configuration: {
994
1001
  # unused_access: {
995
1002
  # unused_access_age: 1,
1003
+ # analysis_rule: {
1004
+ # exclusions: [
1005
+ # {
1006
+ # account_ids: ["String"],
1007
+ # resource_tags: [
1008
+ # {
1009
+ # "String" => "String",
1010
+ # },
1011
+ # ],
1012
+ # },
1013
+ # ],
1014
+ # },
996
1015
  # },
997
1016
  # },
998
1017
  # })
@@ -1294,7 +1313,7 @@ module Aws::AccessAnalyzer
1294
1313
  # @example Response structure
1295
1314
  #
1296
1315
  # resp.resource.resource_arn #=> String
1297
- # resp.resource.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream"
1316
+ # resp.resource.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream", "AWS::IAM::User"
1298
1317
  # resp.resource.created_at #=> Time
1299
1318
  # resp.resource.analyzed_at #=> Time
1300
1319
  # resp.resource.updated_at #=> Time
@@ -1344,6 +1363,12 @@ module Aws::AccessAnalyzer
1344
1363
  # resp.analyzer.status #=> String, one of "ACTIVE", "CREATING", "DISABLED", "FAILED"
1345
1364
  # resp.analyzer.status_reason.code #=> String, one of "AWS_SERVICE_ACCESS_DISABLED", "DELEGATED_ADMINISTRATOR_DEREGISTERED", "ORGANIZATION_DELETED", "SERVICE_LINKED_ROLE_CREATION_FAILED"
1346
1365
  # resp.analyzer.configuration.unused_access.unused_access_age #=> Integer
1366
+ # resp.analyzer.configuration.unused_access.analysis_rule.exclusions #=> Array
1367
+ # resp.analyzer.configuration.unused_access.analysis_rule.exclusions[0].account_ids #=> Array
1368
+ # resp.analyzer.configuration.unused_access.analysis_rule.exclusions[0].account_ids[0] #=> String
1369
+ # resp.analyzer.configuration.unused_access.analysis_rule.exclusions[0].resource_tags #=> Array
1370
+ # resp.analyzer.configuration.unused_access.analysis_rule.exclusions[0].resource_tags[0] #=> Hash
1371
+ # resp.analyzer.configuration.unused_access.analysis_rule.exclusions[0].resource_tags[0]["String"] #=> String
1347
1372
  #
1348
1373
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAnalyzer AWS API Documentation
1349
1374
  #
@@ -1438,7 +1463,7 @@ module Aws::AccessAnalyzer
1438
1463
  # resp.finding.action[0] #=> String
1439
1464
  # resp.finding.resource #=> String
1440
1465
  # resp.finding.is_public #=> Boolean
1441
- # resp.finding.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream"
1466
+ # resp.finding.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream", "AWS::IAM::User"
1442
1467
  # resp.finding.condition #=> Hash
1443
1468
  # resp.finding.condition["String"] #=> String
1444
1469
  # resp.finding.created_at #=> Time
@@ -1662,7 +1687,7 @@ module Aws::AccessAnalyzer
1662
1687
  # resp.id #=> String
1663
1688
  # resp.next_token #=> String
1664
1689
  # resp.resource #=> String
1665
- # resp.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream"
1690
+ # resp.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream", "AWS::IAM::User"
1666
1691
  # resp.resource_owner_account #=> String
1667
1692
  # resp.status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
1668
1693
  # resp.updated_at #=> Time
@@ -1826,7 +1851,7 @@ module Aws::AccessAnalyzer
1826
1851
  # resp.findings[0].condition["String"] #=> String
1827
1852
  # resp.findings[0].resource #=> String
1828
1853
  # resp.findings[0].is_public #=> Boolean
1829
- # resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream"
1854
+ # resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream", "AWS::IAM::User"
1830
1855
  # resp.findings[0].created_at #=> Time
1831
1856
  # resp.findings[0].change_type #=> String, one of "CHANGED", "NEW", "UNCHANGED"
1832
1857
  # resp.findings[0].status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
@@ -1898,8 +1923,7 @@ module Aws::AccessAnalyzer
1898
1923
  end
1899
1924
 
1900
1925
  # Retrieves a list of resources of the specified type that have been
1901
- # analyzed by the specified external access analyzer. This action is not
1902
- # supported for unused access analyzers.
1926
+ # analyzed by the specified analyzer.
1903
1927
  #
1904
1928
  # @option params [required, String] :analyzer_arn
1905
1929
  # The [ARN of the analyzer][1] to retrieve a list of analyzed resources
@@ -1929,7 +1953,7 @@ module Aws::AccessAnalyzer
1929
1953
  #
1930
1954
  # resp = client.list_analyzed_resources({
1931
1955
  # analyzer_arn: "AnalyzerArn", # required
1932
- # resource_type: "AWS::S3::Bucket", # accepts AWS::S3::Bucket, AWS::IAM::Role, AWS::SQS::Queue, AWS::Lambda::Function, AWS::Lambda::LayerVersion, AWS::KMS::Key, AWS::SecretsManager::Secret, AWS::EFS::FileSystem, AWS::EC2::Snapshot, AWS::ECR::Repository, AWS::RDS::DBSnapshot, AWS::RDS::DBClusterSnapshot, AWS::SNS::Topic, AWS::S3Express::DirectoryBucket, AWS::DynamoDB::Table, AWS::DynamoDB::Stream
1956
+ # resource_type: "AWS::S3::Bucket", # accepts AWS::S3::Bucket, AWS::IAM::Role, AWS::SQS::Queue, AWS::Lambda::Function, AWS::Lambda::LayerVersion, AWS::KMS::Key, AWS::SecretsManager::Secret, AWS::EFS::FileSystem, AWS::EC2::Snapshot, AWS::ECR::Repository, AWS::RDS::DBSnapshot, AWS::RDS::DBClusterSnapshot, AWS::SNS::Topic, AWS::S3Express::DirectoryBucket, AWS::DynamoDB::Table, AWS::DynamoDB::Stream, AWS::IAM::User
1933
1957
  # next_token: "Token",
1934
1958
  # max_results: 1,
1935
1959
  # })
@@ -1939,7 +1963,7 @@ module Aws::AccessAnalyzer
1939
1963
  # resp.analyzed_resources #=> Array
1940
1964
  # resp.analyzed_resources[0].resource_arn #=> String
1941
1965
  # resp.analyzed_resources[0].resource_owner_account #=> String
1942
- # resp.analyzed_resources[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream"
1966
+ # resp.analyzed_resources[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream", "AWS::IAM::User"
1943
1967
  # resp.next_token #=> String
1944
1968
  #
1945
1969
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzedResources AWS API Documentation
@@ -1991,6 +2015,12 @@ module Aws::AccessAnalyzer
1991
2015
  # resp.analyzers[0].status #=> String, one of "ACTIVE", "CREATING", "DISABLED", "FAILED"
1992
2016
  # resp.analyzers[0].status_reason.code #=> String, one of "AWS_SERVICE_ACCESS_DISABLED", "DELEGATED_ADMINISTRATOR_DEREGISTERED", "ORGANIZATION_DELETED", "SERVICE_LINKED_ROLE_CREATION_FAILED"
1993
2017
  # resp.analyzers[0].configuration.unused_access.unused_access_age #=> Integer
2018
+ # resp.analyzers[0].configuration.unused_access.analysis_rule.exclusions #=> Array
2019
+ # resp.analyzers[0].configuration.unused_access.analysis_rule.exclusions[0].account_ids #=> Array
2020
+ # resp.analyzers[0].configuration.unused_access.analysis_rule.exclusions[0].account_ids[0] #=> String
2021
+ # resp.analyzers[0].configuration.unused_access.analysis_rule.exclusions[0].resource_tags #=> Array
2022
+ # resp.analyzers[0].configuration.unused_access.analysis_rule.exclusions[0].resource_tags[0] #=> Hash
2023
+ # resp.analyzers[0].configuration.unused_access.analysis_rule.exclusions[0].resource_tags[0]["String"] #=> String
1994
2024
  # resp.next_token #=> String
1995
2025
  #
1996
2026
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzers AWS API Documentation
@@ -2123,7 +2153,7 @@ module Aws::AccessAnalyzer
2123
2153
  # resp.findings[0].action[0] #=> String
2124
2154
  # resp.findings[0].resource #=> String
2125
2155
  # resp.findings[0].is_public #=> Boolean
2126
- # resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream"
2156
+ # resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream", "AWS::IAM::User"
2127
2157
  # resp.findings[0].condition #=> Hash
2128
2158
  # resp.findings[0].condition["String"] #=> String
2129
2159
  # resp.findings[0].created_at #=> Time
@@ -2216,7 +2246,7 @@ module Aws::AccessAnalyzer
2216
2246
  # resp.findings[0].error #=> String
2217
2247
  # resp.findings[0].id #=> String
2218
2248
  # resp.findings[0].resource #=> String
2219
- # resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream"
2249
+ # resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret", "AWS::EFS::FileSystem", "AWS::EC2::Snapshot", "AWS::ECR::Repository", "AWS::RDS::DBSnapshot", "AWS::RDS::DBClusterSnapshot", "AWS::SNS::Topic", "AWS::S3Express::DirectoryBucket", "AWS::DynamoDB::Table", "AWS::DynamoDB::Stream", "AWS::IAM::User"
2220
2250
  # resp.findings[0].resource_owner_account #=> String
2221
2251
  # resp.findings[0].status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
2222
2252
  # resp.findings[0].updated_at #=> Time
@@ -2462,6 +2492,61 @@ module Aws::AccessAnalyzer
2462
2492
  req.send_request(options)
2463
2493
  end
2464
2494
 
2495
+ # Modifies the configuration of an existing analyzer.
2496
+ #
2497
+ # @option params [required, String] :analyzer_name
2498
+ # The name of the analyzer to modify.
2499
+ #
2500
+ # @option params [Types::AnalyzerConfiguration] :configuration
2501
+ # Contains information about the configuration of an analyzer for an
2502
+ # Amazon Web Services organization or account.
2503
+ #
2504
+ # @return [Types::UpdateAnalyzerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2505
+ #
2506
+ # * {Types::UpdateAnalyzerResponse#configuration #configuration} => Types::AnalyzerConfiguration
2507
+ #
2508
+ # @example Request syntax with placeholder values
2509
+ #
2510
+ # resp = client.update_analyzer({
2511
+ # analyzer_name: "Name", # required
2512
+ # configuration: {
2513
+ # unused_access: {
2514
+ # unused_access_age: 1,
2515
+ # analysis_rule: {
2516
+ # exclusions: [
2517
+ # {
2518
+ # account_ids: ["String"],
2519
+ # resource_tags: [
2520
+ # {
2521
+ # "String" => "String",
2522
+ # },
2523
+ # ],
2524
+ # },
2525
+ # ],
2526
+ # },
2527
+ # },
2528
+ # },
2529
+ # })
2530
+ #
2531
+ # @example Response structure
2532
+ #
2533
+ # resp.configuration.unused_access.unused_access_age #=> Integer
2534
+ # resp.configuration.unused_access.analysis_rule.exclusions #=> Array
2535
+ # resp.configuration.unused_access.analysis_rule.exclusions[0].account_ids #=> Array
2536
+ # resp.configuration.unused_access.analysis_rule.exclusions[0].account_ids[0] #=> String
2537
+ # resp.configuration.unused_access.analysis_rule.exclusions[0].resource_tags #=> Array
2538
+ # resp.configuration.unused_access.analysis_rule.exclusions[0].resource_tags[0] #=> Hash
2539
+ # resp.configuration.unused_access.analysis_rule.exclusions[0].resource_tags[0]["String"] #=> String
2540
+ #
2541
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UpdateAnalyzer AWS API Documentation
2542
+ #
2543
+ # @overload update_analyzer(params = {})
2544
+ # @param [Hash] params ({})
2545
+ def update_analyzer(params = {}, options = {})
2546
+ req = build_request(:update_analyzer, params)
2547
+ req.send_request(options)
2548
+ end
2549
+
2465
2550
  # Updates the criteria and values for the specified archive rule.
2466
2551
  #
2467
2552
  # @option params [required, String] :analyzer_name
@@ -2666,7 +2751,7 @@ module Aws::AccessAnalyzer
2666
2751
  tracer: tracer
2667
2752
  )
2668
2753
  context[:gem_name] = 'aws-sdk-accessanalyzer'
2669
- context[:gem_version] = '1.63.0'
2754
+ context[:gem_version] = '1.64.0'
2670
2755
  Seahorse::Client::Request.new(handlers, context)
2671
2756
  end
2672
2757
 
@@ -33,12 +33,16 @@ module Aws::AccessAnalyzer
33
33
  AccessPreviewSummary = Shapes::StructureShape.new(name: 'AccessPreviewSummary')
34
34
  AccessPreviewsList = Shapes::ListShape.new(name: 'AccessPreviewsList')
35
35
  AccessResourcesList = Shapes::ListShape.new(name: 'AccessResourcesList')
36
+ AccountIdsList = Shapes::ListShape.new(name: 'AccountIdsList')
36
37
  AclCanonicalId = Shapes::StringShape.new(name: 'AclCanonicalId')
37
38
  AclGrantee = Shapes::UnionShape.new(name: 'AclGrantee')
38
39
  AclPermission = Shapes::StringShape.new(name: 'AclPermission')
39
40
  AclUri = Shapes::StringShape.new(name: 'AclUri')
40
41
  Action = Shapes::StringShape.new(name: 'Action')
41
42
  ActionList = Shapes::ListShape.new(name: 'ActionList')
43
+ AnalysisRule = Shapes::StructureShape.new(name: 'AnalysisRule')
44
+ AnalysisRuleCriteria = Shapes::StructureShape.new(name: 'AnalysisRuleCriteria')
45
+ AnalysisRuleCriteriaList = Shapes::ListShape.new(name: 'AnalysisRuleCriteriaList')
42
46
  AnalyzedResource = Shapes::StructureShape.new(name: 'AnalyzedResource')
43
47
  AnalyzedResourceSummary = Shapes::StructureShape.new(name: 'AnalyzedResourceSummary')
44
48
  AnalyzedResourcesList = Shapes::ListShape.new(name: 'AnalyzedResourcesList')
@@ -260,6 +264,7 @@ module Aws::AccessAnalyzer
260
264
  TagKeys = Shapes::ListShape.new(name: 'TagKeys')
261
265
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
262
266
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
267
+ TagsList = Shapes::ListShape.new(name: 'TagsList')
263
268
  TagsMap = Shapes::MapShape.new(name: 'TagsMap')
264
269
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
265
270
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp', timestampFormat: "iso8601")
@@ -280,6 +285,8 @@ module Aws::AccessAnalyzer
280
285
  UnusedIamUserPasswordDetails = Shapes::StructureShape.new(name: 'UnusedIamUserPasswordDetails')
281
286
  UnusedPermissionDetails = Shapes::StructureShape.new(name: 'UnusedPermissionDetails')
282
287
  UnusedPermissionsRecommendedStep = Shapes::StructureShape.new(name: 'UnusedPermissionsRecommendedStep')
288
+ UpdateAnalyzerRequest = Shapes::StructureShape.new(name: 'UpdateAnalyzerRequest')
289
+ UpdateAnalyzerResponse = Shapes::StructureShape.new(name: 'UpdateAnalyzerResponse')
283
290
  UpdateArchiveRuleRequest = Shapes::StructureShape.new(name: 'UpdateArchiveRuleRequest')
284
291
  UpdateFindingsRequest = Shapes::StructureShape.new(name: 'UpdateFindingsRequest')
285
292
  ValidatePolicyFinding = Shapes::StructureShape.new(name: 'ValidatePolicyFinding')
@@ -347,6 +354,8 @@ module Aws::AccessAnalyzer
347
354
 
348
355
  AccessResourcesList.member = Shapes::ShapeRef.new(shape: Resource)
349
356
 
357
+ AccountIdsList.member = Shapes::ShapeRef.new(shape: String)
358
+
350
359
  AclGrantee.add_member(:id, Shapes::ShapeRef.new(shape: AclCanonicalId, location_name: "id"))
351
360
  AclGrantee.add_member(:uri, Shapes::ShapeRef.new(shape: AclUri, location_name: "uri"))
352
361
  AclGrantee.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
@@ -357,6 +366,15 @@ module Aws::AccessAnalyzer
357
366
 
358
367
  ActionList.member = Shapes::ShapeRef.new(shape: String)
359
368
 
369
+ AnalysisRule.add_member(:exclusions, Shapes::ShapeRef.new(shape: AnalysisRuleCriteriaList, location_name: "exclusions"))
370
+ AnalysisRule.struct_class = Types::AnalysisRule
371
+
372
+ AnalysisRuleCriteria.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIdsList, location_name: "accountIds"))
373
+ AnalysisRuleCriteria.add_member(:resource_tags, Shapes::ShapeRef.new(shape: TagsList, location_name: "resourceTags"))
374
+ AnalysisRuleCriteria.struct_class = Types::AnalysisRuleCriteria
375
+
376
+ AnalysisRuleCriteriaList.member = Shapes::ShapeRef.new(shape: AnalysisRuleCriteria)
377
+
360
378
  AnalyzedResource.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
361
379
  AnalyzedResource.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
362
380
  AnalyzedResource.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "createdAt"))
@@ -1070,6 +1088,8 @@ module Aws::AccessAnalyzer
1070
1088
 
1071
1089
  TagResourceResponse.struct_class = Types::TagResourceResponse
1072
1090
 
1091
+ TagsList.member = Shapes::ShapeRef.new(shape: TagsMap)
1092
+
1073
1093
  TagsMap.key = Shapes::ShapeRef.new(shape: String)
1074
1094
  TagsMap.value = Shapes::ShapeRef.new(shape: String)
1075
1095
 
@@ -1101,6 +1121,7 @@ module Aws::AccessAnalyzer
1101
1121
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
1102
1122
 
1103
1123
  UnusedAccessConfiguration.add_member(:unused_access_age, Shapes::ShapeRef.new(shape: Integer, location_name: "unusedAccessAge"))
1124
+ UnusedAccessConfiguration.add_member(:analysis_rule, Shapes::ShapeRef.new(shape: AnalysisRule, location_name: "analysisRule"))
1104
1125
  UnusedAccessConfiguration.struct_class = Types::UnusedAccessConfiguration
1105
1126
 
1106
1127
  UnusedAction.add_member(:action, Shapes::ShapeRef.new(shape: String, required: true, location_name: "action"))
@@ -1130,6 +1151,13 @@ module Aws::AccessAnalyzer
1130
1151
  UnusedPermissionsRecommendedStep.add_member(:existing_policy_id, Shapes::ShapeRef.new(shape: String, location_name: "existingPolicyId"))
1131
1152
  UnusedPermissionsRecommendedStep.struct_class = Types::UnusedPermissionsRecommendedStep
1132
1153
 
1154
+ UpdateAnalyzerRequest.add_member(:analyzer_name, Shapes::ShapeRef.new(shape: Name, required: true, location: "uri", location_name: "analyzerName"))
1155
+ UpdateAnalyzerRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: AnalyzerConfiguration, location_name: "configuration"))
1156
+ UpdateAnalyzerRequest.struct_class = Types::UpdateAnalyzerRequest
1157
+
1158
+ UpdateAnalyzerResponse.add_member(:configuration, Shapes::ShapeRef.new(shape: AnalyzerConfiguration, location_name: "configuration"))
1159
+ UpdateAnalyzerResponse.struct_class = Types::UpdateAnalyzerResponse
1160
+
1133
1161
  UpdateArchiveRuleRequest.add_member(:analyzer_name, Shapes::ShapeRef.new(shape: Name, required: true, location: "uri", location_name: "analyzerName"))
1134
1162
  UpdateArchiveRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: Name, required: true, location: "uri", location_name: "ruleName"))
1135
1163
  UpdateArchiveRuleRequest.add_member(:filter, Shapes::ShapeRef.new(shape: FilterCriteriaMap, required: true, location_name: "filter"))
@@ -1679,6 +1707,20 @@ module Aws::AccessAnalyzer
1679
1707
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1680
1708
  end)
1681
1709
 
1710
+ api.add_operation(:update_analyzer, Seahorse::Model::Operation.new.tap do |o|
1711
+ o.name = "UpdateAnalyzer"
1712
+ o.http_method = "PUT"
1713
+ o.http_request_uri = "/analyzer/{analyzerName}"
1714
+ o.input = Shapes::ShapeRef.new(shape: UpdateAnalyzerRequest)
1715
+ o.output = Shapes::ShapeRef.new(shape: UpdateAnalyzerResponse)
1716
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1717
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1718
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1719
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1720
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1721
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1722
+ end)
1723
+
1682
1724
  api.add_operation(:update_archive_rule, Seahorse::Model::Operation.new.tap do |o|
1683
1725
  o.name = "UpdateArchiveRule"
1684
1726
  o.http_method = "PUT"
@@ -318,6 +318,57 @@ module Aws::AccessAnalyzer
318
318
  class Unknown < AclGrantee; end
319
319
  end
320
320
 
321
+ # Contains information about analysis rules for the analyzer. Analysis
322
+ # rules determine which entities will generate findings based on the
323
+ # criteria you define when you create the rule.
324
+ #
325
+ # @!attribute [rw] exclusions
326
+ # A list of rules for the analyzer containing criteria to exclude from
327
+ # analysis. Entities that meet the rule criteria will not generate
328
+ # findings.
329
+ # @return [Array<Types::AnalysisRuleCriteria>]
330
+ #
331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AnalysisRule AWS API Documentation
332
+ #
333
+ class AnalysisRule < Struct.new(
334
+ :exclusions)
335
+ SENSITIVE = []
336
+ include Aws::Structure
337
+ end
338
+
339
+ # The criteria for an analysis rule for an analyzer. The criteria
340
+ # determine which entities will generate findings.
341
+ #
342
+ # @!attribute [rw] account_ids
343
+ # A list of Amazon Web Services account IDs to apply to the analysis
344
+ # rule criteria. The accounts cannot include the organization analyzer
345
+ # owner account. Account IDs can only be applied to the analysis rule
346
+ # criteria for organization-level analyzers. The list cannot include
347
+ # more than 2,000 account IDs.
348
+ # @return [Array<String>]
349
+ #
350
+ # @!attribute [rw] resource_tags
351
+ # An array of key-value pairs to match for your resources. You can use
352
+ # the set of Unicode letters, digits, whitespace, `_`, `.`, `/`, `=`,
353
+ # `+`, and `-`.
354
+ #
355
+ # For the tag key, you can specify a value that is 1 to 128 characters
356
+ # in length and cannot be prefixed with `aws:`.
357
+ #
358
+ # For the tag value, you can specify a value that is 0 to 256
359
+ # characters in length. If the specified tag value is 0 characters,
360
+ # the rule is applied to all principals with the specified tag key.
361
+ # @return [Array<Hash<String,String>>]
362
+ #
363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AnalysisRuleCriteria AWS API Documentation
364
+ #
365
+ class AnalysisRuleCriteria < Struct.new(
366
+ :account_ids,
367
+ :resource_tags)
368
+ SENSITIVE = []
369
+ include Aws::Structure
370
+ end
371
+
321
372
  # Contains details about the analyzed resource.
322
373
  #
323
374
  # @!attribute [rw] resource_arn
@@ -410,8 +461,8 @@ module Aws::AccessAnalyzer
410
461
  include Aws::Structure
411
462
  end
412
463
 
413
- # Contains information about the configuration of an unused access
414
- # analyzer for an Amazon Web Services organization or account.
464
+ # Contains information about the configuration of an analyzer for an
465
+ # Amazon Web Services organization or account.
415
466
  #
416
467
  # @note AnalyzerConfiguration is a union - when making an API calls you must set exactly one of the members.
417
468
  #
@@ -419,8 +470,7 @@ module Aws::AccessAnalyzer
419
470
  #
420
471
  # @!attribute [rw] unused_access
421
472
  # Specifies the configuration of an unused access analyzer for an
422
- # Amazon Web Services organization or account. External access
423
- # analyzers do not support any configuration.
473
+ # Amazon Web Services organization or account.
424
474
  # @return [Types::UnusedAccessConfiguration]
425
475
  #
426
476
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AnalyzerConfiguration AWS API Documentation
@@ -535,7 +585,9 @@ module Aws::AccessAnalyzer
535
585
  include Aws::Structure
536
586
  end
537
587
 
538
- # Contains information about an archive rule.
588
+ # Contains information about an archive rule. Archive rules
589
+ # automatically archive new findings that meet the criteria you define
590
+ # when you create the rule.
539
591
  #
540
592
  # @!attribute [rw] rule_name
541
593
  # The name of the archive rule.
@@ -1012,7 +1064,15 @@ module Aws::AccessAnalyzer
1012
1064
  # @return [Array<Types::InlineArchiveRule>]
1013
1065
  #
1014
1066
  # @!attribute [rw] tags
1015
- # An array of key-value pairs to apply to the analyzer.
1067
+ # An array of key-value pairs to apply to the analyzer. You can use
1068
+ # the set of Unicode letters, digits, whitespace, `_`, `.`, `/`, `=`,
1069
+ # `+`, and `-`.
1070
+ #
1071
+ # For the tag key, you can specify a value that is 1 to 128 characters
1072
+ # in length and cannot be prefixed with `aws:`.
1073
+ #
1074
+ # For the tag value, you can specify a value that is 0 to 256
1075
+ # characters in length.
1016
1076
  # @return [Hash<String,String>]
1017
1077
  #
1018
1078
  # @!attribute [rw] client_token
@@ -1025,8 +1085,7 @@ module Aws::AccessAnalyzer
1025
1085
  # @!attribute [rw] configuration
1026
1086
  # Specifies the configuration of the analyzer. If the analyzer is an
1027
1087
  # unused access analyzer, the specified scope of unused access is used
1028
- # for the configuration. If the analyzer is an external access
1029
- # analyzer, this field is not used.
1088
+ # for the configuration.
1030
1089
  # @return [Types::AnalyzerConfiguration]
1031
1090
  #
1032
1091
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAnalyzerRequest AWS API Documentation
@@ -1988,7 +2047,9 @@ module Aws::AccessAnalyzer
1988
2047
  # The response to the request.
1989
2048
  #
1990
2049
  # @!attribute [rw] archive_rule
1991
- # Contains information about an archive rule.
2050
+ # Contains information about an archive rule. Archive rules
2051
+ # automatically archive new findings that meet the criteria you define
2052
+ # when you create the rule.
1992
2053
  # @return [Types::ArchiveRuleSummary]
1993
2054
  #
1994
2055
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetArchiveRuleResponse AWS API Documentation
@@ -4038,13 +4099,20 @@ module Aws::AccessAnalyzer
4038
4099
  # will generate findings for IAM entities within the accounts of the
4039
4100
  # selected organization for any access that hasn't been used in 90 or
4040
4101
  # more days since the analyzer's last scan. You can choose a value
4041
- # between 1 and 180 days.
4102
+ # between 1 and 365 days.
4042
4103
  # @return [Integer]
4043
4104
  #
4105
+ # @!attribute [rw] analysis_rule
4106
+ # Contains information about analysis rules for the analyzer. Analysis
4107
+ # rules determine which entities will generate findings based on the
4108
+ # criteria you define when you create the rule.
4109
+ # @return [Types::AnalysisRule]
4110
+ #
4044
4111
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedAccessConfiguration AWS API Documentation
4045
4112
  #
4046
4113
  class UnusedAccessConfiguration < Struct.new(
4047
- :unused_access_age)
4114
+ :unused_access_age,
4115
+ :analysis_rule)
4048
4116
  SENSITIVE = []
4049
4117
  include Aws::Structure
4050
4118
  end
@@ -4212,6 +4280,37 @@ module Aws::AccessAnalyzer
4212
4280
  include Aws::Structure
4213
4281
  end
4214
4282
 
4283
+ # @!attribute [rw] analyzer_name
4284
+ # The name of the analyzer to modify.
4285
+ # @return [String]
4286
+ #
4287
+ # @!attribute [rw] configuration
4288
+ # Contains information about the configuration of an analyzer for an
4289
+ # Amazon Web Services organization or account.
4290
+ # @return [Types::AnalyzerConfiguration]
4291
+ #
4292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UpdateAnalyzerRequest AWS API Documentation
4293
+ #
4294
+ class UpdateAnalyzerRequest < Struct.new(
4295
+ :analyzer_name,
4296
+ :configuration)
4297
+ SENSITIVE = []
4298
+ include Aws::Structure
4299
+ end
4300
+
4301
+ # @!attribute [rw] configuration
4302
+ # Contains information about the configuration of an analyzer for an
4303
+ # Amazon Web Services organization or account.
4304
+ # @return [Types::AnalyzerConfiguration]
4305
+ #
4306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UpdateAnalyzerResponse AWS API Documentation
4307
+ #
4308
+ class UpdateAnalyzerResponse < Struct.new(
4309
+ :configuration)
4310
+ SENSITIVE = []
4311
+ include Aws::Structure
4312
+ end
4313
+
4215
4314
  # Updates the specified archive rule.
4216
4315
  #
4217
4316
  # @!attribute [rw] analyzer_name
@@ -54,7 +54,7 @@ module Aws::AccessAnalyzer
54
54
  autoload :EndpointProvider, 'aws-sdk-accessanalyzer/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-accessanalyzer/endpoints'
56
56
 
57
- GEM_VERSION = '1.63.0'
57
+ GEM_VERSION = '1.64.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -264,7 +264,17 @@ module Aws
264
264
  ?client_token: ::String,
265
265
  ?configuration: {
266
266
  unused_access: {
267
- unused_access_age: ::Integer?
267
+ unused_access_age: ::Integer?,
268
+ analysis_rule: {
269
+ exclusions: Array[
270
+ {
271
+ account_ids: Array[::String]?,
272
+ resource_tags: Array[
273
+ Hash[::String, ::String],
274
+ ]?
275
+ },
276
+ ]?
277
+ }?
268
278
  }?
269
279
  }
270
280
  ) -> _CreateAnalyzerResponseSuccess
@@ -386,7 +396,7 @@ module Aws
386
396
  def id: () -> ::String
387
397
  def next_token: () -> ::String
388
398
  def resource: () -> ::String
389
- def resource_type: () -> ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
399
+ def resource_type: () -> ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
390
400
  def resource_owner_account: () -> ::String
391
401
  def status: () -> ("ACTIVE" | "ARCHIVED" | "RESOLVED")
392
402
  def updated_at: () -> ::Time
@@ -456,7 +466,7 @@ module Aws
456
466
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AccessAnalyzer/Client.html#list_analyzed_resources-instance_method
457
467
  def list_analyzed_resources: (
458
468
  analyzer_arn: ::String,
459
- ?resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream"),
469
+ ?resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User"),
460
470
  ?next_token: ::String,
461
471
  ?max_results: ::Integer
462
472
  ) -> _ListAnalyzedResourcesResponseSuccess
@@ -610,6 +620,31 @@ module Aws
610
620
  ) -> _UntagResourceResponseSuccess
611
621
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UntagResourceResponseSuccess
612
622
 
623
+ interface _UpdateAnalyzerResponseSuccess
624
+ include ::Seahorse::Client::_ResponseSuccess[Types::UpdateAnalyzerResponse]
625
+ def configuration: () -> Types::AnalyzerConfiguration
626
+ end
627
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AccessAnalyzer/Client.html#update_analyzer-instance_method
628
+ def update_analyzer: (
629
+ analyzer_name: ::String,
630
+ ?configuration: {
631
+ unused_access: {
632
+ unused_access_age: ::Integer?,
633
+ analysis_rule: {
634
+ exclusions: Array[
635
+ {
636
+ account_ids: Array[::String]?,
637
+ resource_tags: Array[
638
+ Hash[::String, ::String],
639
+ ]?
640
+ },
641
+ ]?
642
+ }?
643
+ }?
644
+ }
645
+ ) -> _UpdateAnalyzerResponseSuccess
646
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateAnalyzerResponseSuccess
647
+
613
648
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AccessAnalyzer/Client.html#update_archive_rule-instance_method
614
649
  def update_archive_rule: (
615
650
  analyzer_name: ::String,
data/sig/types.rbs CHANGED
@@ -38,7 +38,7 @@ module Aws::AccessAnalyzer
38
38
  attr_accessor condition: ::Hash[::String, ::String]
39
39
  attr_accessor resource: ::String
40
40
  attr_accessor is_public: bool
41
- attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
41
+ attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
42
42
  attr_accessor created_at: ::Time
43
43
  attr_accessor change_type: ("CHANGED" | "NEW" | "UNCHANGED")
44
44
  attr_accessor status: ("ACTIVE" | "ARCHIVED" | "RESOLVED")
@@ -77,9 +77,20 @@ module Aws::AccessAnalyzer
77
77
  end
78
78
  end
79
79
 
80
+ class AnalysisRule
81
+ attr_accessor exclusions: ::Array[Types::AnalysisRuleCriteria]
82
+ SENSITIVE: []
83
+ end
84
+
85
+ class AnalysisRuleCriteria
86
+ attr_accessor account_ids: ::Array[::String]
87
+ attr_accessor resource_tags: ::Array[::Hash[::String, ::String]]
88
+ SENSITIVE: []
89
+ end
90
+
80
91
  class AnalyzedResource
81
92
  attr_accessor resource_arn: ::String
82
- attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
93
+ attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
83
94
  attr_accessor created_at: ::Time
84
95
  attr_accessor analyzed_at: ::Time
85
96
  attr_accessor updated_at: ::Time
@@ -95,7 +106,7 @@ module Aws::AccessAnalyzer
95
106
  class AnalyzedResourceSummary
96
107
  attr_accessor resource_arn: ::String
97
108
  attr_accessor resource_owner_account: ::String
98
- attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
109
+ attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
99
110
  SENSITIVE: []
100
111
  end
101
112
 
@@ -359,7 +370,7 @@ module Aws::AccessAnalyzer
359
370
  attr_accessor action: ::Array[::String]
360
371
  attr_accessor resource: ::String
361
372
  attr_accessor is_public: bool
362
- attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
373
+ attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
363
374
  attr_accessor condition: ::Hash[::String, ::String]
364
375
  attr_accessor created_at: ::Time
365
376
  attr_accessor analyzed_at: ::Time
@@ -413,7 +424,7 @@ module Aws::AccessAnalyzer
413
424
  attr_accessor action: ::Array[::String]
414
425
  attr_accessor resource: ::String
415
426
  attr_accessor is_public: bool
416
- attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
427
+ attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
417
428
  attr_accessor condition: ::Hash[::String, ::String]
418
429
  attr_accessor created_at: ::Time
419
430
  attr_accessor analyzed_at: ::Time
@@ -432,7 +443,7 @@ module Aws::AccessAnalyzer
432
443
  attr_accessor error: ::String
433
444
  attr_accessor id: ::String
434
445
  attr_accessor resource: ::String
435
- attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
446
+ attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
436
447
  attr_accessor resource_owner_account: ::String
437
448
  attr_accessor status: ("ACTIVE" | "ARCHIVED" | "RESOLVED")
438
449
  attr_accessor updated_at: ::Time
@@ -553,7 +564,7 @@ module Aws::AccessAnalyzer
553
564
  attr_accessor id: ::String
554
565
  attr_accessor next_token: ::String
555
566
  attr_accessor resource: ::String
556
- attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
567
+ attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
557
568
  attr_accessor resource_owner_account: ::String
558
569
  attr_accessor status: ("ACTIVE" | "ARCHIVED" | "RESOLVED")
559
570
  attr_accessor updated_at: ::Time
@@ -666,7 +677,7 @@ module Aws::AccessAnalyzer
666
677
 
667
678
  class ListAnalyzedResourcesRequest
668
679
  attr_accessor analyzer_arn: ::String
669
- attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream")
680
+ attr_accessor resource_type: ("AWS::S3::Bucket" | "AWS::IAM::Role" | "AWS::SQS::Queue" | "AWS::Lambda::Function" | "AWS::Lambda::LayerVersion" | "AWS::KMS::Key" | "AWS::SecretsManager::Secret" | "AWS::EFS::FileSystem" | "AWS::EC2::Snapshot" | "AWS::ECR::Repository" | "AWS::RDS::DBSnapshot" | "AWS::RDS::DBClusterSnapshot" | "AWS::SNS::Topic" | "AWS::S3Express::DirectoryBucket" | "AWS::DynamoDB::Table" | "AWS::DynamoDB::Stream" | "AWS::IAM::User")
670
681
  attr_accessor next_token: ::String
671
682
  attr_accessor max_results: ::Integer
672
683
  SENSITIVE: []
@@ -1025,6 +1036,7 @@ module Aws::AccessAnalyzer
1025
1036
 
1026
1037
  class UnusedAccessConfiguration
1027
1038
  attr_accessor unused_access_age: ::Integer
1039
+ attr_accessor analysis_rule: Types::AnalysisRule
1028
1040
  SENSITIVE: []
1029
1041
  end
1030
1042
 
@@ -1065,6 +1077,17 @@ module Aws::AccessAnalyzer
1065
1077
  SENSITIVE: []
1066
1078
  end
1067
1079
 
1080
+ class UpdateAnalyzerRequest
1081
+ attr_accessor analyzer_name: ::String
1082
+ attr_accessor configuration: Types::AnalyzerConfiguration
1083
+ SENSITIVE: []
1084
+ end
1085
+
1086
+ class UpdateAnalyzerResponse
1087
+ attr_accessor configuration: Types::AnalyzerConfiguration
1088
+ SENSITIVE: []
1089
+ end
1090
+
1068
1091
  class UpdateArchiveRuleRequest
1069
1092
  attr_accessor analyzer_name: ::String
1070
1093
  attr_accessor rule_name: ::String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-accessanalyzer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.63.0
4
+ version: 1.64.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: 2024-11-13 00:00:00.000000000 Z
11
+ date: 2024-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core