aws-sdk-accessanalyzer 1.46.0 → 1.47.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: de74ac7ea07e298ce1f27abd56bbdbb0d453326d41bc6cfc8c99e354d0378084
4
- data.tar.gz: 13215496a791944b864713f93a19c5ca28a0a542af8e2c2f9ca63e9f3280c74b
3
+ metadata.gz: 1363b0ba0d7d73dccaebdfc04876afb44af0a5ccb7acd99d7ce5d769a29bb2d1
4
+ data.tar.gz: 4d6b90090737f7a155e2fac6dba04ff7fc166c3a4d55a1c392c4819fc011127a
5
5
  SHA512:
6
- metadata.gz: fca86b1cd0dd7a060690e5ba2839ab1f0601c4896f94982fb65c3d7c38a2e313d7eac81eda643d62a1c119f158acdef584a1fcadc6a50ddf3ff3952aa377097e
7
- data.tar.gz: 6647fa0e5b066738ebe9c195853c43b8a6c858f3fcf2feaf69d7aea815439dc63b84b353b1d85ecc467693454f9572a52825aae463895a7c44a5ad1281deef50
6
+ metadata.gz: 1788586b538671dc7112774da7670a960e2207cd3b9cb8c8fa0fb28c05ff59990a67d7c8d517b53a6343239c568ffda00c5bac053c2312efc646085a0c796f44
7
+ data.tar.gz: def12bdd8e791b4ca777bd68c27c45d3e42148247b6a693fca28ec61fedc5a6fae16a826c7660632c40b15ef6e4e8c8d19ba3c8041c57024e1518add4693a964
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.47.0 (2024-03-20)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for policy validation and external access findings for DynamoDB tables and streams. IAM Access Analyzer helps you author functional and secure resource-based policies and identify cross-account access. Updated service API, documentation, and paginators.
8
+
4
9
  1.46.0 (2024-03-01)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.46.0
1
+ 1.47.0
@@ -698,6 +698,12 @@ module Aws::AccessAnalyzer
698
698
  # s3_express_directory_bucket: {
699
699
  # bucket_policy: "S3ExpressDirectoryBucketPolicy",
700
700
  # },
701
+ # dynamodb_stream: {
702
+ # stream_policy: "DynamodbStreamPolicy",
703
+ # },
704
+ # dynamodb_table: {
705
+ # table_policy: "DynamodbTablePolicy",
706
+ # },
701
707
  # },
702
708
  # },
703
709
  # client_token: "String",
@@ -986,6 +992,8 @@ module Aws::AccessAnalyzer
986
992
  # resp.access_preview.configurations["ConfigurationsMapKey"].sns_topic.topic_policy #=> String
987
993
  # resp.access_preview.configurations["ConfigurationsMapKey"].sqs_queue.queue_policy #=> String
988
994
  # resp.access_preview.configurations["ConfigurationsMapKey"].s3_express_directory_bucket.bucket_policy #=> String
995
+ # resp.access_preview.configurations["ConfigurationsMapKey"].dynamodb_stream.stream_policy #=> String
996
+ # resp.access_preview.configurations["ConfigurationsMapKey"].dynamodb_table.table_policy #=> String
989
997
  # resp.access_preview.created_at #=> Time
990
998
  # resp.access_preview.status #=> String, one of "COMPLETED", "CREATING", "FAILED"
991
999
  # resp.access_preview.status_reason.code #=> String, one of "INTERNAL_ERROR", "INVALID_CONFIGURATION"
@@ -1025,7 +1033,7 @@ module Aws::AccessAnalyzer
1025
1033
  # @example Response structure
1026
1034
  #
1027
1035
  # resp.resource.resource_arn #=> String
1028
- # 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"
1036
+ # 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"
1029
1037
  # resp.resource.created_at #=> Time
1030
1038
  # resp.resource.analyzed_at #=> Time
1031
1039
  # resp.resource.updated_at #=> Time
@@ -1169,7 +1177,7 @@ module Aws::AccessAnalyzer
1169
1177
  # resp.finding.action[0] #=> String
1170
1178
  # resp.finding.resource #=> String
1171
1179
  # resp.finding.is_public #=> Boolean
1172
- # 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"
1180
+ # 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"
1173
1181
  # resp.finding.condition #=> Hash
1174
1182
  # resp.finding.condition["String"] #=> String
1175
1183
  # resp.finding.created_at #=> Time
@@ -1247,7 +1255,7 @@ module Aws::AccessAnalyzer
1247
1255
  # resp.id #=> String
