aws-sdk-iam 1.149.0 → 1.150.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a520fbaf96bb3a4978ec0bf8fec3dd7d9ff42007774a7c9ae7f58270373bd93
4
- data.tar.gz: b868271dc629015349bb0c9fe30a93c750f01c88ada71d60faded060140841ae
3
+ metadata.gz: b66f32cad3969e6b6ba620324ef7e3c5d26dc909ea4c7ee6ed0e59604b95dd56
4
+ data.tar.gz: e3b1a4647fc68faad0fb67f7166279c5e0c41e5bbdefca3504825709484504ec
5
5
  SHA512:
6
- metadata.gz: e602d9216bccbe618b06fa51988cfd544f29b356b2d6dd06768a688fe6fd09133527fc4e9582cf0014d6fad98f18acb5ccc1f4e172fd2294115f08bf7586729e
7
- data.tar.gz: 48984875303adc64eeec81a1af47d7d9b72a8f30978e57d2529ba1e6d5f2bc07378638626e96cfcc3d52fa97f4685727f774fe89b792a543700727f41bf99d3d
6
+ metadata.gz: 03430a3d28a77cb277212bbf4fef96a2ccbfb891bb4ae167c67d9a77390ede99a99d916524b588559e346f6b755a7d8539c919becf0dbbc101a367882780cd5d
7
+ data.tar.gz: a35803d7a207a69b25b6355815c3deb1d330b603e178dfbd8ef3c4b34d583d0553b5872d1969811553fbd8272dd0fbc58fc1194a7b882e3344f9fdb91d63980d
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.150.0 (2026-07-30)
5
+ ------------------
6
+
7
+ * Feature - Improved IAM Policy Simulator accuracy. Simulator now evaluates SCP conditions and resource scoping, returns explicitDeny for explicit SCP denials, and reports accurate cross-account decisions.
8
+
4
9
  1.149.0 (2026-07-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.149.0
1
+ 1.150.0
@@ -5318,7 +5318,10 @@ module Aws::IAM
5318
5318
  # request. Context keys can be evaluated by testing against a value in
5319
5319
  # an IAM policy. Use [GetContextKeysForPrincipalPolicy][2] to understand
5320
5320
  # what key names and values you must supply when you call
5321
- # [SimulatePrincipalPolicy][3].
5321
+ # [SimulatePrincipalPolicy][3]. This operation doesn't return context
5322
+ # keys referenced by service control policies (SCPs). Only context keys
5323
+ # referenced by the identity-based policies attached to the specified
5324
+ # entity, and any additional policies that you provide, are included.
5322
5325
  #
5323
5326
  #
5324
5327
  #
@@ -11466,14 +11469,16 @@ module Aws::IAM
11466
11469
  # If the output is long, you can use `MaxItems` and `Marker` parameters
11467
11470
  # to paginate the results.
11468
11471
  #
11469
- # <note markdown="1"> The IAM policy simulator evaluates statements in the identity-based
11470
- # policy and the inputs that you provide during simulation. The policy
11471
- # simulator results can differ from your live Amazon Web Services
11472
- # environment. We recommend that you check your policies against your
11473
- # live Amazon Web Services environment after testing using the policy
11474
- # simulator to confirm that you have the desired results. For more
11475
- # information about using the policy simulator, see [Testing IAM
11476
- # policies with the IAM policy simulator ][3]in the *IAM User Guide*.
11472
+ # <note markdown="1"> The IAM policy simulator evaluates statements in identity-based
11473
+ # policies, service control policies (SCPs) including their condition
11474
+ # keys and resource scoping, and the inputs that you provide during
11475
+ # simulation. The policy simulator results can differ from your live
11476
+ # Amazon Web Services environment. We recommend that you check your
11477
+ # policies against your live Amazon Web Services environment after
11478
+ # testing using the policy simulator to confirm that you have the
11479
+ # desired results. For more information about using the policy
11480
+ # simulator, see [Testing IAM policies with the IAM policy simulator
11481
+ # ][3]in the *IAM User Guide*.
11477
11482
  #
11478
11483
  # </note>
11479
11484
  #
@@ -11550,6 +11555,24 @@ module Aws::IAM
11550
11555
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length
11551
11556
  # [3]: http://wikipedia.org/wiki/regex
11552
11557
  #
11558
+ # @option params [Array<Types::OrderedOrganizationPolicyType>] :ordered_organization_policy_input_list
11559
+ # An ordered list of service control policies (SCPs) to include in the
11560
+ # simulation. Each element represents one level of an Organizations
11561
+ # hierarchy, from the organization root to the account.
11562
+ #
11563
+ # The simulator evaluates SCPs in the order that you provide, consistent
11564
+ # with how Organizations enforces SCPs. The first element must represent
11565
+ # the organization root, and the last element must represent the
11566
+ # account. Any elements between them represent organizational units
11567
+ # (OUs) in descending order.
11568
+ #
11569
+ # Use this parameter to simulate the effect of an SCP hierarchy without
11570
+ # calling [SimulatePrincipalPolicy][1].
11571
+ #
11572
+ #
11573
+ #
11574
+ # [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html
11575
+ #
11553
11576
  # @option params [required, Array<String>] :action_names
11554
11577
  # A list of names of API operations to evaluate in the simulation. Each
11555
11578
  # operation is evaluated against each resource. Each operation must
@@ -11636,13 +11659,13 @@ module Aws::IAM
11636
11659
  # `arn:aws:iam::112233445566-ID:root`.
11637
11660
  #
11638
11661
  # @option params [String] :caller_arn
11639
- # The ARN of the IAM user that you want to use as the simulated caller
11640
- # of the API operations. `CallerArn` is required if you include a
11641
- # `ResourcePolicy` so that the policy's `Principal` element has a value
11642
- # to use in evaluating the policy.
11662
+ # The ARN of the IAM user, group, or role that you want to use as the
11663
+ # simulated caller of the API operations. `CallerArn` is required if you
11664
+ # include a `ResourcePolicy` so that the policy's `Principal` element
11665
+ # has a value to use in evaluating the policy.
11643
11666
  #
11644
- # You can specify only the ARN of an IAM user. You cannot specify the
11645
- # ARN of an assumed role, federated user, or a service principal.
11667
+ # You cannot specify the ARN of an assumed role, federated user, or a
11668
+ # service principal.
11646
11669
  #
11647
11670
  # @option params [Array<Types::ContextEntry>] :context_entries
11648
11671
  # A list of context keys and corresponding values for the simulation to
@@ -11717,6 +11740,11 @@ module Aws::IAM
11717
11740
  # resp = client.simulate_custom_policy({
11718
11741
  # policy_input_list: ["policyDocumentType"], # required
11719
11742
  # permissions_boundary_policy_input_list: ["policyDocumentType"],
11743
+ # ordered_organization_policy_input_list: [
11744
+ # {
11745
+ # service_control_policy_input_list: ["policyDocumentType"],
11746
+ # },
11747
+ # ],
11720
11748
  # action_names: ["ActionNameType"], # required
11721
11749
  # resource_arns: ["ResourceNameType"],
11722
11750
  # resource_policy: "policyDocumentType",
@@ -11801,6 +11829,12 @@ module Aws::IAM
11801
11829
  # authorization to determine if the simulated policies allow or deny the
11802
11830
  # operations.
11803
11831
  #
11832
+ # For cross-account simulations, `EvalDecisionDetails` returns the
11833
+ # decision for each policy type (identity-based policy, resource-based
11834
+ # policy, and permissions boundary). This helps you identify which
11835
+ # policy type is responsible for an allow or deny decision when policies
11836
+ # span multiple accounts.
11837
+ #
11804
11838
  # **Note:** This operation discloses information about the permissions
11805
11839
  # granted to other users. If you do not want users to see other user's
11806
11840
  # permissions, then consider allowing them to use
@@ -11816,14 +11850,16 @@ module Aws::IAM
11816
11850
  # If the output is long, you can use the `MaxItems` and `Marker`
11817
11851
  # parameters to paginate the results.
11818
11852
  #
11819
- # <note markdown="1"> The IAM policy simulator evaluates statements in the identity-based
11820
- # policy and the inputs that you provide during simulation. The policy
11821
- # simulator results can differ from your live Amazon Web Services
11822
- # environment. We recommend that you check your policies against your
11823
- # live Amazon Web Services environment after testing using the policy
11824
- # simulator to confirm that you have the desired results. For more
11825
- # information about using the policy simulator, see [Testing IAM
11826
- # policies with the IAM policy simulator ][3]in the *IAM User Guide*.
11853
+ # <note markdown="1"> The IAM policy simulator evaluates statements in identity-based
11854
+ # policies, service control policies (SCPs) including their condition
11855
+ # keys and resource scoping, and the inputs that you provide during
11856
+ # simulation. The policy simulator results can differ from your live
11857
+ # Amazon Web Services environment. We recommend that you check your
11858
+ # policies against your live Amazon Web Services environment after
11859
+ # testing using the policy simulator to confirm that you have the
11860
+ # desired results. For more information about using the policy
11861
+ # simulator, see [Testing IAM policies with the IAM policy simulator
11862
+ # ][3]in the *IAM User Guide*.
11827
11863
  #
11828
11864
  # </note>
11829
11865
  #
@@ -11911,6 +11947,27 @@ module Aws::IAM
11911
11947
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length
11912
11948
  # [3]: http://wikipedia.org/wiki/regex
11913
11949
  #
11950
+ # @option params [Array<Types::PolicyIdentifier>] :policy_exclusion_list
11951
+ # A list of policies to exclude from the simulation. Use this parameter
11952
+ # to test what the simulation result would be if a policy were removed,
11953
+ # without changing which policies are actually attached to the principal
11954
+ # identified by `PolicySourceArn`.
11955
+ #
11956
+ # Each entry is a [PolicyIdentifier][1] that identifies one or more
11957
+ # policies to exclude by policy type, by Amazon Resource Name (ARN), or
11958
+ # by the name of an inline policy and the entity it is attached to.
11959
+ #
11960
+ # Syntactically invalid identifiers, such as malformed ARNs or wildcards
11961
+ # in disallowed positions, cause the request to fail with an
11962
+ # `InvalidInput` error. Syntactically valid identifiers that don't
11963
+ # match any attached policy are ignored. Resource control policies
11964
+ # (RCPs) are not supported in this release; identifiers that target RCPs
11965
+ # are also ignored.
11966
+ #
11967
+ #
11968
+ #
11969
+ # [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_PolicyIdentifier.html
11970
+ #
11914
11971
  # @option params [required, Array<String>] :action_names
11915
11972
  # A list of names of API operations to evaluate in the simulation. Each
11916
11973
  # operation is evaluated for each resource. Each operation must include
@@ -11987,22 +12044,24 @@ module Aws::IAM
11987
12044
  # `CallerArn`.
11988
12045
  #
11989
12046
  # @option params [String] :caller_arn
11990
- # The ARN of the IAM user that you want to specify as the simulated
11991
- # caller of the API operations. If you do not specify a `CallerArn`, it
11992
- # defaults to the ARN of the user that you specify in `PolicySourceArn`,
11993
- # if you specified a user. If you include both a `PolicySourceArn` (for
11994
- # example, `arn:aws:iam::123456789012:user/David`) and a `CallerArn`
11995
- # (for example, `arn:aws:iam::123456789012:user/Bob`), the result is
11996
- # that you simulate calling the API operations as Bob, as if Bob had
11997
- # David's policies.
11998
- #
11999
- # You can specify only the ARN of an IAM user. You cannot specify the
12000
- # ARN of an assumed role, federated user, or a service principal.
12047
+ # The ARN of the IAM user, group, or role that you want to specify as
12048
+ # the simulated caller of the API operations. If you do not specify a
12049
+ # `CallerArn`, it defaults to the ARN of the user, group, or role that
12050
+ # you specify in `PolicySourceArn`. If you include both a
12051
+ # `PolicySourceArn` (for example,
12052
+ # `arn:aws:iam::123456789012:user/David`) and a `CallerArn` (for
12053
+ # example, `arn:aws:iam::123456789012:user/Bob`), the result is that you
12054
+ # simulate calling the API operations as Bob, as if Bob had David's
12055
+ # policies.
12056
+ #
12057
+ # You can specify the ARN of an IAM user, group, or role. You cannot
12058
+ # specify the ARN of an assumed role, federated user, or a service
12059
+ # principal.
12001
12060
  #
12002
12061
  # `CallerArn` is required if you include a `ResourcePolicy` and the
12003
- # `PolicySourceArn` is not the ARN for an IAM user. This is required so
12004
- # that the resource-based policy's `Principal` element has a value to
12005
- # use in evaluating the policy.
12062
+ # `PolicySourceArn` is not the ARN for an IAM user, group, or role. This
12063
+ # is required so that the resource-based policy's `Principal` element
12064
+ # has a value to use in evaluating the policy.
12006
12065
  #
12007
12066
  # For more information about ARNs, see [Amazon Resource Names (ARNs)][1]
12008
12067
  # in the *Amazon Web Services General Reference*.
@@ -12085,6 +12144,17 @@ module Aws::IAM
12085
12144
  # policy_source_arn: "arnType", # required
12086
12145
  # policy_input_list: ["policyDocumentType"],
12087
12146
  # permissions_boundary_policy_input_list: ["policyDocumentType"],
12147
+ # policy_exclusion_list: [
12148
+ # {
12149
+ # policy_type: "inline", # accepts inline, aws-managed, user-managed, permission-boundary, scp, rcp
12150
+ # policy_arn: "arnType",
12151
+ # inline_policy_identifier: {
12152
+ # policy_name: "policyNameType", # required
12153
+ # attachment_type: "user", # required, accepts user, group, role
12154
+ # attachment_name: "AttachmentName", # required
12155
+ # },
12156
+ # },
12157
+ # ],
12088
12158
  # action_names: ["ActionNameType"], # required
12089
12159
  # resource_arns: ["ResourceNameType"],
12090
12160
  # resource_policy: "policyDocumentType",
@@ -14726,7 +14796,7 @@ module Aws::IAM
14726
14796
  tracer: tracer
14727
14797
  )
