aws-sdk-iam 1.133.0 → 1.135.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.
@@ -476,6 +476,43 @@ module Aws::IAM
476
476
 
477
477
  # @!group API Operations
478
478
 
479
+ # Accepts a delegation request, granting the requested temporary access.
480
+ #
481
+ # Once the delegation request is accepted, it is eligible to send the
482
+ # exchange token to the partner. The [SendDelegationToken][1] API has to
483
+ # be explicitly called to send the delegation token.
484
+ #
485
+ # At the time of acceptance, IAM records the details and the state of
486
+ # the identity that called this API. This is the identity that gets
487
+ # mapped to the delegated credential.
488
+ #
489
+ # An accepted request may be rejected before the exchange token is sent
490
+ # to the partner.
491
+ #
492
+ #
493
+ #
494
+ # [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_SendDelegationToken.html
495
+ #
496
+ # @option params [required, String] :delegation_request_id
497
+ # The unique identifier of the delegation request to accept.
498
+ #
499
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
500
+ #
501
+ # @example Request syntax with placeholder values
502
+ #
503
+ # resp = client.accept_delegation_request({
504
+ # delegation_request_id: "delegationRequestIdType", # required
505
+ # })
506
+ #
507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AcceptDelegationRequest AWS API Documentation
508
+ #
509
+ # @overload accept_delegation_request(params = {})
510
+ # @param [Hash] params ({})
511
+ def accept_delegation_request(params = {}, options = {})
512
+ req = build_request(:accept_delegation_request, params)
513
+ req.send_request(options)
514
+ end
515
+
479
516
  # Adds a new client ID (also known as audience) to the list of client
480
517
  # IDs already registered for the specified IAM OpenID Connect (OIDC)
481
518
  # provider resource.
@@ -667,6 +704,50 @@ module Aws::IAM
667
704
  req.send_request(options)
668
705
  end
669
706
 
707
+ # Associates a delegation request with the current identity.
708
+ #
709
+ # If the partner that created the delegation request has specified the
710
+ # owner account during creation, only an identity from that owner
711
+ # account can call the `AssociateDelegationRequest` API for the
712
+ # specified delegation request. Once the `AssociateDelegationRequest`
713
+ # API call is successful, the ARN of the current calling identity will
714
+ # be stored as the `ownerId` of the request.
715
+ #
716
+ # If the partner that created the delegation request has not specified
717
+ # the owner account during creation, any caller from any account can
718
+ # call the `AssociateDelegationRequest` API for the delegation request.
719
+ # Once this API call is successful, the ARN of the current calling
720
+ # identity will be stored as the `ownerId` and the Amazon Web Services
721
+ # account ID of the current calling identity will be stored as the
722
+ # `ownerAccount` of the request.
723
+ #
724
+ # For more details, see [ Managing Permissions for Delegation
725
+ # Requests][1].
726
+ #
727
+ #
728
+ #
729
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation.html#temporary-delegation-managing-permissions
730
+ #
731
+ # @option params [required, String] :delegation_request_id
732
+ # The unique identifier of the delegation request to associate.
733
+ #
734
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
735
+ #
736
+ # @example Request syntax with placeholder values
737
+ #
738
+ # resp = client.associate_delegation_request({
739
+ # delegation_request_id: "delegationRequestIdType", # required
740
+ # })
741
+ #
742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AssociateDelegationRequest AWS API Documentation
743
+ #
744
+ # @overload associate_delegation_request(params = {})
745
+ # @param [Hash] params ({})
746
+ def associate_delegation_request(params = {}, options = {})
747
+ req = build_request(:associate_delegation_request, params)
748
+ req.send_request(options)
749
+ end
750
+
670
751
  # Attaches the specified managed policy to the specified IAM group.
671
752
  #
672
753
  # You use this operation to attach a managed policy to a group. To embed
@@ -1075,25 +1156,92 @@ module Aws::IAM
1075
1156
  req.send_request(options)
1076
1157
  end
1077
1158
 
1078
- # This API is currently unavailable for general use.
1159
+ # Creates an IAM delegation request for temporary access delegation.
1160
+ #
1161
+ # This API is not available for general use. In order to use this API, a
1162
+ # caller first need to go through an onboarding process described in the
1163
+ # [partner onboarding documentation][1].
1164
+ #
1165
+ #
1166
+ #
1167
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation-partner-guide.html
1079
1168
  #
1080
1169
  # @option params [String] :owner_account_id