1248
1256
  # resp.next_token #=> String
1249
1257
  # resp.resource #=> String
1250
- # 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"
1258
+ # 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"
1251
1259
  # resp.resource_owner_account #=> String
1252
1260
  # resp.status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
1253
1261
  # resp.updated_at #=> Time
@@ -1410,7 +1418,7 @@ module Aws::AccessAnalyzer
1410
1418
  # resp.findings[0].condition["String"] #=> String
1411
1419
  # resp.findings[0].resource #=> String
1412
1420
  # resp.findings[0].is_public #=> Boolean
1413
- # 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"
1421
+ # 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"
1414
1422
  # resp.findings[0].created_at #=> Time
1415
1423
  # resp.findings[0].change_type #=> String, one of "CHANGED", "NEW", "UNCHANGED"
1416
1424
  # resp.findings[0].status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
@@ -1512,7 +1520,7 @@ module Aws::AccessAnalyzer
1512
1520
  #
1513
1521
  # resp = client.list_analyzed_resources({
1514
1522
  # analyzer_arn: "AnalyzerArn", # required
1515
- # 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
1523
+ # 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
1516
1524
  # next_token: "Token",
1517
1525
  # max_results: 1,
1518
1526
  # })
@@ -1522,7 +1530,7 @@ module Aws::AccessAnalyzer
1522
1530
  # resp.analyzed_resources #=> Array
1523
1531
  # resp.analyzed_resources[0].resource_arn #=> String
1524
1532
  # resp.analyzed_resources[0].resource_owner_account #=> String
1525
- # 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"
1533
+ # 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"
1526
1534
  # resp.next_token #=> String
1527
1535
  #
1528
1536
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzedResources AWS API Documentation
@@ -1706,7 +1714,7 @@ module Aws::AccessAnalyzer
1706
1714
  # resp.findings[0].action[0] #=> String
1707
1715
  # resp.findings[0].resource #=> String
1708
1716
  # resp.findings[0].is_public #=> Boolean
1709
- # 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"
1717
+ # 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"
1710
1718
  # resp.findings[0].condition #=> Hash
1711
1719
  # resp.findings[0].condition["String"] #=> String
1712
1720
  # resp.findings[0].created_at #=> Time
@@ -1798,7 +1806,7 @@ module Aws::AccessAnalyzer
1798
1806
  # resp.findings[0].error #=> String
1799
1807
  # resp.findings[0].id #=> String
1800
1808
  # resp.findings[0].resource #=> String
1801
- # 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"
1809
+ # 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"
1802
1810
  # resp.findings[0].resource_owner_account #=> String
1803
1811
  # resp.findings[0].status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
1804
1812
  # resp.findings[0].updated_at #=> Time
@@ -2196,7 +2204,7 @@ module Aws::AccessAnalyzer
2196
2204
  # next_token: "Token",
2197
2205
  # policy_document: "PolicyDocument", # required
2198
2206
  # policy_type: "IDENTITY_POLICY", # required, accepts IDENTITY_POLICY, RESOURCE_POLICY, SERVICE_CONTROL_POLICY
2199
- # validate_policy_resource_type: "AWS::S3::Bucket", # accepts AWS::S3::Bucket, AWS::S3::AccessPoint, AWS::S3::MultiRegionAccessPoint, AWS::S3ObjectLambda::AccessPoint, AWS::IAM::AssumeRolePolicyDocument
2207
+ # validate_policy_resource_type: "AWS::S3::Bucket", # accepts AWS::S3::Bucket, AWS::S3::AccessPoint, AWS::S3::MultiRegionAccessPoint, AWS::S3ObjectLambda::AccessPoint, AWS::IAM::AssumeRolePolicyDocument, AWS::DynamoDB::Table
2200
2208
  # })
2201
2209
  #
2202
2210
  # @example Response structure
@@ -2243,7 +2251,7 @@ module Aws::AccessAnalyzer
2243
2251
  params: params,
2244
2252
  config: config)
2245
2253
  context[:gem_name] = 'aws-sdk-accessanalyzer'
2246
- context[:gem_version] = '1.46.0'
2254
+ context[:gem_version] = '1.47.0'
2247
2255
  Seahorse::Client::Request.new(handlers, context)
2248
2256
  end
2249
2257
 
@@ -73,6 +73,10 @@ module Aws::AccessAnalyzer
73
73
  Criterion = Shapes::StructureShape.new(name: 'Criterion')