14728
14798
  context[:gem_name] = 'aws-sdk-iam'
14729
- context[:gem_version] = '1.149.0'
14799
+ context[:gem_version] = '1.150.0'
14730
14800
  Seahorse::Client::Request.new(handlers, context)
14731
14801
  end
14732
14802
 
@@ -34,6 +34,8 @@ module Aws::IAM
34
34
  AttachUserPolicyRequest = Shapes::StructureShape.new(name: 'AttachUserPolicyRequest')
35
35
  AttachedPermissionsBoundary = Shapes::StructureShape.new(name: 'AttachedPermissionsBoundary')
36
36
  AttachedPolicy = Shapes::StructureShape.new(name: 'AttachedPolicy')
37
+ AttachmentName = Shapes::StringShape.new(name: 'AttachmentName')
38
+ AttachmentType = Shapes::StringShape.new(name: 'AttachmentType')
37
39
  BootstrapDatum = Shapes::BlobShape.new(name: 'BootstrapDatum')
38
40
  CallerIsNotManagementAccountException = Shapes::StructureShape.new(name: 'CallerIsNotManagementAccountException')
39
41
  CertificationKeyType = Shapes::StringShape.new(name: 'CertificationKeyType')
@@ -203,6 +205,7 @@ module Aws::IAM
203
205
  GetUserResponse = Shapes::StructureShape.new(name: 'GetUserResponse')