1170
+ # The Amazon Web Services account ID this delegation request is targeted
1171
+ # to.
1172
+ #
1173
+ # If the account ID is not known, this parameter can be omitted,
1174
+ # resulting in a request that can be associated by any account. If the
1175
+ # account ID passed, then the created delegation request can only be
1176
+ # associated with an identity of that target account.
1081
1177
  #
1082
1178
  # @option params [required, String] :description
1179
+ # A description of the delegation request.
1083
1180
  #
1084
1181
  # @option params [required, Types::DelegationPermission] :permissions
1182
+ # The permissions to be delegated in this delegation request.
1085
1183
  #
1086
1184
  # @option params [String] :request_message
1185
+ # A message explaining the reason for the delegation request.
1186
+ #
1187
+ # Requesters can utilize this field to add a custom note to the
1188
+ # delegation request. This field is different from the description such
1189
+ # that this is to be utilized for a custom messaging on a case-by-case
1190
+ # basis.
1191
+ #
1192
+ # For example, if the current delegation request is in response to a
1193
+ # previous request being rejected, this explanation can be added to the
1194
+ # request via this field.
1087
1195
  #
1088
1196
  # @option params [required, String] :requestor_workflow_id
1197
+ # The workflow ID associated with the requestor.
1198
+ #
1199
+ # This is the unique identifier on the partner side that can be used to
1200
+ # track the progress of the request.
1201
+ #
1202
+ # IAM maintains a uniqueness check on this workflow id for each request
1203
+ # - if a workflow id for an existing request is passed, this API call
1204
+ # will fail.
1089
1205
  #
1090
1206
  # @option params [String] :redirect_url
1207
+ # The URL to redirect to after the delegation request is processed.
1208
+ #
1209
+ # This URL is used by the IAM console to show a link to the customer to
1210
+ # re-load the partner workflow.
1091
1211
  #
1092
1212
  # @option params [required, String] :notification_channel
1213
+ # The notification channel for updates about the delegation request.
1214
+ #
1215
+ # At this time,only SNS topic ARNs are accepted for notification. This
1216
+ # topic ARN must have a resource policy granting `SNS:Publish`
1217
+ # permission to the IAM service principal (`iam.amazonaws.com`). See
1218
+ # [partner onboarding documentation][1] for more details.
1219
+ #
1220
+ #
1221
+ #
1222
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation-partner-guide.html
1093
1223
  #
1094
1224
  # @option params [required, Integer] :session_duration
1225
+ # The duration for which the delegated session should remain active, in
1226
+ # seconds.
1227
+ #
1228
+ # The active time window for the session starts when the customer calls
1229
+ # the [SendDelegationToken][1] API.
1230
+ #
1231
+ #
1232
+ #
1233
+ # [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_SendDelegationToken.html
1095
1234
  #
1096
1235
  # @option params [Boolean] :only_send_by_owner
1236
+ # Specifies whether the delegation token should only be sent by the
1237
+ # owner.
1238
+ #
1239
+ # This flag prevents any party other than the owner from calling
1240
+ # `SendDelegationToken` API for this delegation request. This behavior
1241
+ # becomes useful when the delegation request owner needs to be present
1242
+ # for subsequent partner interactions, but the delegation request was
1243
+ # sent to a more privileged user for approval due to the owner lacking
1244
+ # sufficient delegation permissions.
1097
1245
  #
1098
1246
  # @return [Types::CreateDelegationRequestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1099
1247
  #
@@ -4142,6 +4290,23 @@ module Aws::IAM
4142
4290
  req.send_request(options)
4143
4291
  end
4144
4292
 
4293
+ # Disables the outbound identity federation feature for your Amazon Web
4294
+ # Services account. When disabled, IAM principals in the account cannot
4295
+ # use the `GetWebIdentityToken` API to obtain JSON Web Tokens (JWTs) for
4296
+ # authentication with external services. This operation does not affect
4297
+ # tokens that were issued before the feature was disabled.
4298
+ #
4299
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4300
+ #
4301
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DisableOutboundWebIdentityFederation AWS API Documentation
4302
+ #
4303
+ # @overload disable_outbound_web_identity_federation(params = {})
4304
+ # @param [Hash] params ({})
4305
+ def disable_outbound_web_identity_federation(params = {}, options = {})
4306
+ req = build_request(:disable_outbound_web_identity_federation, params)
4307
+ req.send_request(options)
4308
+ end
4309
+
4145
4310
  # Enables the specified MFA device and associates it with the specified
4146
4311
  # IAM user. When enabled, the MFA device is required for every
4147
4312
  # subsequent login by the IAM user associated with the device.
@@ -4341,6 +4506,29 @@ module Aws::IAM
4341
4506
  req.send_request(options)
4342
4507
  end