74
74
  DeleteAnalyzerRequest = Shapes::StructureShape.new(name: 'DeleteAnalyzerRequest')
75
75
  DeleteArchiveRuleRequest = Shapes::StructureShape.new(name: 'DeleteArchiveRuleRequest')
76
+ DynamodbStreamConfiguration = Shapes::StructureShape.new(name: 'DynamodbStreamConfiguration')
77
+ DynamodbStreamPolicy = Shapes::StringShape.new(name: 'DynamodbStreamPolicy')
78
+ DynamodbTableConfiguration = Shapes::StructureShape.new(name: 'DynamodbTableConfiguration')
79
+ DynamodbTablePolicy = Shapes::StringShape.new(name: 'DynamodbTablePolicy')
76
80
  EbsGroup = Shapes::StringShape.new(name: 'EbsGroup')
77
81
  EbsGroupList = Shapes::ListShape.new(name: 'EbsGroupList')
78
82
  EbsSnapshotConfiguration = Shapes::StructureShape.new(name: 'EbsSnapshotConfiguration')
@@ -434,6 +438,8 @@ module Aws::AccessAnalyzer
434
438
  Configuration.add_member(:sns_topic, Shapes::ShapeRef.new(shape: SnsTopicConfiguration, location_name: "snsTopic"))
435
439
  Configuration.add_member(:sqs_queue, Shapes::ShapeRef.new(shape: SqsQueueConfiguration, location_name: "sqsQueue"))
436
440
  Configuration.add_member(:s3_express_directory_bucket, Shapes::ShapeRef.new(shape: S3ExpressDirectoryBucketConfiguration, location_name: "s3ExpressDirectoryBucket"))
441
+ Configuration.add_member(:dynamodb_stream, Shapes::ShapeRef.new(shape: DynamodbStreamConfiguration, location_name: "dynamodbStream"))
442
+ Configuration.add_member(:dynamodb_table, Shapes::ShapeRef.new(shape: DynamodbTableConfiguration, location_name: "dynamodbTable"))
437
443
  Configuration.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
438
444
  Configuration.add_member_subclass(:ebs_snapshot, Types::Configuration::EbsSnapshot)
439
445
  Configuration.add_member_subclass(:ecr_repository, Types::Configuration::EcrRepository)
@@ -447,6 +453,8 @@ module Aws::AccessAnalyzer
447
453
  Configuration.add_member_subclass(:sns_topic, Types::Configuration::SnsTopic)
448
454
  Configuration.add_member_subclass(:sqs_queue, Types::Configuration::SqsQueue)
449
455
  Configuration.add_member_subclass(:s3_express_directory_bucket, Types::Configuration::S3ExpressDirectoryBucket)
456
+ Configuration.add_member_subclass(:dynamodb_stream, Types::Configuration::DynamodbStream)
457
+ Configuration.add_member_subclass(:dynamodb_table, Types::Configuration::DynamodbTable)
450
458
  Configuration.add_member_subclass(:unknown, Types::Configuration::Unknown)
451
459
  Configuration.struct_class = Types::Configuration
452
460
 
@@ -498,6 +506,12 @@ module Aws::AccessAnalyzer
498
506
  DeleteArchiveRuleRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location: "querystring", location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
499
507
  DeleteArchiveRuleRequest.struct_class = Types::DeleteArchiveRuleRequest
500
508
 
509
+ DynamodbStreamConfiguration.add_member(:stream_policy, Shapes::ShapeRef.new(shape: DynamodbStreamPolicy, location_name: "streamPolicy"))
510
+ DynamodbStreamConfiguration.struct_class = Types::DynamodbStreamConfiguration
511
+
512
+ DynamodbTableConfiguration.add_member(:table_policy, Shapes::ShapeRef.new(shape: DynamodbTablePolicy, location_name: "tablePolicy"))
513
+ DynamodbTableConfiguration.struct_class = Types::DynamodbTableConfiguration
514
+
501
515
  EbsGroupList.member = Shapes::ShapeRef.new(shape: EbsGroup)
502
516
 
503
517
  EbsSnapshotConfiguration.add_member(:user_ids, Shapes::ShapeRef.new(shape: EbsUserIdList, location_name: "userIds"))
@@ -806,6 +806,14 @@ module Aws::AccessAnalyzer
806
806
  # bucket.
807
807
  # @return [Types::S3ExpressDirectoryBucketConfiguration]
808
808
  #
