aws-sdk-accessanalyzer 1.50.0 → 1.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-accessanalyzer/client.rb +356 -5
- data/lib/aws-sdk-accessanalyzer/client_api.rb +116 -2
- data/lib/aws-sdk-accessanalyzer/endpoints.rb +42 -0
- data/lib/aws-sdk-accessanalyzer/plugins/endpoints.rb +6 -0
- data/lib/aws-sdk-accessanalyzer/types.rb +250 -5
- data/lib/aws-sdk-accessanalyzer.rb +1 -1
- data/sig/client.rbs +41 -1
- data/sig/types.rbs +66 -1
- metadata +4 -4
@@ -17,6 +17,7 @@ module Aws::AccessAnalyzer
|
|
17
17
|
AccessActionsList = Shapes::ListShape.new(name: 'AccessActionsList')
|
18
18
|
AccessCheckPolicyDocument = Shapes::StringShape.new(name: 'AccessCheckPolicyDocument')
|
19
19
|
AccessCheckPolicyType = Shapes::StringShape.new(name: 'AccessCheckPolicyType')
|
20
|
+
AccessCheckResourceType = Shapes::StringShape.new(name: 'AccessCheckResourceType')
|
20
21
|
AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
|
21
22
|
AccessPointArn = Shapes::StringShape.new(name: 'AccessPointArn')
|
22
23
|
AccessPointPolicy = Shapes::StringShape.new(name: 'AccessPointPolicy')
|
@@ -30,6 +31,7 @@ module Aws::AccessAnalyzer
|
|
30
31
|
AccessPreviewStatusReasonCode = Shapes::StringShape.new(name: 'AccessPreviewStatusReasonCode')
|
31
32
|
AccessPreviewSummary = Shapes::StructureShape.new(name: 'AccessPreviewSummary')
|
32
33
|
AccessPreviewsList = Shapes::ListShape.new(name: 'AccessPreviewsList')
|
34
|
+
AccessResourcesList = Shapes::ListShape.new(name: 'AccessResourcesList')
|
33
35
|
AclCanonicalId = Shapes::StringShape.new(name: 'AclCanonicalId')
|
34
36
|
AclGrantee = Shapes::UnionShape.new(name: 'AclGrantee')
|
35
37
|
AclPermission = Shapes::StringShape.new(name: 'AclPermission')
|
@@ -57,6 +59,9 @@ module Aws::AccessAnalyzer
|
|
57
59
|
CheckNoNewAccessRequest = Shapes::StructureShape.new(name: 'CheckNoNewAccessRequest')
|
58
60
|
CheckNoNewAccessResponse = Shapes::StructureShape.new(name: 'CheckNoNewAccessResponse')
|
59
61
|
CheckNoNewAccessResult = Shapes::StringShape.new(name: 'CheckNoNewAccessResult')
|
62
|
+
CheckNoPublicAccessRequest = Shapes::StructureShape.new(name: 'CheckNoPublicAccessRequest')
|
63
|
+
CheckNoPublicAccessResponse = Shapes::StructureShape.new(name: 'CheckNoPublicAccessResponse')
|
64
|
+
CheckNoPublicAccessResult = Shapes::StringShape.new(name: 'CheckNoPublicAccessResult')
|
60
65
|
CloudTrailArn = Shapes::StringShape.new(name: 'CloudTrailArn')
|
61
66
|
CloudTrailDetails = Shapes::StructureShape.new(name: 'CloudTrailDetails')
|
62
67
|
CloudTrailProperties = Shapes::StructureShape.new(name: 'CloudTrailProperties')
|
@@ -106,6 +111,8 @@ module Aws::AccessAnalyzer
|
|
106
111
|
FindingType = Shapes::StringShape.new(name: 'FindingType')
|
107
112
|
FindingsList = Shapes::ListShape.new(name: 'FindingsList')
|
108
113
|
FindingsListV2 = Shapes::ListShape.new(name: 'FindingsListV2')
|
114
|
+
GenerateFindingRecommendationRequest = Shapes::StructureShape.new(name: 'GenerateFindingRecommendationRequest')
|
115
|
+
GenerateFindingRecommendationRequestIdString = Shapes::StringShape.new(name: 'GenerateFindingRecommendationRequestIdString')
|
109
116
|
GeneratedPolicy = Shapes::StructureShape.new(name: 'GeneratedPolicy')
|
110
117
|
GeneratedPolicyList = Shapes::ListShape.new(name: 'GeneratedPolicyList')
|
111
118
|
GeneratedPolicyProperties = Shapes::StructureShape.new(name: 'GeneratedPolicyProperties')
|
@@ -118,6 +125,10 @@ module Aws::AccessAnalyzer
|
|
118
125
|
GetAnalyzerResponse = Shapes::StructureShape.new(name: 'GetAnalyzerResponse')
|
119
126
|
GetArchiveRuleRequest = Shapes::StructureShape.new(name: 'GetArchiveRuleRequest')
|
120
127
|
GetArchiveRuleResponse = Shapes::StructureShape.new(name: 'GetArchiveRuleResponse')
|
128
|
+
GetFindingRecommendationRequest = Shapes::StructureShape.new(name: 'GetFindingRecommendationRequest')
|
129
|
+
GetFindingRecommendationRequestIdString = Shapes::StringShape.new(name: 'GetFindingRecommendationRequestIdString')
|
130
|
+
GetFindingRecommendationRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'GetFindingRecommendationRequestMaxResultsInteger')
|
131
|
+
GetFindingRecommendationResponse = Shapes::StructureShape.new(name: 'GetFindingRecommendationResponse')
|
121
132
|
GetFindingRequest = Shapes::StructureShape.new(name: 'GetFindingRequest')
|
122
133
|
GetFindingResponse = Shapes::StructureShape.new(name: 'GetFindingResponse')
|
123
134
|
GetFindingV2Request = Shapes::StructureShape.new(name: 'GetFindingV2Request')
|
@@ -205,7 +216,13 @@ module Aws::AccessAnalyzer
|
|
205
216
|
ReasonCode = Shapes::StringShape.new(name: 'ReasonCode')
|
206
217
|
ReasonSummary = Shapes::StructureShape.new(name: 'ReasonSummary')
|
207
218
|
ReasonSummaryList = Shapes::ListShape.new(name: 'ReasonSummaryList')
|
219
|
+
RecommendationError = Shapes::StructureShape.new(name: 'RecommendationError')
|
220
|
+
RecommendationType = Shapes::StringShape.new(name: 'RecommendationType')
|
221
|
+
RecommendedRemediationAction = Shapes::StringShape.new(name: 'RecommendedRemediationAction')
|
222
|
+
RecommendedStep = Shapes::UnionShape.new(name: 'RecommendedStep')
|
223
|
+
RecommendedStepList = Shapes::ListShape.new(name: 'RecommendedStepList')
|
208
224
|
RegionList = Shapes::ListShape.new(name: 'RegionList')
|
225
|
+
Resource = Shapes::StringShape.new(name: 'Resource')
|
209
226
|
ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
|
210
227
|
ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
|
211
228
|
ResourceType = Shapes::StringShape.new(name: 'ResourceType')
|
@@ -234,6 +251,7 @@ module Aws::AccessAnalyzer
|
|
234
251
|
StartPolicyGenerationRequest = Shapes::StructureShape.new(name: 'StartPolicyGenerationRequest')
|
235
252
|
StartPolicyGenerationResponse = Shapes::StructureShape.new(name: 'StartPolicyGenerationResponse')
|
236
253
|
StartResourceScanRequest = Shapes::StructureShape.new(name: 'StartResourceScanRequest')
|
254
|
+
Status = Shapes::StringShape.new(name: 'Status')
|
237
255
|
StatusReason = Shapes::StructureShape.new(name: 'StatusReason')
|
238
256
|
String = Shapes::StringShape.new(name: 'String')
|
239
257
|
Substring = Shapes::StructureShape.new(name: 'Substring')
|
@@ -259,6 +277,7 @@ module Aws::AccessAnalyzer
|
|
259
277
|
UnusedIamUserAccessKeyDetails = Shapes::StructureShape.new(name: 'UnusedIamUserAccessKeyDetails')
|
260
278
|
UnusedIamUserPasswordDetails = Shapes::StructureShape.new(name: 'UnusedIamUserPasswordDetails')
|
261
279
|
UnusedPermissionDetails = Shapes::StructureShape.new(name: 'UnusedPermissionDetails')
|
280
|
+
UnusedPermissionsRecommendedStep = Shapes::StructureShape.new(name: 'UnusedPermissionsRecommendedStep')
|
262
281
|
UpdateArchiveRuleRequest = Shapes::StructureShape.new(name: 'UpdateArchiveRuleRequest')
|
263
282
|
UpdateFindingsRequest = Shapes::StructureShape.new(name: 'UpdateFindingsRequest')
|
264
283
|
ValidatePolicyFinding = Shapes::StructureShape.new(name: 'ValidatePolicyFinding')
|
@@ -275,7 +294,8 @@ module Aws::AccessAnalyzer
|
|
275
294
|
VpcConfiguration = Shapes::StructureShape.new(name: 'VpcConfiguration')
|
276
295
|
VpcId = Shapes::StringShape.new(name: 'VpcId')
|
277
296
|
|
278
|
-
Access.add_member(:actions, Shapes::ShapeRef.new(shape: AccessActionsList,
|
297
|
+
Access.add_member(:actions, Shapes::ShapeRef.new(shape: AccessActionsList, location_name: "actions"))
|
298
|
+
Access.add_member(:resources, Shapes::ShapeRef.new(shape: AccessResourcesList, location_name: "resources"))
|
279
299
|
Access.struct_class = Types::Access
|
280
300
|
|
281
301
|
AccessActionsList.member = Shapes::ShapeRef.new(shape: Action)
|
@@ -322,6 +342,8 @@ module Aws::AccessAnalyzer
|
|
322
342
|
|
323
343
|
AccessPreviewsList.member = Shapes::ShapeRef.new(shape: AccessPreviewSummary)
|
324
344
|
|
345
|
+
AccessResourcesList.member = Shapes::ShapeRef.new(shape: Resource)
|
346
|
+
|
325
347
|
AclGrantee.add_member(:id, Shapes::ShapeRef.new(shape: AclCanonicalId, location_name: "id"))
|
326
348
|
AclGrantee.add_member(:uri, Shapes::ShapeRef.new(shape: AclUri, location_name: "uri"))
|
327
349
|
AclGrantee.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
|
@@ -412,6 +434,15 @@ module Aws::AccessAnalyzer
|
|
412
434
|
CheckNoNewAccessResponse.add_member(:reasons, Shapes::ShapeRef.new(shape: ReasonSummaryList, location_name: "reasons"))
|
413
435
|
CheckNoNewAccessResponse.struct_class = Types::CheckNoNewAccessResponse
|
414
436
|
|
437
|
+
CheckNoPublicAccessRequest.add_member(:policy_document, Shapes::ShapeRef.new(shape: AccessCheckPolicyDocument, required: true, location_name: "policyDocument"))
|
438
|
+
CheckNoPublicAccessRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: AccessCheckResourceType, required: true, location_name: "resourceType"))
|
439
|
+
CheckNoPublicAccessRequest.struct_class = Types::CheckNoPublicAccessRequest
|
440
|
+
|
441
|
+
CheckNoPublicAccessResponse.add_member(:result, Shapes::ShapeRef.new(shape: CheckNoPublicAccessResult, location_name: "result"))
|
442
|
+
CheckNoPublicAccessResponse.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
|
443
|
+
CheckNoPublicAccessResponse.add_member(:reasons, Shapes::ShapeRef.new(shape: ReasonSummaryList, location_name: "reasons"))
|
444
|
+
CheckNoPublicAccessResponse.struct_class = Types::CheckNoPublicAccessResponse
|
445
|
+
|
415
446
|
CloudTrailDetails.add_member(:trails, Shapes::ShapeRef.new(shape: TrailList, required: true, location_name: "trails"))
|
416
447
|
CloudTrailDetails.add_member(:access_role, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "accessRole"))
|
417
448
|
CloudTrailDetails.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "startTime"))
|
@@ -613,6 +644,10 @@ module Aws::AccessAnalyzer
|
|
613
644
|
|
614
645
|
FindingsListV2.member = Shapes::ShapeRef.new(shape: FindingSummaryV2)
|
615
646
|
|
647
|
+
GenerateFindingRecommendationRequest.add_member(:analyzer_arn, Shapes::ShapeRef.new(shape: AnalyzerArn, required: true, location: "querystring", location_name: "analyzerArn"))
|
648
|
+
GenerateFindingRecommendationRequest.add_member(:id, Shapes::ShapeRef.new(shape: GenerateFindingRecommendationRequestIdString, required: true, location: "uri", location_name: "id"))
|
649
|
+
GenerateFindingRecommendationRequest.struct_class = Types::GenerateFindingRecommendationRequest
|
650
|
+
|
616
651
|
GeneratedPolicy.add_member(:policy, Shapes::ShapeRef.new(shape: String, required: true, location_name: "policy"))
|
617
652
|
GeneratedPolicy.struct_class = Types::GeneratedPolicy
|
618
653
|
|
@@ -654,6 +689,22 @@ module Aws::AccessAnalyzer
|
|
654
689
|
GetArchiveRuleResponse.add_member(:archive_rule, Shapes::ShapeRef.new(shape: ArchiveRuleSummary, required: true, location_name: "archiveRule"))
|
655
690
|
GetArchiveRuleResponse.struct_class = Types::GetArchiveRuleResponse
|
656
691
|
|
692
|
+
GetFindingRecommendationRequest.add_member(:analyzer_arn, Shapes::ShapeRef.new(shape: AnalyzerArn, required: true, location: "querystring", location_name: "analyzerArn"))
|
693
|
+
GetFindingRecommendationRequest.add_member(:id, Shapes::ShapeRef.new(shape: GetFindingRecommendationRequestIdString, required: true, location: "uri", location_name: "id"))
|
694
|
+
GetFindingRecommendationRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: GetFindingRecommendationRequestMaxResultsInteger, location: "querystring", location_name: "maxResults"))
|
695
|
+
GetFindingRecommendationRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "nextToken"))
|
696
|
+
GetFindingRecommendationRequest.struct_class = Types::GetFindingRecommendationRequest
|
697
|
+
|
698
|
+
GetFindingRecommendationResponse.add_member(:started_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "startedAt"))
|
699
|
+
GetFindingRecommendationResponse.add_member(:completed_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "completedAt"))
|
700
|
+
GetFindingRecommendationResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "nextToken"))
|
701
|
+
GetFindingRecommendationResponse.add_member(:error, Shapes::ShapeRef.new(shape: RecommendationError, location_name: "error"))
|
702
|
+
GetFindingRecommendationResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
|
703
|
+
GetFindingRecommendationResponse.add_member(:recommended_steps, Shapes::ShapeRef.new(shape: RecommendedStepList, location_name: "recommendedSteps"))
|
704
|
+
GetFindingRecommendationResponse.add_member(:recommendation_type, Shapes::ShapeRef.new(shape: RecommendationType, required: true, location_name: "recommendationType"))
|
705
|
+
GetFindingRecommendationResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, required: true, location_name: "status"))
|
706
|
+
GetFindingRecommendationResponse.struct_class = Types::GetFindingRecommendationResponse
|
707
|
+
|
657
708
|
GetFindingRequest.add_member(:analyzer_arn, Shapes::ShapeRef.new(shape: AnalyzerArn, required: true, location: "querystring", location_name: "analyzerArn"))
|
658
709
|
GetFindingRequest.add_member(:id, Shapes::ShapeRef.new(shape: FindingId, required: true, location: "uri", location_name: "id"))
|
659
710
|
GetFindingRequest.struct_class = Types::GetFindingRequest
|
@@ -914,6 +965,18 @@ module Aws::AccessAnalyzer
|
|
914
965
|
|
915
966
|
ReasonSummaryList.member = Shapes::ShapeRef.new(shape: ReasonSummary)
|
916
967
|
|
968
|
+
RecommendationError.add_member(:code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "code"))
|
969
|
+
RecommendationError.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
|
970
|
+
RecommendationError.struct_class = Types::RecommendationError
|
971
|
+
|
972
|
+
RecommendedStep.add_member(:unused_permissions_recommended_step, Shapes::ShapeRef.new(shape: UnusedPermissionsRecommendedStep, location_name: "unusedPermissionsRecommendedStep"))
|
973
|
+
RecommendedStep.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
|
974
|
+
RecommendedStep.add_member_subclass(:unused_permissions_recommended_step, Types::RecommendedStep::UnusedPermissionsRecommendedStep)
|
975
|
+
RecommendedStep.add_member_subclass(:unknown, Types::RecommendedStep::Unknown)
|
976
|
+
RecommendedStep.struct_class = Types::RecommendedStep
|
977
|
+
|
978
|
+
RecommendedStepList.member = Shapes::ShapeRef.new(shape: RecommendedStep)
|
979
|
+
|
917
980
|
RegionList.member = Shapes::ShapeRef.new(shape: String)
|
918
981
|
|
919
982
|
ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
|
@@ -1055,6 +1118,12 @@ module Aws::AccessAnalyzer
|
|
1055
1118
|
UnusedPermissionDetails.add_member(:last_accessed, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastAccessed"))
|
1056
1119
|
UnusedPermissionDetails.struct_class = Types::UnusedPermissionDetails
|
1057
1120
|
|
1121
|
+
UnusedPermissionsRecommendedStep.add_member(:policy_updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "policyUpdatedAt"))
|
1122
|
+
UnusedPermissionsRecommendedStep.add_member(:recommended_action, Shapes::ShapeRef.new(shape: RecommendedRemediationAction, required: true, location_name: "recommendedAction"))
|
1123
|
+
UnusedPermissionsRecommendedStep.add_member(:recommended_policy, Shapes::ShapeRef.new(shape: String, location_name: "recommendedPolicy"))
|
1124
|
+
UnusedPermissionsRecommendedStep.add_member(:existing_policy_id, Shapes::ShapeRef.new(shape: String, location_name: "existingPolicyId"))
|
1125
|
+
UnusedPermissionsRecommendedStep.struct_class = Types::UnusedPermissionsRecommendedStep
|
1126
|
+
|
1058
1127
|
UpdateArchiveRuleRequest.add_member(:analyzer_name, Shapes::ShapeRef.new(shape: Name, required: true, location: "uri", location_name: "analyzerName"))
|
1059
1128
|
UpdateArchiveRuleRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: Name, required: true, location: "uri", location_name: "ruleName"))
|
1060
1129
|
UpdateArchiveRuleRequest.add_member(:filter, Shapes::ShapeRef.new(shape: FilterCriteriaMap, required: true, location_name: "filter"))
|
@@ -1114,8 +1183,8 @@ module Aws::AccessAnalyzer
|
|
1114
1183
|
api.metadata = {
|
1115
1184
|
"apiVersion" => "2019-11-01",
|
1116
1185
|
"endpointPrefix" => "access-analyzer",
|
1117
|
-
"jsonVersion" => "1.1",
|
1118
1186
|
"protocol" => "rest-json",
|
1187
|
+
"protocols" => ["rest-json"],
|
1119
1188
|
"serviceFullName" => "Access Analyzer",
|
1120
1189
|
"serviceId" => "AccessAnalyzer",
|
1121
1190
|
"signatureVersion" => "v4",
|
@@ -1176,6 +1245,20 @@ module Aws::AccessAnalyzer
|
|
1176
1245
|
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1177
1246
|
end)
|
1178
1247
|
|
1248
|
+
api.add_operation(:check_no_public_access, Seahorse::Model::Operation.new.tap do |o|
|
1249
|
+
o.name = "CheckNoPublicAccess"
|
1250
|
+
o.http_method = "POST"
|
1251
|
+
o.http_request_uri = "/policy/check-no-public-access"
|
1252
|
+
o.input = Shapes::ShapeRef.new(shape: CheckNoPublicAccessRequest)
|
1253
|
+
o.output = Shapes::ShapeRef.new(shape: CheckNoPublicAccessResponse)
|
1254
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
1255
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
1256
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
|
1257
|
+
o.errors << Shapes::ShapeRef.new(shape: UnprocessableEntityException)
|
1258
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
1259
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1260
|
+
end)
|
1261
|
+
|
1179
1262
|
api.add_operation(:create_access_preview, Seahorse::Model::Operation.new.tap do |o|
|
1180
1263
|
o.name = "CreateAccessPreview"
|
1181
1264
|
o.http_method = "PUT"
|
@@ -1246,6 +1329,18 @@ module Aws::AccessAnalyzer
|
|
1246
1329
|
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1247
1330
|
end)
|
1248
1331
|
|
1332
|
+
api.add_operation(:generate_finding_recommendation, Seahorse::Model::Operation.new.tap do |o|
|
1333
|
+
o.name = "GenerateFindingRecommendation"
|
1334
|
+
o.http_method = "POST"
|
1335
|
+
o.http_request_uri = "/recommendation/{id}"
|
1336
|
+
o.input = Shapes::ShapeRef.new(shape: GenerateFindingRecommendationRequest)
|
1337
|
+
o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
|
1338
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
1339
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
1340
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
1341
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1342
|
+
end)
|
1343
|
+
|
1249
1344
|
api.add_operation(:get_access_preview, Seahorse::Model::Operation.new.tap do |o|
|
1250
1345
|
o.name = "GetAccessPreview"
|
1251
1346
|
o.http_method = "GET"
|
@@ -1311,6 +1406,25 @@ module Aws::AccessAnalyzer
|
|
1311
1406
|
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1312
1407
|
end)
|
1313
1408
|
|
1409
|
+
api.add_operation(:get_finding_recommendation, Seahorse::Model::Operation.new.tap do |o|
|
1410
|
+
o.name = "GetFindingRecommendation"
|
1411
|
+
o.http_method = "GET"
|
1412
|
+
o.http_request_uri = "/recommendation/{id}"
|
1413
|
+
o.input = Shapes::ShapeRef.new(shape: GetFindingRecommendationRequest)
|
1414
|
+
o.output = Shapes::ShapeRef.new(shape: GetFindingRecommendationResponse)
|
1415
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
1416
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
1417
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
1418
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
1419
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1420
|
+
o[:pager] = Aws::Pager.new(
|
1421
|
+
limit_key: "max_results",
|
1422
|
+
tokens: {
|
1423
|
+
"next_token" => "next_token"
|
1424
|
+
}
|
1425
|
+
)
|
1426
|
+
end)
|
1427
|
+
|
1314
1428
|
api.add_operation(:get_finding_v2, Seahorse::Model::Operation.new.tap do |o|
|
1315
1429
|
o.name = "GetFindingV2"
|
1316
1430
|
o.http_method = "GET"
|
@@ -68,6 +68,20 @@ module Aws::AccessAnalyzer
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
|
+
class CheckNoPublicAccess
|
72
|
+
def self.build(context)
|
73
|
+
unless context.config.regional_endpoint
|
74
|
+
endpoint = context.config.endpoint.to_s
|
75
|
+
end
|
76
|
+
Aws::AccessAnalyzer::EndpointParameters.new(
|
77
|
+
region: context.config.region,
|
78
|
+
use_dual_stack: context.config.use_dualstack_endpoint,
|
79
|
+
use_fips: context.config.use_fips_endpoint,
|
80
|
+
endpoint: endpoint,
|
81
|
+
)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
71
85
|
class CreateAccessPreview
|
72
86
|
def self.build(context)
|
73
87
|
unless context.config.regional_endpoint
|
@@ -138,6 +152,20 @@ module Aws::AccessAnalyzer
|
|
138
152
|
end
|
139
153
|
end
|
140
154
|
|
155
|
+
class GenerateFindingRecommendation
|
156
|
+
def self.build(context)
|
157
|
+
unless context.config.regional_endpoint
|
158
|
+
endpoint = context.config.endpoint.to_s
|
159
|
+
end
|
160
|
+
Aws::AccessAnalyzer::EndpointParameters.new(
|
161
|
+
region: context.config.region,
|
162
|
+
use_dual_stack: context.config.use_dualstack_endpoint,
|
163
|
+
use_fips: context.config.use_fips_endpoint,
|
164
|
+
endpoint: endpoint,
|
165
|
+
)
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
141
169
|
class GetAccessPreview
|
142
170
|
def self.build(context)
|
143
171
|
unless context.config.regional_endpoint
|
@@ -208,6 +236,20 @@ module Aws::AccessAnalyzer
|
|
208
236
|
end
|
209
237
|
end
|
210
238
|
|
239
|
+
class GetFindingRecommendation
|
240
|
+
def self.build(context)
|
241
|
+
unless context.config.regional_endpoint
|
242
|
+
endpoint = context.config.endpoint.to_s
|
243
|
+
end
|
244
|
+
Aws::AccessAnalyzer::EndpointParameters.new(
|
245
|
+
region: context.config.region,
|
246
|
+
use_dual_stack: context.config.use_dualstack_endpoint,
|
247
|
+
use_fips: context.config.use_fips_endpoint,
|
248
|
+
endpoint: endpoint,
|
249
|
+
)
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
211
253
|
class GetFindingV2
|
212
254
|
def self.build(context)
|
213
255
|
unless context.config.regional_endpoint
|
@@ -66,6 +66,8 @@ module Aws::AccessAnalyzer
|
|
66
66
|
Aws::AccessAnalyzer::Endpoints::CheckAccessNotGranted.build(context)
|
67
67
|
when :check_no_new_access
|
68
68
|
Aws::AccessAnalyzer::Endpoints::CheckNoNewAccess.build(context)
|
69
|
+
when :check_no_public_access
|
70
|
+
Aws::AccessAnalyzer::Endpoints::CheckNoPublicAccess.build(context)
|
69
71
|
when :create_access_preview
|
70
72
|
Aws::AccessAnalyzer::Endpoints::CreateAccessPreview.build(context)
|
71
73
|
when :create_analyzer
|
@@ -76,6 +78,8 @@ module Aws::AccessAnalyzer
|
|
76
78
|
Aws::AccessAnalyzer::Endpoints::DeleteAnalyzer.build(context)
|
77
79
|
when :delete_archive_rule
|
78
80
|
Aws::AccessAnalyzer::Endpoints::DeleteArchiveRule.build(context)
|
81
|
+
when :generate_finding_recommendation
|
82
|
+
Aws::AccessAnalyzer::Endpoints::GenerateFindingRecommendation.build(context)
|
79
83
|
when :get_access_preview
|
80
84
|
Aws::AccessAnalyzer::Endpoints::GetAccessPreview.build(context)
|
81
85
|
when :get_analyzed_resource
|
@@ -86,6 +90,8 @@ module Aws::AccessAnalyzer
|
|
86
90
|
Aws::AccessAnalyzer::Endpoints::GetArchiveRule.build(context)
|
87
91
|
when :get_finding
|
88
92
|
Aws::AccessAnalyzer::Endpoints::GetFinding.build(context)
|
93
|
+
when :get_finding_recommendation
|
94
|
+
Aws::AccessAnalyzer::Endpoints::GetFindingRecommendation.build(context)
|
89
95
|
when :get_finding_v2
|
90
96
|
Aws::AccessAnalyzer::Endpoints::GetFindingV2.build(context)
|
91
97
|
when :get_generated_policy
|
@@ -10,8 +10,8 @@
|
|
10
10
|
module Aws::AccessAnalyzer
|
11
11
|
module Types
|
12
12
|
|
13
|
-
# Contains information about actions that define
|
14
|
-
# against a policy.
|
13
|
+
# Contains information about actions and resources that define
|
14
|
+
# permissions to check against a policy.
|
15
15
|
#
|
16
16
|
# @!attribute [rw] actions
|
17
17
|
# A list of actions for the access permissions. Any strings that can
|
@@ -19,10 +19,17 @@ module Aws::AccessAnalyzer
|
|
19
19
|
# actions to check.
|
20
20
|
# @return [Array<String>]
|
21
21
|
#
|
22
|
+
# @!attribute [rw] resources
|
23
|
+
# A list of resources for the access permissions. Any strings that can
|
24
|
+
# be used as a resource in an IAM policy can be used in the list of
|
25
|
+
# resources to check.
|
26
|
+
# @return [Array<String>]
|
27
|
+
#
|
22
28
|
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/Access AWS API Documentation
|
23
29
|
#
|
24
30
|
class Access < Struct.new(
|
25
|
-
:actions
|
31
|
+
:actions,
|
32
|
+
:resources)
|
26
33
|
SENSITIVE = []
|
27
34
|
include Aws::Structure
|
28
35
|
end
|
@@ -575,7 +582,13 @@ module Aws::AccessAnalyzer
|
|
575
582
|
#
|
576
583
|
# @!attribute [rw] access
|
577
584
|
# An access object containing the permissions that shouldn't be
|
578
|
-
# granted by the specified policy.
|
585
|
+
# granted by the specified policy. If only actions are specified, IAM
|
586
|
+
# Access Analyzer checks for access of the actions on all resources in
|
587
|
+
# the policy. If only resources are specified, then IAM Access
|
588
|
+
# Analyzer checks which actions have access to the specified
|
589
|
+
# resources. If both actions and resources are specified, then IAM
|
590
|
+
# Access Analyzer checks which of the specified actions have access to
|
591
|
+
# the specified resources.
|
579
592
|
# @return [Array<Types::Access>]
|
580
593
|
#
|
581
594
|
# @!attribute [rw] policy_type
|
@@ -682,6 +695,55 @@ module Aws::AccessAnalyzer
|
|
682
695
|
include Aws::Structure
|
683
696
|
end
|
684
697
|
|
698
|
+
# @!attribute [rw] policy_document
|
699
|
+
# The JSON policy document to evaluate for public access.
|
700
|
+
# @return [String]
|
701
|
+
#
|
702
|
+
# @!attribute [rw] resource_type
|
703
|
+
# The type of resource to evaluate for public access. For example, to
|
704
|
+
# check for public access to Amazon S3 buckets, you can choose
|
705
|
+
# `AWS::S3::Bucket` for the resource type.
|
706
|
+
#
|
707
|
+
# For resource types not supported as valid values, IAM Access
|
708
|
+
# Analyzer will return an error.
|
709
|
+
# @return [String]
|
710
|
+
#
|
711
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CheckNoPublicAccessRequest AWS API Documentation
|
712
|
+
#
|
713
|
+
class CheckNoPublicAccessRequest < Struct.new(
|
714
|
+
:policy_document,
|
715
|
+
:resource_type)
|
716
|
+
SENSITIVE = [:policy_document]
|
717
|
+
include Aws::Structure
|
718
|
+
end
|
719
|
+
|
720
|
+
# @!attribute [rw] result
|
721
|
+
# The result of the check for public access to the specified resource
|
722
|
+
# type. If the result is `PASS`, the policy doesn't allow public
|
723
|
+
# access to the specified resource type. If the result is `FAIL`, the
|
724
|
+
# policy might allow public access to the specified resource type.
|
725
|
+
# @return [String]
|
726
|
+
#
|
727
|
+
# @!attribute [rw] message
|
728
|
+
# The message indicating whether the specified policy allows public
|
729
|
+
# access to resources.
|
730
|
+
# @return [String]
|
731
|
+
#
|
732
|
+
# @!attribute [rw] reasons
|
733
|
+
# A list of reasons why the specified resource policy grants public
|
734
|
+
# access for the resource type.
|
735
|
+
# @return [Array<Types::ReasonSummary>]
|
736
|
+
#
|
737
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CheckNoPublicAccessResponse AWS API Documentation
|
738
|
+
#
|
739
|
+
class CheckNoPublicAccessResponse < Struct.new(
|
740
|
+
:result,
|
741
|
+
:message,
|
742
|
+
:reasons)
|
743
|
+
SENSITIVE = []
|
744
|
+
include Aws::Structure
|
745
|
+
end
|
746
|
+
|
685
747
|
# Contains information about CloudTrail access.
|
686
748
|
#
|
687
749
|
# @!attribute [rw] trails
|
@@ -1687,6 +1749,28 @@ module Aws::AccessAnalyzer
|
|
1687
1749
|
include Aws::Structure
|
1688
1750
|
end
|
1689
1751
|
|
1752
|
+
# @!attribute [rw] analyzer_arn
|
1753
|
+
# The [ARN of the analyzer][1] used to generate the finding
|
1754
|
+
# recommendation.
|
1755
|
+
#
|
1756
|
+
#
|
1757
|
+
#
|
1758
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
1759
|
+
# @return [String]
|
1760
|
+
#
|
1761
|
+
# @!attribute [rw] id
|
1762
|
+
# The unique ID for the finding recommendation.
|
1763
|
+
# @return [String]
|
1764
|
+
#
|
1765
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GenerateFindingRecommendationRequest AWS API Documentation
|
1766
|
+
#
|
1767
|
+
class GenerateFindingRecommendationRequest < Struct.new(
|
1768
|
+
:analyzer_arn,
|
1769
|
+
:id)
|
1770
|
+
SENSITIVE = []
|
1771
|
+
include Aws::Structure
|
1772
|
+
end
|
1773
|
+
|
1690
1774
|
# Contains the text for the generated policy.
|
1691
1775
|
#
|
1692
1776
|
# @!attribute [rw] policy
|
@@ -1891,6 +1975,88 @@ module Aws::AccessAnalyzer
|
|
1891
1975
|
include Aws::Structure
|
1892
1976
|
end
|
1893
1977
|
|
1978
|
+
# @!attribute [rw] analyzer_arn
|
1979
|
+
# The [ARN of the analyzer][1] used to generate the finding
|
1980
|
+
# recommendation.
|
1981
|
+
#
|
1982
|
+
#
|
1983
|
+
#
|
1984
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
1985
|
+
# @return [String]
|
1986
|
+
#
|
1987
|
+
# @!attribute [rw] id
|
1988
|
+
# The unique ID for the finding recommendation.
|
1989
|
+
# @return [String]
|
1990
|
+
#
|
1991
|
+
# @!attribute [rw] max_results
|
1992
|
+
# The maximum number of results to return in the response.
|
1993
|
+
# @return [Integer]
|
1994
|
+
#
|
1995
|
+
# @!attribute [rw] next_token
|
1996
|
+
# A token used for pagination of results returned.
|
1997
|
+
# @return [String]
|
1998
|
+
#
|
1999
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingRecommendationRequest AWS API Documentation
|
2000
|
+
#
|
2001
|
+
class GetFindingRecommendationRequest < Struct.new(
|
2002
|
+
:analyzer_arn,
|
2003
|
+
:id,
|
2004
|
+
:max_results,
|
2005
|
+
:next_token)
|
2006
|
+
SENSITIVE = []
|
2007
|
+
include Aws::Structure
|
2008
|
+
end
|
2009
|
+
|
2010
|
+
# @!attribute [rw] started_at
|
2011
|
+
# The time at which the retrieval of the finding recommendation was
|
2012
|
+
# started.
|
2013
|
+
# @return [Time]
|
2014
|
+
#
|
2015
|
+
# @!attribute [rw] completed_at
|
2016
|
+
# The time at which the retrieval of the finding recommendation was
|
2017
|
+
# completed.
|
2018
|
+
# @return [Time]
|
2019
|
+
#
|
2020
|
+
# @!attribute [rw] next_token
|
2021
|
+
# A token used for pagination of results returned.
|
2022
|
+
# @return [String]
|
2023
|
+
#
|
2024
|
+
# @!attribute [rw] error
|
2025
|
+
# Detailed information about the reason that the retrieval of a
|
2026
|
+
# recommendation for the finding failed.
|
2027
|
+
# @return [Types::RecommendationError]
|
2028
|
+
#
|
2029
|
+
# @!attribute [rw] resource_arn
|
2030
|
+
# The ARN of the resource of the finding.
|
2031
|
+
# @return [String]
|
2032
|
+
#
|
2033
|
+
# @!attribute [rw] recommended_steps
|
2034
|
+
# A group of recommended steps for the finding.
|
2035
|
+
# @return [Array<Types::RecommendedStep>]
|
2036
|
+
#
|
2037
|
+
# @!attribute [rw] recommendation_type
|
2038
|
+
# The type of recommendation for the finding.
|
2039
|
+
# @return [String]
|
2040
|
+
#
|
2041
|
+
# @!attribute [rw] status
|
2042
|
+
# The status of the retrieval of the finding recommendation.
|
2043
|
+
# @return [String]
|
2044
|
+
#
|
2045
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingRecommendationResponse AWS API Documentation
|
2046
|
+
#
|
2047
|
+
class GetFindingRecommendationResponse < Struct.new(
|
2048
|
+
:started_at,
|
2049
|
+
:completed_at,
|
2050
|
+
:next_token,
|
2051
|
+
:error,
|
2052
|
+
:resource_arn,
|
2053
|
+
:recommended_steps,
|
2054
|
+
:recommendation_type,
|
2055
|
+
:status)
|
2056
|
+
SENSITIVE = []
|
2057
|
+
include Aws::Structure
|
2058
|
+
end
|
2059
|
+
|
1894
2060
|
# Retrieves a finding.
|
1895
2061
|
#
|
1896
2062
|
# @!attribute [rw] analyzer_arn
|
@@ -3167,6 +3333,50 @@ module Aws::AccessAnalyzer
|
|
3167
3333
|
include Aws::Structure
|
3168
3334
|
end
|
3169
3335
|
|
3336
|
+
# Contains information about the reason that the retrieval of a
|
3337
|
+
# recommendation for a finding failed.
|
3338
|
+
#
|
3339
|
+
# @!attribute [rw] code
|
3340
|
+
# The error code for a failed retrieval of a recommendation for a
|
3341
|
+
# finding.
|
3342
|
+
# @return [String]
|
3343
|
+
#
|
3344
|
+
# @!attribute [rw] message
|
3345
|
+
# The error message for a failed retrieval of a recommendation for a
|
3346
|
+
# finding.
|
3347
|
+
# @return [String]
|
3348
|
+
#
|
3349
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/RecommendationError AWS API Documentation
|
3350
|
+
#
|
3351
|
+
class RecommendationError < Struct.new(
|
3352
|
+
:code,
|
3353
|
+
:message)
|
3354
|
+
SENSITIVE = []
|
3355
|
+
include Aws::Structure
|
3356
|
+
end
|
3357
|
+
|
3358
|
+
# Contains information about a recommended step for an unused access
|
3359
|
+
# analyzer finding.
|
3360
|
+
#
|
3361
|
+
# @note RecommendedStep is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of RecommendedStep corresponding to the set member.
|
3362
|
+
#
|
3363
|
+
# @!attribute [rw] unused_permissions_recommended_step
|
3364
|
+
# A recommended step for an unused permissions finding.
|
3365
|
+
# @return [Types::UnusedPermissionsRecommendedStep]
|
3366
|
+
#
|
3367
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/RecommendedStep AWS API Documentation
|
3368
|
+
#
|
3369
|
+
class RecommendedStep < Struct.new(
|
3370
|
+
:unused_permissions_recommended_step,
|
3371
|
+
:unknown)
|
3372
|
+
SENSITIVE = []
|
3373
|
+
include Aws::Structure
|
3374
|
+
include Aws::Structure::Union
|
3375
|
+
|
3376
|
+
class UnusedPermissionsRecommendedStep < RecommendedStep; end
|
3377
|
+
class Unknown < RecommendedStep; end
|
3378
|
+
end
|
3379
|
+
|
3170
3380
|
# The specified resource could not be found.
|
3171
3381
|
#
|
3172
3382
|
# @!attribute [rw] message
|
@@ -3930,7 +4140,7 @@ module Aws::AccessAnalyzer
|
|
3930
4140
|
# @return [String]
|
3931
4141
|
#
|
3932
4142
|
# @!attribute [rw] last_accessed
|
3933
|
-
# The time at which the permission last accessed.
|
4143
|
+
# The time at which the permission was last accessed.
|
3934
4144
|
# @return [Time]
|
3935
4145
|
#
|
3936
4146
|
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedPermissionDetails AWS API Documentation
|
@@ -3943,6 +4153,41 @@ module Aws::AccessAnalyzer
|
|
3943
4153
|
include Aws::Structure
|
3944
4154
|
end
|
3945
4155
|
|
4156
|
+
# Contains information about the action to take for a policy in an
|
4157
|
+
# unused permissions finding.
|
4158
|
+
#
|
4159
|
+
# @!attribute [rw] policy_updated_at
|
4160
|
+
# The time at which the existing policy for the unused permissions
|
4161
|
+
# finding was last updated.
|
4162
|
+
# @return [Time]
|
4163
|
+
#
|
4164
|
+
# @!attribute [rw] recommended_action
|
4165
|
+
# A recommendation of whether to create or detach a policy for an
|
4166
|
+
# unused permissions finding.
|
4167
|
+
# @return [String]
|
4168
|
+
#
|
4169
|
+
# @!attribute [rw] recommended_policy
|
4170
|
+
# If the recommended action for the unused permissions finding is to
|
4171
|
+
# replace the existing policy, the contents of the recommended policy
|
4172
|
+
# to replace the policy specified in the `existingPolicyId` field.
|
4173
|
+
# @return [String]
|
4174
|
+
#
|
4175
|
+
# @!attribute [rw] existing_policy_id
|
4176
|
+
# If the recommended action for the unused permissions finding is to
|
4177
|
+
# detach a policy, the ID of an existing policy to be detached.
|
4178
|
+
# @return [String]
|
4179
|
+
#
|
4180
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedPermissionsRecommendedStep AWS API Documentation
|
4181
|
+
#
|
4182
|
+
class UnusedPermissionsRecommendedStep < Struct.new(
|
4183
|
+
:policy_updated_at,
|
4184
|
+
:recommended_action,
|
4185
|
+
:recommended_policy,
|
4186
|
+
:existing_policy_id)
|
4187
|
+
SENSITIVE = []
|
4188
|
+
include Aws::Structure
|
4189
|
+
end
|
4190
|
+
|
3946
4191
|
# Updates the specified archive rule.
|
3947
4192
|
#
|
3948
4193
|
# @!attribute [rw] analyzer_name
|