4343
4508
 
4509
+ # Enables the outbound identity federation feature for your Amazon Web
4510
+ # Services account. When enabled, IAM principals in your account can use
4511
+ # the `GetWebIdentityToken` API to obtain JSON Web Tokens (JWTs) for
4512
+ # secure authentication with external services. This operation also
4513
+ # generates a unique issuer URL for your Amazon Web Services account.
4514
+ #
4515
+ # @return [Types::EnableOutboundWebIdentityFederationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4516
+ #
4517
+ # * {Types::EnableOutboundWebIdentityFederationResponse#issuer_identifier #issuer_identifier} => String
4518
+ #
4519
+ # @example Response structure
4520
+ #
4521
+ # resp.issuer_identifier #=> String
4522
+ #
4523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/EnableOutboundWebIdentityFederation AWS API Documentation
4524
+ #
4525
+ # @overload enable_outbound_web_identity_federation(params = {})
4526
+ # @param [Hash] params ({})
4527
+ def enable_outbound_web_identity_federation(params = {}, options = {})
4528
+ req = build_request(:enable_outbound_web_identity_federation, params)
4529
+ req.send_request(options)
4530
+ end
4531
+
4344
4532
  # Generates a credential report for the Amazon Web Services account. For
4345
4533
  # more information about the credential report, see [Getting credential
4346
4534
  # reports][1] in the *IAM User Guide*.
@@ -4397,7 +4585,7 @@ module Aws::IAM
4397
4585
  # troubleshooting, and supported Regions see [Reducing permissions using
4398
4586
  # service last accessed data][1] in the *IAM User Guide*.
4399
4587
  #
4400
- # The data includes all attempts to access Amazon Web Services, not just
4588
+ # The data includes all attempts to access Amazon Web Services, not just
4401
4589
  # the successful ones. This includes all attempts that were made using
4402
4590
  # the Amazon Web Services Management Console, the Amazon Web Services
4403
4591
  # API through any of the SDKs, or any of the command line tools. An
@@ -4405,7 +4593,7 @@ module Aws::IAM
4405
4593
  # an account has been compromised, because the request might have been
4406
4594
  # denied. Refer to your CloudTrail logs as the authoritative source for
4407
4595
  # information about all API calls and whether they were successful or
4408
- # denied access. For more information, see [Logging IAM events with
4596
+ # denied access. For more information, see [Logging IAM events with
4409
4597
  # CloudTrail][2] in the *IAM User Guide*.
4410
4598
  #
4411
4599
  # This operation returns a `JobId`. Use this parameter in the `
@@ -4563,7 +4751,7 @@ module Aws::IAM
4563
4751
  # accessed information is displayed, see [IAM action last accessed
4564
4752
  # information services and actions][2].
4565
4753
  #
4566
- # The service last accessed data includes all attempts to access an
4754
+ # The service last accessed data includes all attempts to access an
4567
4755
  # Amazon Web Services API, not just the successful ones. This includes
4568
4756
  # all attempts that were made using the Amazon Web Services Management
4569
4757
  # Console, the Amazon Web Services API through any of the SDKs, or any
@@ -4572,7 +4760,7 @@ module Aws::IAM
4572
4760
  # because the request might have been denied. Refer to your CloudTrail
4573
4761
  # logs as the authoritative source for information about all API calls
4574
4762
  # and whether they were successful or denied access. For more
4575
- # information, see [Logging IAM events with CloudTrail][3] in the *IAM
4763
+ # information, see [Logging IAM events with CloudTrail][3] in the *IAM
4576
4764
  # User Guide*.
4577
4765
  #
4578
4766
  # The `GenerateServiceLastAccessedDetails` operation returns a `JobId`.
@@ -5207,6 +5395,89 @@ module Aws::IAM
5207
5395
  req.send_request(options)
5208
5396
  end
5209
5397
 