204
206
  Group = Shapes::StructureShape.new(name: 'Group')
205
207
  GroupDetail = Shapes::StructureShape.new(name: 'GroupDetail')
208
+ InlinePolicyIdentifierType = Shapes::StructureShape.new(name: 'InlinePolicyIdentifierType')
206
209
  InstanceProfile = Shapes::StructureShape.new(name: 'InstanceProfile')
207
210
  InvalidAuthenticationCodeException = Shapes::StructureShape.new(name: 'InvalidAuthenticationCodeException', error: {"code" => "InvalidAuthenticationCode", "httpStatusCode" => 403, "senderFault" => true})
208
211
  InvalidCertificateException = Shapes::StructureShape.new(name: 'InvalidCertificateException', error: {"code" => "InvalidCertificate", "httpStatusCode" => 400, "senderFault" => true})
@@ -296,9 +299,11 @@ module Aws::IAM
296
299
  OpenIDConnectProviderListType = Shapes::ListShape.new(name: 'OpenIDConnectProviderListType')
297
300
  OpenIDConnectProviderUrlType = Shapes::StringShape.new(name: 'OpenIDConnectProviderUrlType')
298
301
  OpenIdIdpCommunicationErrorException = Shapes::StructureShape.new(name: 'OpenIdIdpCommunicationErrorException', error: {"code" => "OpenIdIdpCommunicationError", "httpStatusCode" => 400, "senderFault" => true})
302
+ OrderedOrganizationPolicyType = Shapes::StructureShape.new(name: 'OrderedOrganizationPolicyType')
299
303
  OrganizationIdType = Shapes::StringShape.new(name: 'OrganizationIdType')
300
304
  OrganizationNotFoundException = Shapes::StructureShape.new(name: 'OrganizationNotFoundException')
301
305
  OrganizationNotInAllFeaturesModeException = Shapes::StructureShape.new(name: 'OrganizationNotInAllFeaturesModeException')
306
+ OrganizationPolicyListType = Shapes::ListShape.new(name: 'OrganizationPolicyListType')
302
307
  OrganizationsDecisionDetail = Shapes::StructureShape.new(name: 'OrganizationsDecisionDetail')
303
308
  PasswordPolicy = Shapes::StructureShape.new(name: 'PasswordPolicy')
304
309
  PasswordPolicyViolationException = Shapes::StructureShape.new(name: 'PasswordPolicyViolationException', error: {"code" => "PasswordPolicyViolation", "httpStatusCode" => 400, "senderFault" => true})
@@ -308,9 +313,12 @@ module Aws::IAM
308
313
  PolicyDetail = Shapes::StructureShape.new(name: 'PolicyDetail')
309
314
  PolicyEvaluationDecisionType = Shapes::StringShape.new(name: 'PolicyEvaluationDecisionType')
310
315
  PolicyEvaluationException = Shapes::StructureShape.new(name: 'PolicyEvaluationException', error: {"code" => "PolicyEvaluation", "httpStatusCode" => 500})
316
+ PolicyExclusionsListType = Shapes::ListShape.new(name: 'PolicyExclusionsListType')
311
317
  PolicyGrantingServiceAccess = Shapes::StructureShape.new(name: 'PolicyGrantingServiceAccess')