809
+ # @!attribute [rw] dynamodb_stream
810
+ # The access control configuration is for a DynamoDB stream.
811
+ # @return [Types::DynamodbStreamConfiguration]
812
+ #
813
+ # @!attribute [rw] dynamodb_table
814
+ # The access control configuration is for a DynamoDB table or index.
815
+ # @return [Types::DynamodbTableConfiguration]
816
+ #
809
817
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/Configuration AWS API Documentation
810
818
  #
811
819
  class Configuration < Struct.new(
@@ -821,6 +829,8 @@ module Aws::AccessAnalyzer
821
829
  :sns_topic,
822
830
  :sqs_queue,
823
831
  :s3_express_directory_bucket,
832
+ :dynamodb_stream,
833
+ :dynamodb_table,
824
834
  :unknown)
825
835
  SENSITIVE = []
826
836
  include Aws::Structure
@@ -838,6 +848,8 @@ module Aws::AccessAnalyzer
838
848
  class SnsTopic < Configuration; end
839
849
  class SqsQueue < Configuration; end
840
850
  class S3ExpressDirectoryBucket < Configuration; end
851
+ class DynamodbStream < Configuration; end
852
+ class DynamodbTable < Configuration; end
841
853
  class Unknown < Configuration; end
842
854
  end
843
855
 
@@ -1097,6 +1109,73 @@ module Aws::AccessAnalyzer
1097
1109
  include Aws::Structure
1098
1110
  end
1099
1111
 
1112
+ # The proposed access control configuration for a DynamoDB stream. You
1113
+ # can propose a configuration for a new DynamoDB stream or an existing
1114
+ # DynamoDB stream that you own by specifying the policy for the DynamoDB
1115
+ # stream. For more information, see [PutResourcePolicy][1].
1116
+ #
1117
+ # * If the configuration is for an existing DynamoDB stream and you do
1118
+ # not specify the DynamoDB policy, then the access preview uses the
1119
+ # existing DynamoDB policy for the stream.
1120
+ #
1121
+ # * If the access preview is for a new resource and you do not specify
1122
+ # the policy, then the access preview assumes a DynamoDB stream
1123
+ # without a policy.
1124
+ #
1125
+ # * To propose deletion of an existing DynamoDB stream policy, you can
1126
+ # specify an empty string for the DynamoDB policy.
1127
+ #
1128
+ #
1129
+ #
1130
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutResourcePolicy.html
1131
+ #
1132
+ # @!attribute [rw] stream_policy
1133
+ # The proposed resource policy defining who can access or manage the
1134
+ # DynamoDB stream.
1135
+ # @return [String]
1136
+ #
1137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/DynamodbStreamConfiguration AWS API Documentation
1138
+ #
1139
+ class DynamodbStreamConfiguration < Struct.new(
1140
+ :stream_policy)
1141
+ SENSITIVE = []
1142
+ include Aws::Structure
1143
+ end
1144
+
1145
+ # The proposed access control configuration for a DynamoDB table or
1146
+ # index. You can propose a configuration for a new DynamoDB table or
1147
+ # index or an existing DynamoDB table or index that you own by
1148
+ # specifying the policy for the DynamoDB table or index. For more
1149
+ # information, see [PutResourcePolicy][1].
1150
+ #
1151
+ # * If the configuration is for an existing DynamoDB table or index and
1152
+ # you do not specify the DynamoDB policy, then the access preview uses
1153
+ # the existing DynamoDB policy for the table or index.
1154
+ #
1155
+ # * If the access preview is for a new resource and you do not specify
1156
+ # the policy, then the access preview assumes a DynamoDB table without
1157
+ # a policy.
1158
+ #
1159
+ # * To propose deletion of an existing DynamoDB table or index policy,
1160
+ # you can specify an empty string for the DynamoDB policy.
1161
+ #
1162
+ #
1163
+ #
1164
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutResourcePolicy.html
1165
+ #
1166
+ # @!attribute [rw] table_policy
1167
+ # The proposed resource policy defining who can access or manage the
1168
+ # DynamoDB table.
1169
+ # @return [String]
1170
+ #
1171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/DynamodbTableConfiguration AWS API Documentation
1172
+ #
1173
+ class DynamodbTableConfiguration < Struct.new(
1174
+ :table_policy)
1175
+ SENSITIVE = []
1176
+ include Aws::Structure
1177
+ end
1178
+
1100
1179
  # The proposed access control configuration for an Amazon EBS volume
1101
1180
  # snapshot. You can propose a configuration for a new Amazon EBS volume