5398
+ # Retrieves information about a specific delegation request.
5399
+ #
5400
+ # If a delegation request has no owner or owner account,
5401
+ # `GetDelegationRequest` for that delegation request can be called by
5402
+ # any account. If the owner account is assigned but there is no owner
5403
+ # id, only identities within that owner account can call
5404
+ # `GetDelegationRequest` for the delegation request. Once the delegation
5405
+ # request is fully owned, the owner of the request gets a default
5406
+ # permission to get that delegation request. For more details, see [
5407
+ # Managing Permissions for Delegation Requests][1].
5408
+ #
5409
+ #
5410
+ #
5411
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation.html#temporary-delegation-managing-permissions
5412
+ #
5413
+ # @option params [required, String] :delegation_request_id
5414
+ # The unique identifier of the delegation request to retrieve.
5415
+ #
5416
+ # @option params [Boolean] :delegation_permission_check
5417
+ # Specifies whether to perform a permission check for the delegation
5418
+ # request.
5419
+ #
5420
+ # If set to true, the `GetDelegationRequest` API call will start a
5421
+ # permission check process. This process calculates whether the caller
5422
+ # has sufficient permissions to cover the asks from this delegation
5423
+ # request.
5424
+ #
5425
+ # Setting this parameter to true does not guarantee an answer in the
5426
+ # response. See the `PermissionCheckStatus` and the
5427
+ # `PermissionCheckResult` response attributes for further details.
5428
+ #
5429
+ # @return [Types::GetDelegationRequestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5430
+ #
5431
+ # * {Types::GetDelegationRequestResponse#delegation_request #delegation_request} => Types::DelegationRequest
5432
+ # * {Types::GetDelegationRequestResponse#permission_check_status #permission_check_status} => String
5433
+ # * {Types::GetDelegationRequestResponse#permission_check_result #permission_check_result} => String
5434
+ #
5435
+ # @example Request syntax with placeholder values
5436
+ #
5437
+ # resp = client.get_delegation_request({
5438
+ # delegation_request_id: "delegationRequestIdType", # required
5439
+ # delegation_permission_check: false,
5440
+ # })
5441
+ #
5442
+ # @example Response structure
5443
+ #
5444
+ # resp.delegation_request.delegation_request_id #=> String
5445
+ # resp.delegation_request.owner_account_id #=> String
5446
+ # resp.delegation_request.description #=> String
5447
+ # resp.delegation_request.request_message #=> String
5448
+ # resp.delegation_request.permissions.policy_template_arn #=> String
5449
+ # resp.delegation_request.permissions.parameters #=> Array
5450
+ # resp.delegation_request.permissions.parameters[0].name #=> String
5451
+ # resp.delegation_request.permissions.parameters[0].values #=> Array
5452
+ # resp.delegation_request.permissions.parameters[0].values[0] #=> String
5453
+ # resp.delegation_request.permissions.parameters[0].type #=> String, one of "string", "stringList"
5454
+ # resp.delegation_request.permission_policy #=> String
5455
+ # resp.delegation_request.role_permission_restriction_arns #=> Array
5456
+ # resp.delegation_request.role_permission_restriction_arns[0] #=> String
5457
+ # resp.delegation_request.owner_id #=> String
5458
+ # resp.delegation_request.approver_id #=> String
5459
+ # resp.delegation_request.state #=> String, one of "UNASSIGNED", "ASSIGNED", "PENDING_APPROVAL", "FINALIZED", "ACCEPTED", "REJECTED", "EXPIRED"
5460
+ # resp.delegation_request.requestor_id #=> String
5461
+ # resp.delegation_request.requestor_name #=> String
5462
+ # resp.delegation_request.create_date #=> Time
5463
+ # resp.delegation_request.session_duration #=> Integer
5464
+ # resp.delegation_request.redirect_url #=> String
5465
+ # resp.delegation_request.notes #=> String
5466
+ # resp.delegation_request.rejection_reason #=> String
5467
+ # resp.delegation_request.only_send_by_owner #=> Boolean
5468
+ # resp.delegation_request.updated_time #=> Time
5469
+ # resp.permission_check_status #=> String, one of "COMPLETE", "IN_PROGRESS", "FAILED"
5470
+ # resp.permission_check_result #=> String, one of "ALLOWED", "DENIED", "UNSURE"
5471
+ #
5472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetDelegationRequest AWS API Documentation
5473
+ #
5474
+ # @overload get_delegation_request(params = {})
5475
+ # @param [Hash] params ({})
5476
+ def get_delegation_request(params = {}, options = {})
5477
+ req = build_request(:get_delegation_request, params)
5478
+ req.send_request(options)
5479
+ end
5480
+
5210
5481
  # Returns a list of IAM users that are in the specified IAM group. You
5211
5482
  # can paginate the results using the `MaxItems` and `Marker` parameters.
5212
5483
  #
@@ -5366,6 +5637,67 @@ module Aws::IAM
5366
5637
  req.send_request(options)
5367
5638
  end
5368
5639
 