312
318
  PolicyGroup = Shapes::StructureShape.new(name: 'PolicyGroup')
313
319
  PolicyGroupListType = Shapes::ListShape.new(name: 'PolicyGroupListType')
320
+ PolicyIdentifier = Shapes::UnionShape.new(name: 'PolicyIdentifier')
321
+ PolicyIdentifierPolicyType = Shapes::StringShape.new(name: 'PolicyIdentifierPolicyType')
314
322
  PolicyIdentifierType = Shapes::StringShape.new(name: 'PolicyIdentifierType')
315
323
  PolicyNotAttachableException = Shapes::StructureShape.new(name: 'PolicyNotAttachableException', error: {"code" => "PolicyNotAttachable", "httpStatusCode" => 400, "senderFault" => true})
316
324
  PolicyParameter = Shapes::StructureShape.new(name: 'PolicyParameter')
@@ -1303,6 +1311,11 @@ module Aws::IAM
1303
1311
  GroupDetail.add_member(:attached_managed_policies, Shapes::ShapeRef.new(shape: attachedPoliciesListType, location_name: "AttachedManagedPolicies"))
1304
1312
  GroupDetail.struct_class = Types::GroupDetail
1305
1313
 
1314
+ InlinePolicyIdentifierType.add_member(:policy_name, Shapes::ShapeRef.new(shape: policyNameType, required: true, location_name: "PolicyName"))
1315
+ InlinePolicyIdentifierType.add_member(:attachment_type, Shapes::ShapeRef.new(shape: AttachmentType, required: true, location_name: "AttachmentType"))
1316
+ InlinePolicyIdentifierType.add_member(:attachment_name, Shapes::ShapeRef.new(shape: AttachmentName, required: true, location_name: "AttachmentName"))
1317
+ InlinePolicyIdentifierType.struct_class = Types::InlinePolicyIdentifierType
1318
+
1306
1319
  InstanceProfile.add_member(:path, Shapes::ShapeRef.new(shape: pathType, required: true, location_name: "Path"))
1307
1320
  InstanceProfile.add_member(:instance_profile_name, Shapes::ShapeRef.new(shape: instanceProfileNameType, required: true, location_name: "InstanceProfileName"))
1308
1321
  InstanceProfile.add_member(:instance_profile_id, Shapes::ShapeRef.new(shape: idType, required: true, location_name: "InstanceProfileId"))
@@ -1738,10 +1751,15 @@ module Aws::IAM
1738
1751
  OpenIdIdpCommunicationErrorException.add_member(:message, Shapes::ShapeRef.new(shape: openIdIdpCommunicationErrorExceptionMessage, location_name: "message"))
1739
1752
  OpenIdIdpCommunicationErrorException.struct_class = Types::OpenIdIdpCommunicationErrorException
1740
1753
 
1754
+ OrderedOrganizationPolicyType.add_member(:service_control_policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, location_name: "ServiceControlPolicyInputList"))
1755
+ OrderedOrganizationPolicyType.struct_class = Types::OrderedOrganizationPolicyType
1756
+
1741
1757
  OrganizationNotFoundException.struct_class = Types::OrganizationNotFoundException
1742
1758
 
1743
1759
  OrganizationNotInAllFeaturesModeException.struct_class = Types::OrganizationNotInAllFeaturesModeException
1744
1760
 
1761
+ OrganizationPolicyListType.member = Shapes::ShapeRef.new(shape: OrderedOrganizationPolicyType)
1762
+
1745
1763
  OrganizationsDecisionDetail.add_member(:allowed_by_organizations, Shapes::ShapeRef.new(shape: booleanType, location_name: "AllowedByOrganizations"))
1746
1764
  OrganizationsDecisionDetail.struct_class = Types::OrganizationsDecisionDetail
1747
1765
 
@@ -1784,6 +1802,8 @@ module Aws::IAM
1784
1802
  PolicyEvaluationException.add_member(:message, Shapes::ShapeRef.new(shape: policyEvaluationErrorMessage, location_name: "message"))
1785
1803
  PolicyEvaluationException.struct_class = Types::PolicyEvaluationException
1786
1804
 
1805
+ PolicyExclusionsListType.member = Shapes::ShapeRef.new(shape: PolicyIdentifier)
1806
+
1787
1807
  PolicyGrantingServiceAccess.add_member(:policy_name, Shapes::ShapeRef.new(shape: policyNameType, required: true, location_name: "PolicyName"))
1788
1808
  PolicyGrantingServiceAccess.add_member(:policy_type, Shapes::ShapeRef.new(shape: policyType, required: true, location_name: "PolicyType"))
1789
1809
  PolicyGrantingServiceAccess.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, location_name: "PolicyArn"))
@@ -1797,6 +1817,16 @@ module Aws::IAM
1797
1817
 
1798
1818
  PolicyGroupListType.member = Shapes::ShapeRef.new(shape: PolicyGroup)
1799
1819
 
1820
+ PolicyIdentifier.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyIdentifierPolicyType, location_name: "PolicyType"))
1821
+ PolicyIdentifier.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, location_name: "PolicyArn"))
1822
+ PolicyIdentifier.add_member(:inline_policy_identifier, Shapes::ShapeRef.new(shape: InlinePolicyIdentifierType, location_name: "InlinePolicyIdentifier"))
1823
+ PolicyIdentifier.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
1824
+ PolicyIdentifier.add_member_subclass(:policy_type, Types::PolicyIdentifier::PolicyType)
1825
+ PolicyIdentifier.add_member_subclass(:policy_arn, Types::PolicyIdentifier::PolicyArn)
1826
+ PolicyIdentifier.add_member_subclass(:inline_policy_identifier, Types::PolicyIdentifier::InlinePolicyIdentifier)
1827
+ PolicyIdentifier.add_member_subclass(:unknown, Types::PolicyIdentifier::Unknown)
1828
+ PolicyIdentifier.struct_class = Types::PolicyIdentifier
1829
+
1800
1830
  PolicyNotAttachableException.add_member(:message, Shapes::ShapeRef.new(shape: policyNotAttachableMessage, location_name: "message"))
1801
1831
  PolicyNotAttachableException.struct_class = Types::PolicyNotAttachableException