1102
1181
  # snapshot or an Amazon EBS volume snapshot that you own by specifying
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-accessanalyzer/customizations'
52
52
  # @!group service
53
53
  module Aws::AccessAnalyzer
54
54
 
55
- GEM_VERSION = '1.46.0'
55
+ GEM_VERSION = '1.47.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -212,6 +212,12 @@ module Aws
212
212
  }?,
213
213
  s3_express_directory_bucket: {
214
214
  bucket_policy: ::String?
215
+ }?,
216
+ dynamodb_stream: {
217
+ stream_policy: ::String?
218
+ }?,
219
+ dynamodb_table: {
220
+ table_policy: ::String?
215
221
  }?
216
222
  }],
217
223
  ?client_token: ::String
@@ -337,7 +343,7 @@ module Aws
337
343
  def id: () -> ::String
338
344
  def next_token: () -> ::String
339
345
  def resource: () -> ::String
340
- 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")
346
+ 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")
341
347
  def resource_owner_account: () -> ::String
342
348
  def status: () -> ("ACTIVE" | "ARCHIVED" | "RESOLVED")
343
349
  def updated_at: () -> ::Time
@@ -407,7 +413,7 @@ module Aws
407
413
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AccessAnalyzer/Client.html#list_analyzed_resources-instance_method
408
414
  def list_analyzed_resources: (
409
415
  analyzer_arn: ::String,
410
- ?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"),
416
+ ?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"),
411
417
  ?next_token: ::String,
412
418
  ?max_results: ::Integer
413
419
  ) -> _ListAnalyzedResourcesResponseSuccess
@@ -597,7 +603,7 @@ module Aws
597
603
  ?next_token: ::String,
598
604
  policy_document: ::String,
599
605
  policy_type: ("IDENTITY_POLICY" | "RESOURCE_POLICY" | "SERVICE_CONTROL_POLICY"),
600
- ?validate_policy_resource_type: ("AWS::S3::Bucket" | "AWS::S3::AccessPoint" | "AWS::S3::MultiRegionAccessPoint" | "AWS::S3ObjectLambda::AccessPoint" | "AWS::IAM::AssumeRolePolicyDocument")
606
+ ?validate_policy_resource_type: ("AWS::S3::Bucket" | "AWS::S3::AccessPoint" | "AWS::S3::MultiRegionAccessPoint" | "AWS::S3ObjectLambda::AccessPoint" | "AWS::IAM::AssumeRolePolicyDocument" | "AWS::DynamoDB::Table")
601
607
  ) -> _ValidatePolicyResponseSuccess
602
608
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ValidatePolicyResponseSuccess
603
609
  end
data/sig/types.rbs CHANGED
@@ -37,7 +37,7 @@ module Aws::AccessAnalyzer
37
37
  attr_accessor condition: ::Hash[::String, ::String]
38
38
  attr_accessor resource: ::String
39
39
  attr_accessor is_public: bool
40
- 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")
40
+ 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
41
  attr_accessor created_at: ::Time
42
42
  attr_accessor change_type: ("CHANGED" | "NEW" | "UNCHANGED")
43
43
  attr_accessor status: ("ACTIVE" | "ARCHIVED" | "RESOLVED")
@@ -77,7 +77,7 @@ module Aws::AccessAnalyzer
77
77
 
78
78
  class AnalyzedResource
79
79
  attr_accessor resource_arn: ::String
80
- 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")
80
+ 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")
81
81
  attr_accessor created_at: ::Time
82
82
  attr_accessor analyzed_at: ::Time
83
83
  attr_accessor updated_at: ::Time
@@ -93,7 +93,7 @@ module Aws::AccessAnalyzer
93
93
  class AnalyzedResourceSummary
94
94
  attr_accessor resource_arn: ::String
95
95
  attr_accessor resource_owner_account: ::String
96
- 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")
96
+ 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")
97
97
  SENSITIVE: []
98
98
  end
99
99
 
@@ -201,6 +201,8 @@ module Aws::AccessAnalyzer
201
201
  attr_accessor sns_topic: Types::SnsTopicConfiguration
202
202
  attr_accessor sqs_queue: Types::SqsQueueConfiguration
203
203
  attr_accessor s3_express_directory_bucket: Types::S3ExpressDirectoryBucketConfiguration
204
+ attr_accessor dynamodb_stream: Types::DynamodbStreamConfiguration
205
+ attr_accessor dynamodb_table: Types::DynamodbTableConfiguration
204
206
  attr_accessor unknown: untyped