5640
+ # Retrieves a human readable summary for a given entity. At this time,
5641
+ # the only supported entity type is `delegation-request`
5642
+ #
5643
+ # This method uses a Large Language Model (LLM) to generate the summary.
5644
+ #
5645
+ # If a delegation request has no owner or owner account,
5646
+ # `GetHumanReadableSummary` for that delegation request can be called by
5647
+ # any account. If the owner account is assigned but there is no owner
5648
+ # id, only identities within that owner account can call
5649
+ # `GetHumanReadableSummary` for the delegation request to retrieve a
5650
+ # summary of that request. Once the delegation request is fully owned,
5651
+ # the owner of the request gets a default permission to get that
5652
+ # delegation request. For more details, read [default permissions
5653
+ # granted to delegation requests](). These rules are identical to
5654
+ # [GetDelegationRequest][1] API behavior, such that a party who has
5655
+ # permissions to call [GetDelegationRequest][1] for a given delegation
5656
+ # request will always be able to retrieve the human readable summary for
5657
+ # that request.
5658
+ #
5659
+ #
5660
+ #
5661
+ # [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetDelegationRequest.html
5662
+ #
5663
+ # @option params [required, String] :entity_arn
5664
+ # Arn of the entity to be summarized. At this time, the only supported
5665
+ # entity type is `delegation-request`
5666
+ #
5667
+ # @option params [String] :locale
5668
+ # A string representing the locale to use for the summary generation.
5669
+ # The supported locale strings are based on the [ Supported languages of
5670
+ # the Amazon Web Services Management Console
5671
+ # ](/awsconsolehelpdocs/latest/gsg/change-language.html#supported-languages).
5672
+ #
5673
+ # @return [Types::GetHumanReadableSummaryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5674
+ #
5675
+ # * {Types::GetHumanReadableSummaryResponse#summary_content #summary_content} => String
5676
+ # * {Types::GetHumanReadableSummaryResponse#locale #locale} => String
5677
+ # * {Types::GetHumanReadableSummaryResponse#summary_state #summary_state} => String
5678
+ #
5679
+ # @example Request syntax with placeholder values
5680
+ #
5681
+ # resp = client.get_human_readable_summary({
5682
+ # entity_arn: "arnType", # required
5683
+ # locale: "localeType",
5684
+ # })
5685
+ #
5686
+ # @example Response structure
5687
+ #
5688
+ # resp.summary_content #=> String
5689
+ # resp.locale #=> String
5690
+ # resp.summary_state #=> String, one of "AVAILABLE", "NOT_AVAILABLE", "NOT_SUPPORTED", "FAILED"
5691
+ #
5692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetHumanReadableSummary AWS API Documentation
5693
+ #
5694
+ # @overload get_human_readable_summary(params = {})
5695
+ # @param [Hash] params ({})
5696
+ def get_human_readable_summary(params = {}, options = {})
5697
+ req = build_request(:get_human_readable_summary, params)
5698
+ req.send_request(options)
5699
+ end
5700
+
5369
5701
  # Retrieves information about the specified instance profile, including
5370
5702
  # the instance profile's path, GUID, ARN, and role. For more
5371
5703
  # information about instance profiles, see [Using instance profiles][1]
@@ -5789,6 +6121,32 @@ module Aws::IAM
5789
6121
  req.send_request(options)
5790
6122
  end
5791
6123
 
6124
+ # Retrieves the configuration information for the outbound identity
6125
+ # federation feature in your Amazon Web Services account. The response
6126
+ # includes the unique issuer URL for your Amazon Web Services account
6127
+ # and the current enabled/disabled status of the feature. Use this
6128
+ # operation to obtain the issuer URL that you need to configure trust
6129
+ # relationships with external services.
6130
+ #
6131
+ # @return [Types::GetOutboundWebIdentityFederationInfoResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6132
+ #
6133
+ # * {Types::GetOutboundWebIdentityFederationInfoResponse#issuer_identifier #issuer_identifier} => String
6134
+ # * {Types::GetOutboundWebIdentityFederationInfoResponse#jwt_vending_enabled #jwt_vending_enabled} => Boolean
6135
+ #
6136
+ # @example Response structure
6137
+ #
6138
+ # resp.issuer_identifier #=> String
6139
+ # resp.jwt_vending_enabled #=> Boolean
6140
+ #
6141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOutboundWebIdentityFederationInfo AWS API Documentation
6142
+ #
6143
+ # @overload get_outbound_web_identity_federation_info(params = {})
6144
+ # @param [Hash] params ({})
6145
+ def get_outbound_web_identity_federation_info(params = {}, options = {})
6146
+ req = build_request(:get_outbound_web_identity_federation_info, params)
6147
+ req.send_request(options)
6148
+ end
6149
+
5792
6150
  # Retrieves information about the specified managed policy, including
5793
6151
  # the policy's default version and the total number of IAM users,
5794
6152
  # groups, and roles to which the policy is attached. To retrieve the