1802
1832
 
@@ -2034,6 +2064,7 @@ module Aws::IAM
2034
2064
 
2035
2065
  SimulateCustomPolicyRequest.add_member(:policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, required: true, location_name: "PolicyInputList"))
2036
2066
  SimulateCustomPolicyRequest.add_member(:permissions_boundary_policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, location_name: "PermissionsBoundaryPolicyInputList"))
2067
+ SimulateCustomPolicyRequest.add_member(:ordered_organization_policy_input_list, Shapes::ShapeRef.new(shape: OrganizationPolicyListType, location_name: "OrderedOrganizationPolicyInputList"))
2037
2068
  SimulateCustomPolicyRequest.add_member(:action_names, Shapes::ShapeRef.new(shape: ActionNameListType, required: true, location_name: "ActionNames"))
2038
2069
  SimulateCustomPolicyRequest.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceNameListType, location_name: "ResourceArns"))
2039
2070
  SimulateCustomPolicyRequest.add_member(:resource_policy, Shapes::ShapeRef.new(shape: policyDocumentType, location_name: "ResourcePolicy"))
@@ -2053,6 +2084,7 @@ module Aws::IAM
2053
2084
  SimulatePrincipalPolicyRequest.add_member(:policy_source_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "PolicySourceArn"))
2054
2085
  SimulatePrincipalPolicyRequest.add_member(:policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, location_name: "PolicyInputList"))
2055
2086
  SimulatePrincipalPolicyRequest.add_member(:permissions_boundary_policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, location_name: "PermissionsBoundaryPolicyInputList"))
2087
+ SimulatePrincipalPolicyRequest.add_member(:policy_exclusion_list, Shapes::ShapeRef.new(shape: PolicyExclusionsListType, location_name: "PolicyExclusionList"))
2056
2088
  SimulatePrincipalPolicyRequest.add_member(:action_names, Shapes::ShapeRef.new(shape: ActionNameListType, required: true, location_name: "ActionNames"))
2057
2089
  SimulatePrincipalPolicyRequest.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceNameListType, location_name: "ResourceArns"))
2058
2090
  SimulatePrincipalPolicyRequest.add_member(:resource_policy, Shapes::ShapeRef.new(shape: policyDocumentType, location_name: "ResourcePolicy"))
@@ -3350,13 +3350,40 @@ module Aws::IAM
3350
3350
  # This data type is used by the return parameter of `
3351
3351
  # SimulateCustomPolicy ` and ` SimulatePrincipalPolicy `.
3352
3352
  #
3353
+ # The simulator now returns a single `EvaluationResult` per action,
3354
+ # regardless of how many resource ARNs are provided. Previously,
3355
+ # simulating one action against N resources returned N evaluation
3356
+ # results, each containing the same aggregate decision. The top-level
3357
+ # fields (`EvalDecision`, `MatchedStatements`, `MissingContextValues`,
3358
+ # `EvalDecisionDetails`) now represent the *aggregate* decision across
3359
+ # all requested resources. The top-level `EvalDecision` reflects the
3360
+ # most restrictive decision across all resources (for example, if any
3361
+ # resource produces `explicitDeny`, the top-level decision is
3362
+ # `explicitDeny`).
3363
+ #
3364
+ # To see the decision for each individual resource, use
3365
+ # `ResourceSpecificResults`. If your application parses evaluation
3366
+ # results per resource ARN, update your code to read per-resource
3367
+ # decisions from `ResourceSpecificResults` rather than from the
3368
+ # top-level result.
3369
+ #
3353
3370
  # @!attribute [rw] eval_action_name
3354
3371
  # The name of the API operation tested on the indicated resource.
3355
3372
  # @return [String]
3356
3373
  #
3357
3374
  # @!attribute [rw] eval_resource_name
3358
- # The ARN of the resource that the indicated API operation was tested
3359
- # on.
3375
+ # The ARN template for the simulated resource type (for example,
3376
+ # `arn:${Partition}:s3:::${BucketName}/${KeyName}`), or `*` if no ARN
3377
+ # format is defined for the action. This is not a specific
3378
+ # customer-provided resource ARN. To find the decision for a specific
3379
+ # resource, use `ResourceSpecificResults`.
3380
+ #
3381
+ # <note markdown="1"> If you previously relied on `EvalResourceName` to identify which
3382
+ # specific resource a result applies to, you must now use the
3383
+ # `EvalResourceName` field within individual entries in
3384
+ # `ResourceSpecificResults` instead.
3385
+ #
3386
+ # </note>
3360
3387
  # @return [String]
3361
3388
  #
3362
3389
  # @!attribute [rw] eval_decision
@@ -3370,6 +3397,14 @@ module Aws::IAM
3370
3397
  # that operation, then the explicit deny overrides any allow. In
3371
3398
  # addition, the deny statement is the only entry included in the
3372
3399
  # result.
3400
+ #
3401
+ # In the top-level result, this field contains the union of matched
3402
+ # statements across all requested resources. Only statements that
3403
+ # contributed to the reported decision are included. For per-resource
3404
+ # matched statements, see `ResourceSpecificResults`. This field
3405
+ # doesn't include statements from service control policies (SCPs).
3406
+ # Only statements from identity-based and resource-based policies
3407
+ # appear here.
3373
3408
  # @return [Array<Types::Statement>]
3374
3409
  #
3375
3410
  # @!attribute [rw] missing_context_values
@@ -3383,6 +3418,12 @@ module Aws::IAM
3383
3418
  # [GetContextKeysForCustomPolicy][1] or
3384
3419
  # [GetContextKeysForPrincipalPolicy][2].
3385
3420
  #
3421
+ # In the top-level result, this field contains the deduplicated set of
3422
+ # missing context values across all requested resources. This field
3423
+ # doesn't include context keys referenced by service control policies
3424
+ # (SCPs). Only context keys referenced by identity-based and
3425
+ # resource-based policies appear here.
3426
+ #
3386
3427
  #
3387
3428
  #
3388
3429
  # [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetContextKeysForCustomPolicy.html
@@ -3393,6 +3434,10 @@ module Aws::IAM
3393
3434
  # A structure that details how Organizations and its service control
3394
3435
  # policies affect the results of the simulation. Only applies if the
3395
3436
  # simulated user's account is part of an organization.