205
207
  SENSITIVE: []
206
208
 
@@ -228,6 +230,10 @@ module Aws::AccessAnalyzer
228
230
  end
229
231
  class S3ExpressDirectoryBucket < Configuration
230
232
  end
233
+ class DynamodbStream < Configuration
234
+ end
235
+ class DynamodbTable < Configuration
236
+ end
231
237
  class Unknown < Configuration
232
238
  end
233
239
  end
@@ -295,6 +301,16 @@ module Aws::AccessAnalyzer
295
301
  SENSITIVE: []
296
302
  end
297
303
 
304
+ class DynamodbStreamConfiguration
305
+ attr_accessor stream_policy: ::String
306
+ SENSITIVE: []
307
+ end
308
+
309
+ class DynamodbTableConfiguration
310
+ attr_accessor table_policy: ::String
311
+ SENSITIVE: []
312
+ end
313
+
298
314
  class EbsSnapshotConfiguration
299
315
  attr_accessor user_ids: ::Array[::String]
300
316
  attr_accessor groups: ::Array[::String]
@@ -327,7 +343,7 @@ module Aws::AccessAnalyzer
327
343
  attr_accessor action: ::Array[::String]
328
344
  attr_accessor resource: ::String
329
345
  attr_accessor is_public: bool
330
- 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")
346
+ 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")
331
347
  attr_accessor condition: ::Hash[::String, ::String]
332
348
  attr_accessor created_at: ::Time
333
349
  attr_accessor analyzed_at: ::Time
@@ -380,7 +396,7 @@ module Aws::AccessAnalyzer
380
396
  attr_accessor action: ::Array[::String]
381
397
  attr_accessor resource: ::String
382
398
  attr_accessor is_public: bool
383
- 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")
399
+ 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")
384
400
  attr_accessor condition: ::Hash[::String, ::String]
385
401
  attr_accessor created_at: ::Time
386
402
  attr_accessor analyzed_at: ::Time
@@ -398,7 +414,7 @@ module Aws::AccessAnalyzer
398
414
  attr_accessor error: ::String
399
415
  attr_accessor id: ::String
400
416
  attr_accessor resource: ::String
401
- 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")
417
+ 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")
402
418
  attr_accessor resource_owner_account: ::String
403
419
  attr_accessor status: ("ACTIVE" | "ARCHIVED" | "RESOLVED")
404
420
  attr_accessor updated_at: ::Time
@@ -493,7 +509,7 @@ module Aws::AccessAnalyzer
493
509
  attr_accessor id: ::String
494
510
  attr_accessor next_token: ::String
495
511
  attr_accessor resource: ::String
496
- 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")
512
+ 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")
497
513
  attr_accessor resource_owner_account: ::String
498
514
  attr_accessor status: ("ACTIVE" | "ARCHIVED" | "RESOLVED")
499
515
  attr_accessor updated_at: ::Time
@@ -606,7 +622,7 @@ module Aws::AccessAnalyzer
606
622
 
607
623
  class ListAnalyzedResourcesRequest
608
624
  attr_accessor analyzer_arn: ::String
609
- 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")
625
+ 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")
610
626
  attr_accessor next_token: ::String
611
627
  attr_accessor max_results: ::Integer
612
628
  SENSITIVE: []
@@ -1012,7 +1028,7 @@ module Aws::AccessAnalyzer
1012
1028
  attr_accessor next_token: ::String
1013
1029
  attr_accessor policy_document: ::String
1014
1030
  attr_accessor policy_type: ("IDENTITY_POLICY" | "RESOURCE_POLICY" | "SERVICE_CONTROL_POLICY")
1015
- attr_accessor validate_policy_resource_type: ("AWS::S3::Bucket" | "AWS::S3::AccessPoint" | "AWS::S3::MultiRegionAccessPoint" | "AWS::S3ObjectLambda::AccessPoint" | "AWS::IAM::AssumeRolePolicyDocument")
1031
+ attr_accessor validate_policy_resource_type: ("AWS::S3::Bucket" | "AWS::S3::AccessPoint" | "AWS::S3::MultiRegionAccessPoint" | "AWS::S3ObjectLambda::AccessPoint" | "AWS::IAM::AssumeRolePolicyDocument" | "AWS::DynamoDB::Table")
1016
1032
  SENSITIVE: []
1017
1033
  end
1018
1034
 
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.46.0
4
+ version: 1.47.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-03-01 00:00:00.000000000 Z
11
+ date: 2024-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core