@@ -6530,8 +6888,8 @@ module Aws::IAM
6530
6888
  # User Guide*. Choose the name of the service to view details for that
6531
6889
  # service. In the first paragraph, find the service prefix. For example,
6532
6890
  # `(service prefix: a4b)`. For more information about service
6533
- # namespaces, see [Amazon Web Services service namespaces][2] in
6534
- # the *Amazon Web Services General Reference*.
6891
+ # namespaces, see [Amazon Web Services service namespaces][2] in the
6892
+ # *Amazon Web Services General Reference*.
6535
6893
  #
6536
6894
  #
6537
6895
  #
@@ -7329,6 +7687,93 @@ module Aws::IAM
7329
7687
  req.send_request(options)
7330
7688
  end
7331
7689
 
7690
+ # Lists delegation requests based on the specified criteria.
7691
+ #
7692
+ # If a delegation request has no owner, even if it is assigned to a
7693
+ # specific account, it will not be part of the `ListDelegationRequests`
7694
+ # output for that account.
7695
+ #
7696
+ # For more details, see [ Managing Permissions for Delegation
7697
+ # Requests][1].
7698
+ #
7699
+ #
7700
+ #
7701
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation.html#temporary-delegation-managing-permissions
7702
+ #
7703
+ # @option params [String] :owner_id
7704
+ # The owner ID to filter delegation requests by.
7705
+ #
7706
+ # @option params [String] :marker
7707
+ # Use this parameter only when paginating results and only after you
7708
+ # receive a response indicating that the results are truncated. Set it
7709
+ # to the value of the `Marker` element in the response that you received
7710
+ # to indicate where the next call should start.
7711
+ #
7712
+ # @option params [Integer] :max_items
7713
+ # Use this only when paginating results to indicate the maximum number
7714
+ # of items you want in the response. If additional items exist beyond
7715
+ # the maximum you specify, the `IsTruncated` response element is `true`.
7716
+ #
7717
+ # If you do not include this parameter, the number of items defaults to
7718
+ # 100. Note that IAM may return fewer results, even when there are more
7719
+ # results available. In that case, the `IsTruncated` response element
7720
+ # returns `true`, and `Marker` contains a value to include in the
7721
+ # subsequent call that tells the service where to continue from.
7722
+ #
7723
+ # @return [Types::ListDelegationRequestsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7724
+ #
7725
+ # * {Types::ListDelegationRequestsResponse#delegation_requests #delegation_requests} => Array<Types::DelegationRequest>
7726
+ # * {Types::ListDelegationRequestsResponse#marker #marker} => String
7727
+ # * {Types::ListDelegationRequestsResponse#is_truncated #is_truncated} => Boolean
7728
+ #
7729
+ # @example Request syntax with placeholder values
7730
+ #
7731
+ # resp = client.list_delegation_requests({
7732
+ # owner_id: "ownerIdType",
7733
+ # marker: "markerType",
7734
+ # max_items: 1,
7735
+ # })
7736
+ #
7737
+ # @example Response structure
7738
+ #
7739
+ # resp.delegation_requests #=> Array
7740
+ # resp.delegation_requests[0].delegation_request_id #=> String
7741
+ # resp.delegation_requests[0].owner_account_id #=> String
7742
+ # resp.delegation_requests[0].description #=> String
7743
+ # resp.delegation_requests[0].request_message #=> String
7744
+ # resp.delegation_requests[0].permissions.policy_template_arn #=> String
7745
+ # resp.delegation_requests[0].permissions.parameters #=> Array
7746
+ # resp.delegation_requests[0].permissions.parameters[0].name #=> String
7747
+ # resp.delegation_requests[0].permissions.parameters[0].values #=> Array
7748
+ # resp.delegation_requests[0].permissions.parameters[0].values[0] #=> String
7749
+ # resp.delegation_requests[0].permissions.parameters[0].type #=> String, one of "string", "stringList"
7750
+ # resp.delegation_requests[0].permission_policy #=> String
7751
+ # resp.delegation_requests[0].role_permission_restriction_arns #=> Array
7752
+ # resp.delegation_requests[0].role_permission_restriction_arns[0] #=> String
7753
+ # resp.delegation_requests[0].owner_id #=> String
7754
+ # resp.delegation_requests[0].approver_id #=> String
7755
+ # resp.delegation_requests[0].state #=> String, one of "UNASSIGNED", "ASSIGNED", "PENDING_APPROVAL", "FINALIZED", "ACCEPTED", "REJECTED", "EXPIRED"
7756
+ # resp.delegation_requests[0].requestor_id #=> String
7757
+ # resp.delegation_requests[0].requestor_name #=> String
7758
+ # resp.delegation_requests[0].create_date #=> Time
7759
+ # resp.delegation_requests[0].session_duration #=> Integer
7760
+ # resp.delegation_requests[0].redirect_url #=> String
7761
+ # resp.delegation_requests[0].notes #=> String
7762
+ # resp.delegation_requests[0].rejection_reason #=> String
7763
+ # resp.delegation_requests[0].only_send_by_owner #=> Boolean
7764
+ # resp.delegation_requests[0].updated_time #=> Time
7765
+ # resp.marker #=> String
7766
+ # resp.is_truncated #=> Boolean
7767
+ #
7768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ListDelegationRequests AWS API Documentation
7769
+ #
7770
+ # @overload list_delegation_requests(params = {})
7771
+ # @param [Hash] params ({})
7772
+ def list_delegation_requests(params = {}, options = {})
7773
+ req = build_request(:list_delegation_requests, params)
7774
+ req.send_request(options)
7775
+ end
7776
+
7332
7777
  # Lists all IAM users, groups, and roles that the specified managed