3437
+ #
3438
+ # For resources that don't support organization-level evaluation,
3439
+ # this field is omitted from the top-level result. For per-resource
3440
+ # details, see `ResourceSpecificResults`.
3396
3441
  # @return [Types::OrganizationsDecisionDetail]
3397
3442
  #
3398
3443
  # @!attribute [rw] permissions_boundary_decision_detail
@@ -3407,6 +3452,9 @@ module Aws::IAM
3407
3452
  # simulations. It contains a brief summary of how each policy type
3408
3453
  # contributes to the final evaluation decision.
3409
3454
  #
3455
+ # In the top-level result, this map reports the most restrictive
3456
+ # decision per policy type across all requested resources.
3457
+ #
3410
3458
  # If the simulation evaluates policies within the same account and
3411
3459
  # includes a resource ARN, then the parameter is present but the
3412
3460
  # response is empty. If the simulation evaluates policies within the
@@ -5494,6 +5542,38 @@ module Aws::IAM
5494
5542
  include Aws::Structure
5495
5543
  end
5496
5544
 
5545
+ # Identifies one or more inline policies that are embedded in IAM users,
5546
+ # groups, or roles, by the name of the policy together with the type and
5547
+ # name of the entity that it is attached to. Wildcard characters in the
5548
+ # entity name can match multiple entities, so a single identifier can
5549
+ # select more than one attached inline policy.
5550
+ #
5551
+ # @!attribute [rw] policy_name
5552
+ # The name of the inline policy.
5553
+ # @return [String]
5554
+ #
5555
+ # @!attribute [rw] attachment_type
5556
+ # The type of IAM entity that the inline policy is attached to.
5557
+ # @return [String]
5558
+ #
5559
+ # @!attribute [rw] attachment_name
5560
+ # The name of the IAM user, group, or role that the inline policy is
5561
+ # attached to. Wildcard characters are supported to match multiple
5562
+ # entities: use at most one `*` (matches any sequence of characters,
5563
+ # including none), and any number of `?` (each matches exactly one
5564
+ # character).
5565
+ # @return [String]
5566
+ #
5567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/InlinePolicyIdentifierType AWS API Documentation
5568
+ #
5569
+ class InlinePolicyIdentifierType < Struct.new(
5570
+ :policy_name,
5571
+ :attachment_type,
5572
+ :attachment_name)
5573
+ SENSITIVE = []
5574
+ include Aws::Structure
5575
+ end
5576
+
5497
5577
  # Contains information about an instance profile.
5498
5578
  #
5499
5579
  # This data type is used as a response element in the following
@@ -8821,6 +8901,33 @@ module Aws::IAM
8821
8901
  include Aws::Structure
8822
8902
  end
8823
8903
 
8904
+ # Represents one level of an Organizations hierarchy—the organization
8905
+ # root, an organizational unit (OU), or an account—together with the
8906
+ # service control policies (SCPs) that apply at that level. Each element
8907
+ # in the list represents one level of the hierarchy, ordered from the
8908
+ # organization root down to the account.
8909
+ #
8910
+ # For more information about SCPs, see [Service control policies
8911
+ # (SCPs)][1] in the *Organizations User Guide*.
8912
+ #
8913
+ #
8914
+ #
8915
+ # [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html
8916
+ #
8917
+ # @!attribute [rw] service_control_policy_input_list
8918
+ # A list of SCP documents that apply at this level of the
8919
+ # Organizations hierarchy. Each document is specified as a string
8920
+ # containing the complete, valid JSON text of an SCP.
8921
+ # @return [Array<String>]
8922
+ #
8923
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/OrderedOrganizationPolicyType AWS API Documentation
8924
+ #
8925
+ class OrderedOrganizationPolicyType < Struct.new(
8926
+ :service_control_policy_input_list)
8927
+ SENSITIVE = []
8928
+ include Aws::Structure
8929
+ end
8930
+
8824
8931
  # The request was rejected because no organization is associated with
8825
8932
  # your account.
8826
8933
  #
@@ -9277,6 +9384,57 @@ module Aws::IAM
9277
9384
  include Aws::Structure
9278
9385
  end
9279
9386
 
9387
+ # Identifies one or more policies as a union type. Specify exactly one
9388
+ # of `PolicyType`, `PolicyArn`, or `InlinePolicyIdentifier` to identify
9389
+ # policies by their type, by Amazon Resource Name (ARN), or by the name
9390
+ # of an inline policy and the entity it is attached to.
9391
+ #
9392
+ # @note PolicyIdentifier is a union - when making an API calls you must set exactly one of the members.
9393
+ #
9394
+ # @!attribute [rw] policy_type
9395
+ # The policy type to identify. All policies of the specified type are
9396
+ # matched.
9397
+ # @return [String]
9398
+ #
9399
+ # @!attribute [rw] policy_arn
9400
+ # The Amazon Resource Name (ARN) of an Amazon Web Services managed
9401
+ # policy or a customer managed policy that is attached to an IAM user,
9402
+ # group, or role. Wildcard characters are supported in the resource
9403
+ # name portion of the ARN to match multiple managed policies: use at
9404
+ # most one `*` (matches any sequence of characters, including none),
9405
+ # and any number of `?` (each matches exactly one character).
9406
+ #
9407
+ # For more information about ARNs, see [Amazon Resource Names
9408
+ # (ARNs)][1] in the *Amazon Web Services General Reference*.
9409
+ #
9410
+ #
9411
+ #
9412
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
9413
+ # @return [String]
9414
+ #
9415
+ # @!attribute [rw] inline_policy_identifier
9416
+ # An inline policy identifier consisting of a policy name and the
9417
+ # entity it is attached to. Wildcard characters (`*` and `?`) in the
9418
+ # entity name can match multiple entities.
9419
+ # @return [Types::InlinePolicyIdentifierType]
9420
+ #
9421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PolicyIdentifier AWS API Documentation
9422
+ #
9423
+ class PolicyIdentifier < Struct.new(
9424
+ :policy_type,
9425
+ :policy_arn,
9426
+ :inline_policy_identifier,
9427
+ :unknown)
9428
+ SENSITIVE = []
9429
+ include Aws::Structure
9430
+ include Aws::Structure::Union
9431
+
9432
+ class PolicyType < PolicyIdentifier; end
9433
+ class PolicyArn < PolicyIdentifier; end
9434
+ class InlinePolicyIdentifier < PolicyIdentifier; end
9435
+ class Unknown < PolicyIdentifier; end
9436
+ end
9437
+
9280
9438
  # The request failed because Amazon Web Services service role policies