7333
7778
  # policy is attached to.
7334
7779
  #
@@ -7379,10 +7824,9 @@ module Aws::IAM
7379
7824
  # @option params [String] :policy_usage_filter
7380
7825
  # The policy usage method to use for filtering the results.
7381
7826
  #
7382
- # To list only permissions policies,
7383
- # set `PolicyUsageFilter` to `PermissionsPolicy`. To list only the
7384
- # policies used to set permissions boundaries, set the value
7385
- # to `PermissionsBoundary`.
7827
+ # To list only permissions policies, set `PolicyUsageFilter` to
7828
+ # `PermissionsPolicy`. To list only the policies used to set permissions
7829
+ # boundaries, set the value to `PermissionsBoundary`.
7386
7830
  #
7387
7831
  # This parameter is optional. If it is not included, all policies are
7388
7832
  # returned.
@@ -8392,10 +8836,9 @@ module Aws::IAM
8392
8836
  # @option params [String] :policy_usage_filter
8393
8837
  # The policy usage method to use for filtering the results.
8394
8838
  #
8395
- # To list only permissions policies,
8396
- # set `PolicyUsageFilter` to `PermissionsPolicy`. To list only the
8397
- # policies used to set permissions boundaries, set the value
8398
- # to `PermissionsBoundary`.
8839
+ # To list only permissions policies, set `PolicyUsageFilter` to
8840
+ # `PermissionsPolicy`. To list only the policies used to set permissions
8841
+ # boundaries, set the value to `PermissionsBoundary`.
8399
8842
  #
8400
8843
  # This parameter is optional. If it is not included, all policies are
8401
8844
  # returned.
@@ -8529,8 +8972,8 @@ module Aws::IAM
8529
8972
  # User Guide*. Choose the name of the service to view details for that
8530
8973
  # service. In the first paragraph, find the service prefix. For example,
8531
8974
  # `(service prefix: a4b)`. For more information about service
8532
- # namespaces, see [Amazon Web Services service namespaces][2] in
8533
- # the *Amazon Web Services General Reference*.
8975
+ # namespaces, see [Amazon Web Services service namespaces][2] in the
8976
+ # *Amazon Web Services General Reference*.
8534
8977
  #
8535
8978
  #
8536
8979
  #
@@ -10459,6 +10902,46 @@ module Aws::IAM
10459
10902
  req.send_request(options)
10460
10903
  end
10461
10904
 
10905
+ # Rejects a delegation request, denying the requested temporary access.
10906
+ #
10907
+ # Once a request is rejected, it cannot be accepted or updated later.
10908
+ # Rejected requests expire after 7 days.
10909
+ #
10910
+ # When rejecting a request, an optional explanation can be added using
10911
+ # the `Notes` request parameter.
10912
+ #
10913
+ # For more details, see [ Managing Permissions for Delegation
10914
+ # Requests][1].
10915
+ #
10916
+ #
10917
+ #
10918
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation.html#temporary-delegation-managing-permissions
10919
+ #
10920
+ # @option params [required, String] :delegation_request_id
10921
+ # The unique identifier of the delegation request to reject.
10922
+ #
10923
+ # @option params [String] :notes
10924
+ # Optional notes explaining the reason for rejecting the delegation
10925
+ # request.
10926
+ #
10927
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10928
+ #
10929
+ # @example Request syntax with placeholder values
10930
+ #
10931
+ # resp = client.reject_delegation_request({
10932
+ # delegation_request_id: "delegationRequestIdType", # required
10933
+ # notes: "notesType",
10934
+ # })
10935
+ #
10936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/RejectDelegationRequest AWS API Documentation
10937
+ #
10938
+ # @overload reject_delegation_request(params = {})
10939
+ # @param [Hash] params ({})
10940
+ def reject_delegation_request(params = {}, options = {})
10941
+ req = build_request(:reject_delegation_request, params)
10942
+ req.send_request(options)
10943
+ end
10944
+
10462
10945
  # Removes the specified client ID (also known as audience) from the list
10463
10946
  # of client IDs registered for the specified IAM OpenID Connect (OIDC)
10464
10947
  # provider resource object.
@@ -10757,6 +11240,45 @@ module Aws::IAM
10757
11240
  req.send_request(options)
10758
11241
  end
10759
11242
 
11243
+ # Sends the exchange token for an accepted delegation request.
11244
+ #
11245
+ # The exchange token is sent to the partner via an asynchronous
11246
+ # notification channel, established by the partner.
11247
+ #
11248
+ # The delegation request must be in the `ACCEPTED` state when calling
11249
+ # this API. After the `SendDelegationToken` API call is successful, the
11250
+ # request transitions to a `FINALIZED` state and cannot be rolled back.
11251
+ # However, a user may reject an accepted request before the
11252
+ # `SendDelegationToken` API is called.
11253
+ #
11254
+ # For more details, see [ Managing Permissions for Delegation
11255
+ # Requests][1].
11256
+ #
11257
+ #
11258
+ #
11259
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation.html#temporary-delegation-managing-permissions
11260
+ #
11261
+ # @option params [required, String] :delegation_request_id
11262
+ # The unique identifier of the delegation request for which to send the
11263
+ # token.
11264
+ #
11265
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
11266
+ #
11267
+ # @example Request syntax with placeholder values
11268
+ #
11269
+ # resp = client.send_delegation_token({
11270
+ # delegation_request_id: "delegationRequestIdType", # required
11271
+ # })
11272
+ #
11273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SendDelegationToken AWS API Documentation
11274
+ #
11275
+ # @overload send_delegation_token(params = {})
11276
+ # @param [Hash] params ({})
11277
+ def send_delegation_token(params = {}, options = {})
11278
+ req = build_request(:send_delegation_token, params)
11279
+ req.send_request(options)
11280
+ end
11281
+
10760
11282
  # Sets the specified version of the specified policy as the policy's
10761
11283
  # default (operative) version.
10762
11284
  #
@@ -12943,6 +13465,42 @@ module Aws::IAM
12943
13465
  req.send_request(options)
12944
13466
  end
12945
13467
 
13468
+ # Updates an existing delegation request with additional information.
13469
+ # When the delegation request is updated, it reaches the
13470
+ # `PENDING_APPROVAL` state.
13471
+ #
13472
+ # Once a delegation request has an owner, that owner gets a default
13473
+ # permission to update the delegation request. For more details, see [
13474
+ # Managing Permissions for Delegation Requests][1].
13475
+ #
13476
+ #
13477
+ #
13478
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation.html#temporary-delegation-managing-permissions
13479
+ #
13480
+ # @option params [required, String] :delegation_request_id
13481
+ # The unique identifier of the delegation request to update.
13482
+ #
13483
+ # @option params [String] :notes
13484
+ # Additional notes or comments to add to the delegation request.
13485
+ #
13486
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
13487
+ #
13488
+ # @example Request syntax with placeholder values
13489
+ #
13490
+ # resp = client.update_delegation_request({
13491
+ # delegation_request_id: "delegationRequestIdType", # required
13492
+ # notes: "notesType",
13493
+ # })
13494
+ #
13495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/UpdateDelegationRequest AWS API Documentation
13496
+ #
13497
+ # @overload update_delegation_request(params = {})
13498
+ # @param [Hash] params ({})
13499
+ def update_delegation_request(params = {}, options = {})
13500
+ req = build_request(:update_delegation_request, params)
13501
+ req.send_request(options)
13502
+ end
13503
+
12946
13504
  # Updates the name and/or the path of the specified IAM group.
12947
13505
  #
12948
13506
  # You should understand the implications of changing a group's path or
@@ -14131,7 +14689,7 @@ module Aws::IAM
14131
14689
  tracer: tracer
14132
14690
  )
14133
14691
  context[:gem_name] = 'aws-sdk-iam'
14134
- context[:gem_version] = '1.133.0'
14692
+ context[:gem_version] = '1.135.0'
14135
14693
  Seahorse::Client::Request.new(handlers, context)
14136
14694
  end
14137
14695