9281
9439
  # can only be attached to the service-linked role for that service.
9282
9440
  #
@@ -11092,6 +11250,25 @@ module Aws::IAM
11092
11250
  # [3]: http://wikipedia.org/wiki/regex
11093
11251
  # @return [Array<String>]
11094
11252
  #
11253
+ # @!attribute [rw] ordered_organization_policy_input_list
11254
+ # An ordered list of service control policies (SCPs) to include in the
11255
+ # simulation. Each element represents one level of an Organizations
11256
+ # hierarchy, from the organization root to the account.
11257
+ #
11258
+ # The simulator evaluates SCPs in the order that you provide,
11259
+ # consistent with how Organizations enforces SCPs. The first element
11260
+ # must represent the organization root, and the last element must
11261
+ # represent the account. Any elements between them represent
11262
+ # organizational units (OUs) in descending order.
11263
+ #
11264
+ # Use this parameter to simulate the effect of an SCP hierarchy
11265
+ # without calling [SimulatePrincipalPolicy][1].
11266
+ #
11267
+ #
11268
+ #
11269
+ # [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html
11270
+ # @return [Array<Types::OrderedOrganizationPolicyType>]
11271
+ #
11095
11272
  # @!attribute [rw] action_names
11096
11273
  # A list of names of API operations to evaluate in the simulation.
11097
11274
  # Each operation is evaluated against each resource. Each operation
@@ -11184,13 +11361,13 @@ module Aws::IAM
11184
11361
  # @return [String]
11185
11362
  #
11186
11363
  # @!attribute [rw] caller_arn
11187
- # The ARN of the IAM user that you want to use as the simulated caller
11188
- # of the API operations. `CallerArn` is required if you include a
11189
- # `ResourcePolicy` so that the policy's `Principal` element has a
11190
- # value to use in evaluating the policy.
11364
+ # The ARN of the IAM user, group, or role that you want to use as the
11365
+ # simulated caller of the API operations. `CallerArn` is required if
11366
+ # you include a `ResourcePolicy` so that the policy's `Principal`
11367
+ # element has a value to use in evaluating the policy.
11191
11368
  #
11192
- # You can specify only the ARN of an IAM user. You cannot specify the
11193
- # ARN of an assumed role, federated user, or a service principal.
11369
+ # You cannot specify the ARN of an assumed role, federated user, or a
11370
+ # service principal.
11194
11371
  # @return [String]
11195
11372
  #
11196
11373
  # @!attribute [rw] context_entries
@@ -11265,6 +11442,7 @@ module Aws::IAM
11265
11442
  class SimulateCustomPolicyRequest < Struct.new(
11266
11443
  :policy_input_list,
11267
11444
  :permissions_boundary_policy_input_list,
11445
+ :ordered_organization_policy_input_list,
11268
11446
  :action_names,
11269
11447
  :resource_arns,
11270
11448
  :resource_policy,
@@ -11398,6 +11576,28 @@ module Aws::IAM
11398
11576
  # [3]: http://wikipedia.org/wiki/regex
11399
11577
  # @return [Array<String>]
11400
11578
  #
11579
+ # @!attribute [rw] policy_exclusion_list
11580
+ # A list of policies to exclude from the simulation. Use this
11581
+ # parameter to test what the simulation result would be if a policy
11582
+ # were removed, without changing which policies are actually attached
11583
+ # to the principal identified by `PolicySourceArn`.
11584
+ #
11585
+ # Each entry is a [PolicyIdentifier][1] that identifies one or more
11586
+ # policies to exclude by policy type, by Amazon Resource Name (ARN),
11587
+ # or by the name of an inline policy and the entity it is attached to.
11588
+ #
11589
+ # Syntactically invalid identifiers, such as malformed ARNs or
11590
+ # wildcards in disallowed positions, cause the request to fail with an
11591
+ # `InvalidInput` error. Syntactically valid identifiers that don't
11592
+ # match any attached policy are ignored. Resource control policies
11593
+ # (RCPs) are not supported in this release; identifiers that target
11594
+ # RCPs are also ignored.
11595
+ #
11596
+ #
11597
+ #
11598
+ # [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_PolicyIdentifier.html
11599
+ # @return [Array<Types::PolicyIdentifier>]
11600
+ #
11401
11601
  # @!attribute [rw] action_names
11402
11602
  # A list of names of API operations to evaluate in the simulation.
11403
11603
  # Each operation is evaluated for each resource. Each operation must
@@ -11480,23 +11680,24 @@ module Aws::IAM
11480
11680
  # @return [String]
11481
11681
  #
11482
11682
  # @!attribute [rw] caller_arn
11483
- # The ARN of the IAM user that you want to specify as the simulated
11484
- # caller of the API operations. If you do not specify a `CallerArn`,
11485
- # it defaults to the ARN of the user that you specify in
11486
- # `PolicySourceArn`, if you specified a user. If you include both a
11683
+ # The ARN of the IAM user, group, or role that you want to specify as
11684
+ # the simulated caller of the API operations. If you do not specify a
11685
+ # `CallerArn`, it defaults to the ARN of the user, group, or role that
11686
+ # you specify in `PolicySourceArn`. If you include both a
11487
11687
  # `PolicySourceArn` (for example,
11488
11688
  # `arn:aws:iam::123456789012:user/David`) and a `CallerArn` (for
11489
11689
  # example, `arn:aws:iam::123456789012:user/Bob`), the result is that
11490
11690
  # you simulate calling the API operations as Bob, as if Bob had
11491
11691
  # David's policies.
11492
11692
  #
11493
- # You can specify only the ARN of an IAM user. You cannot specify the
11494
- # ARN of an assumed role, federated user, or a service principal.
11693
+ # You can specify the ARN of an IAM user, group, or role. You cannot
11694
+ # specify the ARN of an assumed role, federated user, or a service
11695
+ # principal.
11495
11696
  #
11496
11697
  # `CallerArn` is required if you include a `ResourcePolicy` and the
11497
- # `PolicySourceArn` is not the ARN for an IAM user. This is required
11498
- # so that the resource-based policy's `Principal` element has a value
11499
- # to use in evaluating the policy.
11698
+ # `PolicySourceArn` is not the ARN for an IAM user, group, or role.
11699
+ # This is required so that the resource-based policy's `Principal`
11700
+ # element has a value to use in evaluating the policy.
11500
11701
  #
11501
11702
  # For more information about ARNs, see [Amazon Resource Names
11502
11703
  # (ARNs)][1] in the *Amazon Web Services General Reference*.
@@ -11579,6 +11780,7 @@ module Aws::IAM
11579
11780
  :policy_source_arn,
11580
11781
  :policy_input_list,
11581
11782
  :permissions_boundary_policy_input_list,
11783
+ :policy_exclusion_list,
11582
11784
  :action_names,
11583
11785
  :resource_arns,
11584
11786
  :resource_policy,
data/lib/aws-sdk-iam.rb CHANGED
@@ -76,7 +76,7 @@ module Aws::IAM
76
76
  autoload :UserPolicy, 'aws-sdk-iam/user_policy'
77
77
  autoload :VirtualMfaDevice, 'aws-sdk-iam/virtual_mfa_device'
78
78
 
79
- GEM_VERSION = '1.149.0'
79
+ GEM_VERSION = '1.150.0'
80
80
 
81
81
  end
82
82
 
data/sig/client.rbs CHANGED
@@ -1617,6 +1617,11 @@ module Aws
1617
1617
  def simulate_custom_policy: (
1618
1618
  policy_input_list: Array[::String],
1619
1619
  ?permissions_boundary_policy_input_list: Array[::String],
1620
+ ?ordered_organization_policy_input_list: Array[
1621
+ {
1622
+ service_control_policy_input_list: Array[::String]?
1623
+ }
1624
+ ],
1620
1625
  action_names: Array[::String],
1621
1626
  ?resource_arns: Array[::String],
1622
1627
  ?resource_policy: ::String,
@@ -1646,6 +1651,17 @@ module Aws
1646
1651
  policy_source_arn: ::String,
1647
1652
  ?policy_input_list: Array[::String],
1648
1653
  ?permissions_boundary_policy_input_list: Array[::String],
1654
+ ?policy_exclusion_list: Array[
1655
+ {
1656
+ policy_type: ("inline" | "aws-managed" | "user-managed" | "permission-boundary" | "scp" | "rcp")?,
1657
+ policy_arn: ::String?,
1658
+ inline_policy_identifier: {
1659
+ policy_name: ::String,
1660
+ attachment_type: ("user" | "group" | "role"),
1661
+ attachment_name: ::String
1662
+ }?
1663
+ }
1664
+ ],
1649
1665
  action_names: Array[::String],
1650
1666
  ?resource_arns: Array[::String],
1651
1667
  ?resource_policy: ::String,
data/sig/types.rbs CHANGED
@@ -1021,6 +1021,13 @@ module Aws::IAM
1021
1021
  SENSITIVE: []
1022
1022
  end
1023
1023
 
1024
+ class InlinePolicyIdentifierType
1025
+ attr_accessor policy_name: ::String
1026
+ attr_accessor attachment_type: ("user" | "group" | "role")
1027
+ attr_accessor attachment_name: ::String
1028
+ SENSITIVE: []
1029
+ end
1030
+
1024
1031
  class InstanceProfile
1025
1032
  attr_accessor path: ::String
1026
1033
  attr_accessor instance_profile_name: ::String
@@ -1627,6 +1634,11 @@ module Aws::IAM
1627
1634
  SENSITIVE: []
1628
1635
  end
1629
1636
 
1637
+ class OrderedOrganizationPolicyType
1638
+ attr_accessor service_control_policy_input_list: ::Array[::String]
1639
+ SENSITIVE: []
1640
+ end
1641
+
1630
1642
  class OrganizationNotFoundException < Aws::EmptyStructure
1631
1643
  end
1632
1644
 
@@ -1704,6 +1716,23 @@ module Aws::IAM
1704
1716
  SENSITIVE: []
1705
1717
  end
1706
1718
 
1719
+ class PolicyIdentifier
1720
+ attr_accessor policy_type: ("inline" | "aws-managed" | "user-managed" | "permission-boundary" | "scp" | "rcp")
1721
+ attr_accessor policy_arn: ::String
1722
+ attr_accessor inline_policy_identifier: Types::InlinePolicyIdentifierType
1723
+ attr_accessor unknown: untyped
1724
+ SENSITIVE: []
1725
+
1726
+ class PolicyType < PolicyIdentifier
1727
+ end
1728
+ class PolicyArn < PolicyIdentifier
1729
+ end
1730
+ class InlinePolicyIdentifier < PolicyIdentifier
1731
+ end
1732
+ class Unknown < PolicyIdentifier
1733
+ end
1734
+ end
1735
+
1707
1736
  class PolicyNotAttachableException
1708
1737
  attr_accessor message: ::String
1709
1738
  SENSITIVE: []
@@ -2003,6 +2032,7 @@ module Aws::IAM
2003
2032
  class SimulateCustomPolicyRequest
2004
2033
  attr_accessor policy_input_list: ::Array[::String]
2005
2034
  attr_accessor permissions_boundary_policy_input_list: ::Array[::String]
2035
+ attr_accessor ordered_organization_policy_input_list: ::Array[Types::OrderedOrganizationPolicyType]
2006
2036
  attr_accessor action_names: ::Array[::String]
2007
2037
  attr_accessor resource_arns: ::Array[::String]
2008
2038
  attr_accessor resource_policy: ::String
@@ -2026,6 +2056,7 @@ module Aws::IAM
2026
2056
  attr_accessor policy_source_arn: ::String
2027
2057
  attr_accessor policy_input_list: ::Array[::String]
2028
2058
  attr_accessor permissions_boundary_policy_input_list: ::Array[::String]
2059
+ attr_accessor policy_exclusion_list: ::Array[Types::PolicyIdentifier]
2029
2060
  attr_accessor action_names: ::Array[::String]
2030
2061
  attr_accessor resource_arns: ::Array[::String]
2031
2062
  attr_accessor resource_policy: ::String
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iam
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.149.0
4
+ version: 1.150.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services