aws-sdk-iam 1.18.0 → 1.19.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
  SHA1:
3
- metadata.gz: 9a2a7a134a2e009e746e17c4d2ae3df29c568b8e
4
- data.tar.gz: a34ec7b5e4a99be770088485a4dc7eb66b72e353
3
+ metadata.gz: 1457de0111415e588e2e32acb8ab467046c2cf63
4
+ data.tar.gz: 573c6f1ff4a8edd600f7a10f7f689f063a072a09
5
5
  SHA512:
6
- metadata.gz: 57fd8e9a24f3ccf237175f680fdd6ec391c743573714a8aebe12f9d3ceb4aa0463d17a31fa97d32acb582c706f21a0d8f2520b057410faa47ee3e485011f58e2
7
- data.tar.gz: 2945ee431bb18eb7fb94ed36b1931dda941abae06ad6c01e4a1525e3af03773878a65f18454cddac2b1ed8c570f0b1fe79b58c62a25f7e9831e0477c74dc8c03
6
+ metadata.gz: eba4de99198ab8afdccdf5b3c2828d475d490529419c0fdabb4e1616efb4081b1546d4543f546cfd9fe1b6786805c98b8cab63026fab149a306c88d485f9a2cf
7
+ data.tar.gz: 9c3a35387fb0838eafe48630829bc7d38af64f8ff84f65bdc6f9d054fd3c34723da436134b044f51e844c7fd0f4bb4f7cbb4ea6144956f4897cb0f8fba0762bd
data/lib/aws-sdk-iam.rb CHANGED
@@ -64,6 +64,6 @@ require_relative 'aws-sdk-iam/customizations'
64
64
  # @service
65
65
  module Aws::IAM
66
66
 
67
- GEM_VERSION = '1.18.0'
67
+ GEM_VERSION = '1.19.0'
68
68
 
69
69
  end
@@ -1112,14 +1112,13 @@ module Aws::IAM
1112
1112
  # application or applications that are allowed to authenticate using
1113
1113
  # the OIDC provider
1114
1114
  #
1115
- # * A list of thumbprints of the server certificate(s) that the IdP
1116
- # uses.
1115
+ # * A list of thumbprints of the server certificate(s) that the IdP uses
1117
1116
  #
1118
1117
  # You get all of this information from the OIDC IdP that you want to use
1119
1118
  # to access AWS.
1120
1119
  #
1121
- # <note markdown="1"> Because trust for the OIDC provider is derived from the IAM provider
1122
- # that this operation creates, it is best to limit access to the
1120
+ # <note markdown="1"> The trust for the OIDC provider is derived from the IAM provider that
1121
+ # this operation creates. Therefore, it is best to limit access to the
1123
1122
  # CreateOpenIDConnectProvider operation to highly privileged users.
1124
1123
  #
1125
1124
  # </note>
@@ -1614,7 +1613,7 @@ module Aws::IAM
1614
1613
  #
1615
1614
  # The SAML provider resource that you create with this operation can be
1616
1615
  # used as a principal in an IAM role's trust policy. Such a policy can
1617
- # enable federated users who sign-in using the SAML IdP to assume the
1616
+ # enable federated users who sign in using the SAML IdP to assume the
1618
1617
  # role. You can create an IAM role that supports Web-based single
1619
1618
  # sign-on (SSO) to the AWS Management Console or one that supports API
1620
1619
  # access to AWS.
@@ -1714,8 +1713,8 @@ module Aws::IAM
1714
1713
  #
1715
1714
  # Service principals are unique and case-sensitive. To find the exact
1716
1715
  # service principal for your service-linked role, see [AWS Services That
1717
- # Work with IAM][1] in the *IAM User Guide* and look for the services
1718
- # that have <b>Yes </b>in the **Service-Linked Role** column. Choose the
1716
+ # Work with IAM][1] in the *IAM User Guide*. Look for the services that
1717
+ # have <b>Yes </b>in the **Service-Linked Role** column. Choose the
1719
1718
  # **Yes** link to view the service-linked role documentation for that
1720
1719
  # service.
1721
1720
  #
@@ -1977,10 +1976,10 @@ module Aws::IAM
1977
1976
  # create, see [Limitations on Entities][2] in the *IAM User Guide*.
1978
1977
  #
1979
1978
  # The seed information contained in the QR code and the Base32 string
1980
- # should be treated like any other secret access information, such as
1981
- # your AWS access keys or your passwords. After you provision your
1982
- # virtual device, you should ensure that the information is destroyed
1983
- # following secure procedures.
1979
+ # should be treated like any other secret access information. In other
1980
+ # words, protect the seed information as you would your AWS access keys
1981
+ # or your passwords. After you provision your virtual device, you should
1982
+ # ensure that the information is destroyed following secure procedures.
1984
1983
  #
1985
1984
  #
1986
1985
  #
@@ -2638,8 +2637,8 @@ module Aws::IAM
2638
2637
  # Deletes the permissions boundary for the specified IAM role.
2639
2638
  #
2640
2639
  # Deleting the permissions boundary for a role might increase its
2641
- # permissions by allowing anyone who assumes the role to perform all the
2642
- # actions granted in its permissions policies.
2640
+ # permissions. For example, it might allow anyone who assumes the role
2641
+ # to perform all the actions granted in its permissions policies.
2643
2642
  #
2644
2643
  # @option params [required, String] :role_name
2645
2644
  # The name (friendly name, not ARN) of the IAM role from which you want
@@ -3024,9 +3023,34 @@ module Aws::IAM
3024
3023
  req.send_request(options)
3025
3024
  end
3026
3025
 
3027
- # Deletes the specified IAM user. The user must not belong to any groups
3028
- # or have any access keys, signing certificates, MFA devices enabled for
3029
- # AWS, or attached policies.
3026
+ # Deletes the specified IAM user. Unlike the AWS Management Console,
3027
+ # when you delete a user programmatically, you must delete the items
3028
+ # attached to the user manually, or the deletion fails. For more
3029
+ # information, see [Deleting an IAM User][1]. Before attempting to
3030
+ # delete a user, remove the following items:
3031
+ #
3032
+ # * Password (DeleteLoginProfile)
3033
+ #
3034
+ # * Access keys (DeleteAccessKey)
3035
+ #
3036
+ # * Signing certificate (DeleteSigningCertificate)
3037
+ #
3038
+ # * SSH public key (DeleteSSHPublicKey)
3039
+ #
3040
+ # * Git credentials (DeleteServiceSpecificCredential)
3041
+ #
3042
+ # * Multi-factor authentication (MFA) device (DeactivateMFADevice,
3043
+ # DeleteVirtualMFADevice)
3044
+ #
3045
+ # * Inline policies (DeleteUserPolicy)
3046
+ #
3047
+ # * Attached managed policies (DetachUserPolicy)
3048
+ #
3049
+ # * Group memberships (RemoveUserFromGroup)
3050
+ #
3051
+ #
3052
+ #
3053
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting_cli
3030
3054
  #
3031
3055
  # @option params [required, String] :user_name
3032
3056
  # The name of the user to delete.
@@ -3473,7 +3497,7 @@ module Aws::IAM
3473
3497
  # IAM resource (user, group, role, or policy) was last used in an
3474
3498
  # attempt to access AWS services. Recent activity usually appears within
3475
3499
  # four hours. IAM reports activity for the last 365 days, or less if
3476
- # your region began supporting this feature within the last year. For
3500
+ # your Region began supporting this feature within the last year. For
3477
3501
  # more information, see [Regions Where Data Is Tracked][1].
3478
3502
  #
3479
3503
  # The service last accessed data includes all attempts to access an AWS
@@ -3574,7 +3598,7 @@ module Aws::IAM
3574
3598
 
3575
3599
  # Retrieves information about when the specified access key was last
3576
3600
  # used. The information includes the date and time of last use, along
3577
- # with the AWS service and region that were specified in the last
3601
+ # with the AWS service and Region that were specified in the last
3578
3602
  # request made with that key.
3579
3603
  #
3580
3604
  # @option params [required, String] :access_key_id
@@ -3869,6 +3893,7 @@ module Aws::IAM
3869
3893
  # "AttachedPoliciesPerGroupQuota" => 10,
3870
3894
  # "AttachedPoliciesPerRoleQuota" => 10,
3871
3895
  # "AttachedPoliciesPerUserQuota" => 10,
3896
+ # "GlobalEndpointTokenVersion" => 2,
3872
3897
  # "GroupPolicySizeQuota" => 5120,
3873
3898
  # "Groups" => 15,
3874
3899
  # "GroupsPerUserQuota" => 10,
@@ -4933,10 +4958,10 @@ module Aws::IAM
4933
4958
  # the reason that it failed.
4934
4959
  #
4935
4960
  # The `GetServiceLastAccessedDetails` operation returns a list of
4936
- # services that includes the number of entities that have attempted to
4937
- # access the service and the date and time of the last attempt. It also
4938
- # returns the ARN of the following entity, depending on the resource ARN
4939
- # that you used to generate the report:
4961
+ # services. This list includes the number of entities that have
4962
+ # attempted to access the service and the date and time of the last
4963
+ # attempt. It also returns the ARN of the following entity, depending on
4964
+ # the resource ARN that you used to generate the report:
4940
4965
  #
4941
4966
  # * **User** – Returns the user ARN that you used to generate the report
4942
4967
  #
@@ -5085,7 +5110,7 @@ module Aws::IAM
5085
5110
  #
5086
5111
  # To learn the service namespace for a service, go to [Actions,
5087
5112
  # Resources, and Condition Keys for AWS Services][1] in the *IAM User
5088
- # Guide* and choose the name of the service to view details for that
5113
+ # Guide*. Choose the name of the service to view details for that
5089
5114
  # service. In the first paragraph, find the service prefix. For example,
5090
5115
  # `(service prefix: a4b)`. For more information about service
5091
5116
  # namespaces, see [AWS Service Namespaces][2] in the *AWS General
@@ -5324,7 +5349,7 @@ module Aws::IAM
5324
5349
  #
5325
5350
  # An IAM user can also have managed policies attached to it. To retrieve
5326
5351
  # a managed policy document that is attached to a user, use GetPolicy to
5327
- # determine the policy's default version, then use GetPolicyVersion to
5352
+ # determine the policy's default version. Then use GetPolicyVersion to
5328
5353
  # retrieve the policy document.
5329
5354
  #
5330
5355
  # For more information about policies, see [Managed Policies and Inline
@@ -6986,8 +7011,8 @@ module Aws::IAM
6986
7011
  # @option params [String] :marker
6987
7012
  # Use this parameter only when paginating results and only after you
6988
7013
  # receive a response indicating that the results are truncated. Set it
6989
- # to the value of the `Marker` element in the response to indicate where
6990
- # the next call should start.
7014
+ # to the value of the `Marker` element in the response that you received
7015
+ # to indicate where the next call should start.
6991
7016
  #
6992
7017
  # @option params [Integer] :max_items
6993
7018
  # (Optional) Use this only when paginating results to indicate the
@@ -7175,8 +7200,8 @@ module Aws::IAM
7175
7200
  end
7176
7201
 
7177
7202
  # Returns information about the SSH public keys associated with the
7178
- # specified IAM user. If there none exists, the operation returns an
7179
- # empty list.
7203
+ # specified IAM user. If none exists, the operation returns an empty
7204
+ # list.
7180
7205
  #
7181
7206
  # The SSH public keys returned by this operation are used only for
7182
7207
  # authenticating the IAM user to an AWS CodeCommit repository. For more
@@ -7402,8 +7427,8 @@ module Aws::IAM
7402
7427
  end
7403
7428
 
7404
7429
  # Returns information about the signing certificates associated with the
7405
- # specified IAM user. If there none exists, the operation returns an
7406
- # empty list.
7430
+ # specified IAM user. If none exists, the operation returns an empty
7431
+ # list.
7407
7432
  #
7408
7433
  # Although each user is limited to a small number of signing
7409
7434
  # certificates, you can still paginate the results using the `MaxItems`
@@ -7599,8 +7624,8 @@ module Aws::IAM
7599
7624
  # @option params [String] :marker
7600
7625
  # Use this parameter only when paginating results and only after you
7601
7626
  # receive a response indicating that the results are truncated. Set it
7602
- # to the value of the `Marker` element in the response to indicate where
7603
- # the next call should start.
7627
+ # to the value of the `Marker` element in the response that you received
7628
+ # to indicate where the next call should start.
7604
7629
  #
7605
7630
  # @option params [Integer] :max_items
7606
7631
  # (Optional) Use this only when paginating results to indicate the
@@ -8605,6 +8630,76 @@ module Aws::IAM
8605
8630
  req.send_request(options)
8606
8631
  end
8607
8632
 
8633
+ # Sets the specified version of the global endpoint token as the token
8634
+ # version used for the AWS account.
8635
+ #
8636
+ # By default, AWS Security Token Service (STS) is available as a global
8637
+ # service, and all STS requests go to a single endpoint at
8638
+ # `https://sts.amazonaws.com`. AWS recommends using Regional STS
8639
+ # endpoints to reduce latency, build in redundancy, and increase session
8640
+ # token availability. For information about Regional endpoints for STS,
8641
+ # see [AWS Regions and Endpoints][1] in the *AWS General Reference*.
8642
+ #
8643
+ # If you make an STS call to the global endpoint, the resulting session
8644
+ # tokens might be valid in some Regions but not others. It depends on
8645
+ # the version that is set in this operation. Version 1 tokens are valid
8646
+ # only in AWS Regions that are available by default. These tokens do not
8647
+ # work in manually enabled Regions, such as Asia Pacific (Hong Kong).
8648
+ # Version 2 tokens are valid in all Regions. However, version 2 tokens
8649
+ # are longer and might affect systems where you temporarily store
8650
+ # tokens. For information, see [Activating and Deactivating STS in an
8651
+ # AWS Region][2] in the *IAM User Guide*.
8652
+ #
8653
+ # To view the current session token version, see the
8654
+ # `GlobalEndpointTokenVersion` entry in the response of the
8655
+ # GetAccountSummary operation.
8656
+ #
8657
+ #
8658
+ #
8659
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region
8660
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
8661
+ #
8662
+ # @option params [required, String] :global_endpoint_token_version
8663
+ # The version of the global endpoint token. Version 1 tokens are valid
8664
+ # only in AWS Regions that are available by default. These tokens do not
8665
+ # work in manually enabled Regions, such as Asia Pacific (Hong Kong).
8666
+ # Version 2 tokens are valid in all Regions. However, version 2 tokens
8667
+ # are longer and might affect systems where you temporarily store
8668
+ # tokens.
8669
+ #
8670
+ # For information, see [Activating and Deactivating STS in an AWS
8671
+ # Region][1] in the *IAM User Guide*.
8672
+ #
8673
+ #
8674
+ #
8675
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
8676
+ #
8677
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8678
+ #
8679
+ #
8680
+ # @example Example: To delete an access key for an IAM user
8681
+ #
8682
+ # # The following command sets the STS global endpoint token to version 2. Version 2 tokens are valid in all Regions.
8683
+ #
8684
+ # resp = client.set_security_token_service_preferences({
8685
+ # global_endpoint_token_version: "v2Token",
8686
+ # })
8687
+ #
8688
+ # @example Request syntax with placeholder values
8689
+ #
8690
+ # resp = client.set_security_token_service_preferences({
8691
+ # global_endpoint_token_version: "v1Token", # required, accepts v1Token, v2Token
8692
+ # })
8693
+ #
8694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetSecurityTokenServicePreferences AWS API Documentation
8695
+ #
8696
+ # @overload set_security_token_service_preferences(params = {})
8697
+ # @param [Hash] params ({})
8698
+ def set_security_token_service_preferences(params = {}, options = {})
8699
+ req = build_request(:set_security_token_service_preferences, params)
8700
+ req.send_request(options)
8701
+ end
8702
+
8608
8703
  # Simulate how a set of IAM policies and optionally a resource-based
8609
8704
  # policy works with a list of API operations and AWS resources to
8610
8705
  # determine the policies' effective permissions. The policies are
@@ -8658,7 +8753,8 @@ module Aws::IAM
8658
8753
  # @option params [required, Array<String>] :action_names
8659
8754
  # A list of names of API operations to evaluate in the simulation. Each
8660
8755
  # operation is evaluated against each resource. Each operation must
8661
- # include the service identifier, such as `iam:CreateUser`.
8756
+ # include the service identifier, such as `iam:CreateUser`. This
8757
+ # operation does not support using wildcards (*) in an action name.
8662
8758
  #
8663
8759
  # @option params [Array<String>] :resource_arns
8664
8760
  # A list of ARNs of AWS resources to include in the simulation. If this
@@ -8709,14 +8805,15 @@ module Aws::IAM
8709
8805
  # @option params [String] :resource_owner
8710
8806
  # An ARN representing the AWS account ID that specifies the owner of any
8711
8807
  # simulated resource that does not identify its owner in the resource
8712
- # ARN, such as an S3 bucket or object. If `ResourceOwner` is specified,
8713
- # it is also used as the account owner of any `ResourcePolicy` included
8714
- # in the simulation. If the `ResourceOwner` parameter is not specified,
8715
- # then the owner of the resources and the resource policy defaults to
8716
- # the account of the identity provided in `CallerArn`. This parameter is
8717
- # required only if you specify a resource-based policy and account that
8718
- # owns the resource is different from the account that owns the
8719
- # simulated calling user `CallerArn`.
8808
+ # ARN. Examples of resource ARNs include an S3 bucket or object. If
8809
+ # `ResourceOwner` is specified, it is also used as the account owner of
8810
+ # any `ResourcePolicy` included in the simulation. If the
8811
+ # `ResourceOwner` parameter is not specified, then the owner of the
8812
+ # resources and the resource policy defaults to the account of the
8813
+ # identity provided in `CallerArn`. This parameter is required only if
8814
+ # you specify a resource-based policy and account that owns the resource
8815
+ # is different from the account that owns the simulated calling user
8816
+ # `CallerArn`.
8720
8817
  #
8721
8818
  # The ARN for an account uses the following syntax:
8722
8819
  # `arn:aws:iam::AWS-account-ID:root`. For example, to represent the
@@ -8735,7 +8832,7 @@ module Aws::IAM
8735
8832
  # @option params [Array<Types::ContextEntry>] :context_entries
8736
8833
  # A list of context keys and corresponding values for the simulation to
8737
8834
  # use. Whenever a context key is evaluated in one of the simulated IAM
8738
- # permission policies, the corresponding value is supplied.
8835
+ # permissions policies, the corresponding value is supplied.
8739
8836
  #
8740
8837
  # @option params [String] :resource_handling_option
8741
8838
  # Specifies the type of simulation to run. Different API operations that
@@ -8886,7 +8983,7 @@ module Aws::IAM
8886
8983
  # You can also optionally include one resource-based policy to be
8887
8984
  # evaluated with each of the resources included in the simulation.
8888
8985
  #
8889
- # The simulation does not perform the API operations, it only checks the
8986
+ # The simulation does not perform the API operations; it only checks the
8890
8987
  # authorization to determine if the simulated policies allow or deny the
8891
8988
  # operations.
8892
8989
  #
@@ -8989,15 +9086,15 @@ module Aws::IAM
8989
9086
  #
8990
9087
  # @option params [String] :resource_owner
8991
9088
  # An AWS account ID that specifies the owner of any simulated resource
8992
- # that does not identify its owner in the resource ARN, such as an S3
8993
- # bucket or object. If `ResourceOwner` is specified, it is also used as
8994
- # the account owner of any `ResourcePolicy` included in the simulation.
8995
- # If the `ResourceOwner` parameter is not specified, then the owner of
8996
- # the resources and the resource policy defaults to the account of the
8997
- # identity provided in `CallerArn`. This parameter is required only if
8998
- # you specify a resource-based policy and account that owns the resource
8999
- # is different from the account that owns the simulated calling user
9000
- # `CallerArn`.
9089
+ # that does not identify its owner in the resource ARN. Examples of
9090
+ # resource ARNs include an S3 bucket or object. If `ResourceOwner` is
9091
+ # specified, it is also used as the account owner of any
9092
+ # `ResourcePolicy` included in the simulation. If the `ResourceOwner`
9093
+ # parameter is not specified, then the owner of the resources and the
9094
+ # resource policy defaults to the account of the identity provided in
9095
+ # `CallerArn`. This parameter is required only if you specify a
9096
+ # resource-based policy and account that owns the resource is different
9097
+ # from the account that owns the simulated calling user `CallerArn`.
9001
9098
  #
9002
9099
  # @option params [String] :caller_arn
9003
9100
  # The ARN of the IAM user that you want to specify as the simulated
@@ -9474,7 +9571,7 @@ module Aws::IAM
9474
9571
  # Inactive, or vice versa. This operation can be used to disable a
9475
9572
  # user's key as part of a key rotation workflow.
9476
9573
  #
9477
- # If the `UserName` field is not specified, the user name is determined
9574
+ # If the `UserName` is not specified, the user name is determined
9478
9575
  # implicitly based on the AWS access key ID used to sign the request.
9479
9576
  # This operation works for access keys under the AWS account.
9480
9577
  # Consequently, you can use this operation to manage AWS account root
@@ -10595,7 +10692,7 @@ module Aws::IAM
10595
10692
  #
10596
10693
  #
10597
10694
  #
10598
- # [1]: https://docs.aws.amazon.com/certificate-manager/
10695
+ # [1]: https://docs.aws.amazon.com/acm/
10599
10696
  # [2]: https://docs.aws.amazon.com/acm/latest/userguide/
10600
10697
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html
10601
10698
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html
@@ -10758,9 +10855,9 @@ module Aws::IAM
10758
10855
  # to validate requests that are signed with a corresponding private key.
10759
10856
  # When you upload the certificate, its default status is `Active`.
10760
10857
  #
10761
- # If the `UserName` field is not specified, the IAM user name is
10762
- # determined implicitly based on the AWS access key ID used to sign the
10763
- # request. This operation works for access keys under the AWS account.
10858
+ # If the `UserName` is not specified, the IAM user name is determined
10859
+ # implicitly based on the AWS access key ID used to sign the request.
10860
+ # This operation works for access keys under the AWS account.
10764
10861
  # Consequently, you can use this operation to manage AWS account root
10765
10862
  # user credentials even if the AWS account has no associated users.
10766
10863
  #
@@ -10871,7 +10968,7 @@ module Aws::IAM
10871
10968
  params: params,
10872
10969
  config: config)
10873
10970
  context[:gem_name] = 'aws-sdk-iam'
10874
- context[:gem_version] = '1.18.0'
10971
+ context[:gem_version] = '1.19.0'
10875
10972
  Seahorse::Client::Request.new(handlers, context)
10876
10973
  end
10877
10974
 
@@ -10940,6 +11037,8 @@ module Aws::IAM
10940
11037
  # | waiter_name | params | :delay | :max_attempts |
10941
11038
  # | ----------------------- | ----------------------- | -------- | ------------- |
10942
11039
  # | instance_profile_exists | {#get_instance_profile} | 1 | 40 |
11040
+ # | policy_exists | {#get_policy} | 1 | 20 |
11041
+ # | role_exists | {#get_role} | 1 | 20 |
10943
11042
  # | user_exists | {#get_user} | 1 | 20 |
10944
11043
  #
10945
11044
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
@@ -10992,6 +11091,8 @@ module Aws::IAM
10992
11091
  def waiters
10993
11092
  {
10994
11093
  instance_profile_exists: Waiters::InstanceProfileExists,
11094
+ policy_exists: Waiters::PolicyExists,
11095
+ role_exists: Waiters::RoleExists,
10995
11096
  user_exists: Waiters::UserExists
10996
11097
  }
10997
11098
  end
@@ -300,6 +300,7 @@ module Aws::IAM
300
300
  ServiceSpecificCredentialsListType = Shapes::ListShape.new(name: 'ServiceSpecificCredentialsListType')
301
301
  ServicesLastAccessed = Shapes::ListShape.new(name: 'ServicesLastAccessed')
302
302
  SetDefaultPolicyVersionRequest = Shapes::StructureShape.new(name: 'SetDefaultPolicyVersionRequest')
303
+ SetSecurityTokenServicePreferencesRequest = Shapes::StructureShape.new(name: 'SetSecurityTokenServicePreferencesRequest')
303
304
  SigningCertificate = Shapes::StructureShape.new(name: 'SigningCertificate')
304
305
  SimulateCustomPolicyRequest = Shapes::StructureShape.new(name: 'SimulateCustomPolicyRequest')
305
306
  SimulatePolicyResponse = Shapes::StructureShape.new(name: 'SimulatePolicyResponse')
@@ -373,6 +374,7 @@ module Aws::IAM
373
374
  entityNameType = Shapes::StringShape.new(name: 'entityNameType')
374
375
  entityTemporarilyUnmodifiableMessage = Shapes::StringShape.new(name: 'entityTemporarilyUnmodifiableMessage')
375
376
  existingUserNameType = Shapes::StringShape.new(name: 'existingUserNameType')
377
+ globalEndpointTokenVersion = Shapes::StringShape.new(name: 'globalEndpointTokenVersion')
376
378
  groupDetailListType = Shapes::ListShape.new(name: 'groupDetailListType')
377
379
  groupListType = Shapes::ListShape.new(name: 'groupListType')
378
380
  groupNameListType = Shapes::ListShape.new(name: 'groupNameListType')
@@ -423,6 +425,7 @@ module Aws::IAM
423
425
  publicKeyFingerprintType = Shapes::StringShape.new(name: 'publicKeyFingerprintType')
424
426
  publicKeyIdType = Shapes::StringShape.new(name: 'publicKeyIdType')
425
427
  publicKeyMaterialType = Shapes::StringShape.new(name: 'publicKeyMaterialType')
428
+ responseMarkerType = Shapes::StringShape.new(name: 'responseMarkerType')
426
429
  roleDescriptionType = Shapes::StringShape.new(name: 'roleDescriptionType')
427
430
  roleDetailListType = Shapes::ListShape.new(name: 'roleDetailListType')
428
431
  roleListType = Shapes::ListShape.new(name: 'roleListType')
@@ -794,7 +797,7 @@ module Aws::IAM
794
797
  GetAccountAuthorizationDetailsResponse.add_member(:role_detail_list, Shapes::ShapeRef.new(shape: roleDetailListType, location_name: "RoleDetailList"))
795
798
  GetAccountAuthorizationDetailsResponse.add_member(:policies, Shapes::ShapeRef.new(shape: ManagedPolicyDetailListType, location_name: "Policies"))
796
799
  GetAccountAuthorizationDetailsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
797
- GetAccountAuthorizationDetailsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
800
+ GetAccountAuthorizationDetailsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
798
801
  GetAccountAuthorizationDetailsResponse.struct_class = Types::GetAccountAuthorizationDetailsResponse
799
802
 
800
803
  GetAccountPasswordPolicyResponse.add_member(:password_policy, Shapes::ShapeRef.new(shape: PasswordPolicy, required: true, location_name: "PasswordPolicy"))
@@ -835,7 +838,7 @@ module Aws::IAM
835
838
  GetGroupResponse.add_member(:group, Shapes::ShapeRef.new(shape: Group, required: true, location_name: "Group"))
836
839
  GetGroupResponse.add_member(:users, Shapes::ShapeRef.new(shape: userListType, required: true, location_name: "Users"))
837
840
  GetGroupResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
838
- GetGroupResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
841
+ GetGroupResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
839
842
  GetGroupResponse.struct_class = Types::GetGroupResponse
840
843
 
841
844
  GetInstanceProfileRequest.add_member(:instance_profile_name, Shapes::ShapeRef.new(shape: instanceProfileNameType, required: true, location_name: "InstanceProfileName"))
@@ -919,7 +922,7 @@ module Aws::IAM
919
922
  GetServiceLastAccessedDetailsResponse.add_member(:services_last_accessed, Shapes::ShapeRef.new(shape: ServicesLastAccessed, required: true, location_name: "ServicesLastAccessed"))
920
923
  GetServiceLastAccessedDetailsResponse.add_member(:job_completion_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCompletionDate"))
921
924
  GetServiceLastAccessedDetailsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
922
- GetServiceLastAccessedDetailsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
925
+ GetServiceLastAccessedDetailsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
923
926
  GetServiceLastAccessedDetailsResponse.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
924
927
  GetServiceLastAccessedDetailsResponse.struct_class = Types::GetServiceLastAccessedDetailsResponse
925
928
 
@@ -934,7 +937,7 @@ module Aws::IAM
934
937
  GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:job_completion_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCompletionDate"))
935
938
  GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:entity_details_list, Shapes::ShapeRef.new(shape: entityDetailsListType, required: true, location_name: "EntityDetailsList"))
936
939
  GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
937
- GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
940
+ GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
938
941
  GetServiceLastAccessedDetailsWithEntitiesResponse.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
939
942
  GetServiceLastAccessedDetailsWithEntitiesResponse.struct_class = Types::GetServiceLastAccessedDetailsWithEntitiesResponse
940
943
 
@@ -991,7 +994,7 @@ module Aws::IAM
991
994
 
992
995
  ListAccessKeysResponse.add_member(:access_key_metadata, Shapes::ShapeRef.new(shape: accessKeyMetadataListType, required: true, location_name: "AccessKeyMetadata"))
993
996
  ListAccessKeysResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
994
- ListAccessKeysResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
997
+ ListAccessKeysResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
995
998
  ListAccessKeysResponse.struct_class = Types::ListAccessKeysResponse
996
999
 
997
1000
  ListAccountAliasesRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
@@ -1000,7 +1003,7 @@ module Aws::IAM
1000
1003
 
1001
1004
  ListAccountAliasesResponse.add_member(:account_aliases, Shapes::ShapeRef.new(shape: accountAliasListType, required: true, location_name: "AccountAliases"))
1002
1005
  ListAccountAliasesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1003
- ListAccountAliasesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1006
+ ListAccountAliasesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1004
1007
  ListAccountAliasesResponse.struct_class = Types::ListAccountAliasesResponse
1005
1008
 
1006
1009
  ListAttachedGroupPoliciesRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: groupNameType, required: true, location_name: "GroupName"))
@@ -1011,7 +1014,7 @@ module Aws::IAM
1011
1014
 
1012
1015
  ListAttachedGroupPoliciesResponse.add_member(:attached_policies, Shapes::ShapeRef.new(shape: attachedPoliciesListType, location_name: "AttachedPolicies"))
1013
1016
  ListAttachedGroupPoliciesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1014
- ListAttachedGroupPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1017
+ ListAttachedGroupPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1015
1018
  ListAttachedGroupPoliciesResponse.struct_class = Types::ListAttachedGroupPoliciesResponse
1016
1019
 
1017
1020
  ListAttachedRolePoliciesRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
@@ -1022,7 +1025,7 @@ module Aws::IAM
1022
1025
 
1023
1026
  ListAttachedRolePoliciesResponse.add_member(:attached_policies, Shapes::ShapeRef.new(shape: attachedPoliciesListType, location_name: "AttachedPolicies"))
1024
1027
  ListAttachedRolePoliciesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1025
- ListAttachedRolePoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1028
+ ListAttachedRolePoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1026
1029
  ListAttachedRolePoliciesResponse.struct_class = Types::ListAttachedRolePoliciesResponse
1027
1030
 
1028
1031
  ListAttachedUserPoliciesRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "UserName"))
@@ -1033,7 +1036,7 @@ module Aws::IAM
1033
1036
 
1034
1037
  ListAttachedUserPoliciesResponse.add_member(:attached_policies, Shapes::ShapeRef.new(shape: attachedPoliciesListType, location_name: "AttachedPolicies"))
1035
1038
  ListAttachedUserPoliciesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1036
- ListAttachedUserPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1039
+ ListAttachedUserPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1037
1040
  ListAttachedUserPoliciesResponse.struct_class = Types::ListAttachedUserPoliciesResponse
1038
1041
 
1039
1042
  ListEntitiesForPolicyRequest.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "PolicyArn"))
@@ -1048,7 +1051,7 @@ module Aws::IAM
1048
1051
  ListEntitiesForPolicyResponse.add_member(:policy_users, Shapes::ShapeRef.new(shape: PolicyUserListType, location_name: "PolicyUsers"))
1049
1052
  ListEntitiesForPolicyResponse.add_member(:policy_roles, Shapes::ShapeRef.new(shape: PolicyRoleListType, location_name: "PolicyRoles"))
1050
1053
  ListEntitiesForPolicyResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1051
- ListEntitiesForPolicyResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1054
+ ListEntitiesForPolicyResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1052
1055
  ListEntitiesForPolicyResponse.struct_class = Types::ListEntitiesForPolicyResponse
1053
1056
 
1054
1057
  ListGroupPoliciesRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: groupNameType, required: true, location_name: "GroupName"))
@@ -1058,7 +1061,7 @@ module Aws::IAM
1058
1061
 
1059
1062
  ListGroupPoliciesResponse.add_member(:policy_names, Shapes::ShapeRef.new(shape: policyNameListType, required: true, location_name: "PolicyNames"))
1060
1063
  ListGroupPoliciesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1061
- ListGroupPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1064
+ ListGroupPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1062
1065
  ListGroupPoliciesResponse.struct_class = Types::ListGroupPoliciesResponse
1063
1066
 
1064
1067
  ListGroupsForUserRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, required: true, location_name: "UserName"))
@@ -1068,7 +1071,7 @@ module Aws::IAM
1068
1071
 
1069
1072
  ListGroupsForUserResponse.add_member(:groups, Shapes::ShapeRef.new(shape: groupListType, required: true, location_name: "Groups"))
1070
1073
  ListGroupsForUserResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1071
- ListGroupsForUserResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1074
+ ListGroupsForUserResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1072
1075
  ListGroupsForUserResponse.struct_class = Types::ListGroupsForUserResponse
1073
1076
 
1074
1077
  ListGroupsRequest.add_member(:path_prefix, Shapes::ShapeRef.new(shape: pathPrefixType, location_name: "PathPrefix"))
@@ -1078,7 +1081,7 @@ module Aws::IAM
1078
1081
 
1079
1082
  ListGroupsResponse.add_member(:groups, Shapes::ShapeRef.new(shape: groupListType, required: true, location_name: "Groups"))
1080
1083
  ListGroupsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1081
- ListGroupsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1084
+ ListGroupsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1082
1085
  ListGroupsResponse.struct_class = Types::ListGroupsResponse
1083
1086
 
1084
1087
  ListInstanceProfilesForRoleRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
@@ -1088,7 +1091,7 @@ module Aws::IAM
1088
1091
 
1089
1092
  ListInstanceProfilesForRoleResponse.add_member(:instance_profiles, Shapes::ShapeRef.new(shape: instanceProfileListType, required: true, location_name: "InstanceProfiles"))
1090
1093
  ListInstanceProfilesForRoleResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1091
- ListInstanceProfilesForRoleResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1094
+ ListInstanceProfilesForRoleResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1092
1095
  ListInstanceProfilesForRoleResponse.struct_class = Types::ListInstanceProfilesForRoleResponse
1093
1096
 
1094
1097
  ListInstanceProfilesRequest.add_member(:path_prefix, Shapes::ShapeRef.new(shape: pathPrefixType, location_name: "PathPrefix"))
@@ -1098,7 +1101,7 @@ module Aws::IAM
1098
1101
 
1099
1102
  ListInstanceProfilesResponse.add_member(:instance_profiles, Shapes::ShapeRef.new(shape: instanceProfileListType, required: true, location_name: "InstanceProfiles"))
1100
1103
  ListInstanceProfilesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1101
- ListInstanceProfilesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1104
+ ListInstanceProfilesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1102
1105
  ListInstanceProfilesResponse.struct_class = Types::ListInstanceProfilesResponse
1103
1106
 
1104
1107
  ListMFADevicesRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, location_name: "UserName"))
@@ -1108,7 +1111,7 @@ module Aws::IAM
1108
1111
 
1109
1112
  ListMFADevicesResponse.add_member(:mfa_devices, Shapes::ShapeRef.new(shape: mfaDeviceListType, required: true, location_name: "MFADevices"))
1110
1113
  ListMFADevicesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1111
- ListMFADevicesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1114
+ ListMFADevicesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1112
1115
  ListMFADevicesResponse.struct_class = Types::ListMFADevicesResponse
1113
1116
 
1114
1117
  ListOpenIDConnectProvidersRequest.struct_class = Types::ListOpenIDConnectProvidersRequest
@@ -1127,7 +1130,7 @@ module Aws::IAM
1127
1130
 
1128
1131
  ListPoliciesGrantingServiceAccessResponse.add_member(:policies_granting_service_access, Shapes::ShapeRef.new(shape: listPolicyGrantingServiceAccessResponseListType, required: true, location_name: "PoliciesGrantingServiceAccess"))
1129
1132
  ListPoliciesGrantingServiceAccessResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1130
- ListPoliciesGrantingServiceAccessResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1133
+ ListPoliciesGrantingServiceAccessResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1131
1134
  ListPoliciesGrantingServiceAccessResponse.struct_class = Types::ListPoliciesGrantingServiceAccessResponse
1132
1135
 
1133
1136
  ListPoliciesRequest.add_member(:scope, Shapes::ShapeRef.new(shape: policyScopeType, location_name: "Scope"))
@@ -1140,7 +1143,7 @@ module Aws::IAM
1140
1143
 
1141
1144
  ListPoliciesResponse.add_member(:policies, Shapes::ShapeRef.new(shape: policyListType, location_name: "Policies"))
1142
1145
  ListPoliciesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1143
- ListPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1146
+ ListPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1144
1147
  ListPoliciesResponse.struct_class = Types::ListPoliciesResponse
1145
1148
 
1146
1149
  ListPolicyVersionsRequest.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "PolicyArn"))
@@ -1150,7 +1153,7 @@ module Aws::IAM
1150
1153
 
1151
1154
  ListPolicyVersionsResponse.add_member(:versions, Shapes::ShapeRef.new(shape: policyDocumentVersionListType, location_name: "Versions"))
1152
1155
  ListPolicyVersionsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1153
- ListPolicyVersionsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1156
+ ListPolicyVersionsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1154
1157
  ListPolicyVersionsResponse.struct_class = Types::ListPolicyVersionsResponse
1155
1158
 
1156
1159
  ListRolePoliciesRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
@@ -1160,7 +1163,7 @@ module Aws::IAM
1160
1163
 
1161
1164
  ListRolePoliciesResponse.add_member(:policy_names, Shapes::ShapeRef.new(shape: policyNameListType, required: true, location_name: "PolicyNames"))
1162
1165
  ListRolePoliciesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1163
- ListRolePoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1166
+ ListRolePoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1164
1167
  ListRolePoliciesResponse.struct_class = Types::ListRolePoliciesResponse
1165
1168
 
1166
1169
  ListRoleTagsRequest.add_member(:role_name, Shapes::ShapeRef.new(shape: roleNameType, required: true, location_name: "RoleName"))
@@ -1170,7 +1173,7 @@ module Aws::IAM
1170
1173
 
1171
1174
  ListRoleTagsResponse.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, required: true, location_name: "Tags"))
1172
1175
  ListRoleTagsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1173
- ListRoleTagsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1176
+ ListRoleTagsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1174
1177
  ListRoleTagsResponse.struct_class = Types::ListRoleTagsResponse
1175
1178
 
1176
1179
  ListRolesRequest.add_member(:path_prefix, Shapes::ShapeRef.new(shape: pathPrefixType, location_name: "PathPrefix"))
@@ -1180,7 +1183,7 @@ module Aws::IAM
1180
1183
 
1181
1184
  ListRolesResponse.add_member(:roles, Shapes::ShapeRef.new(shape: roleListType, required: true, location_name: "Roles"))
1182
1185
  ListRolesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1183
- ListRolesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1186
+ ListRolesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1184
1187
  ListRolesResponse.struct_class = Types::ListRolesResponse
1185
1188
 
1186
1189
  ListSAMLProvidersRequest.struct_class = Types::ListSAMLProvidersRequest
@@ -1195,7 +1198,7 @@ module Aws::IAM
1195
1198
 
1196
1199
  ListSSHPublicKeysResponse.add_member(:ssh_public_keys, Shapes::ShapeRef.new(shape: SSHPublicKeyListType, location_name: "SSHPublicKeys"))
1197
1200
  ListSSHPublicKeysResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1198
- ListSSHPublicKeysResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1201
+ ListSSHPublicKeysResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1199
1202
  ListSSHPublicKeysResponse.struct_class = Types::ListSSHPublicKeysResponse
1200
1203
 
1201
1204
  ListServerCertificatesRequest.add_member(:path_prefix, Shapes::ShapeRef.new(shape: pathPrefixType, location_name: "PathPrefix"))
@@ -1205,7 +1208,7 @@ module Aws::IAM
1205
1208
 
1206
1209
  ListServerCertificatesResponse.add_member(:server_certificate_metadata_list, Shapes::ShapeRef.new(shape: serverCertificateMetadataListType, required: true, location_name: "ServerCertificateMetadataList"))
1207
1210
  ListServerCertificatesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1208
- ListServerCertificatesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1211
+ ListServerCertificatesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1209
1212
  ListServerCertificatesResponse.struct_class = Types::ListServerCertificatesResponse
1210
1213
 
1211
1214
  ListServiceSpecificCredentialsRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, location_name: "UserName"))
@@ -1222,7 +1225,7 @@ module Aws::IAM
1222
1225
 
1223
1226
  ListSigningCertificatesResponse.add_member(:certificates, Shapes::ShapeRef.new(shape: certificateListType, required: true, location_name: "Certificates"))
1224
1227
  ListSigningCertificatesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1225
- ListSigningCertificatesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1228
+ ListSigningCertificatesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1226
1229
  ListSigningCertificatesResponse.struct_class = Types::ListSigningCertificatesResponse
1227
1230
 
1228
1231
  ListUserPoliciesRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, required: true, location_name: "UserName"))
@@ -1232,7 +1235,7 @@ module Aws::IAM
1232
1235
 
1233
1236
  ListUserPoliciesResponse.add_member(:policy_names, Shapes::ShapeRef.new(shape: policyNameListType, required: true, location_name: "PolicyNames"))
1234
1237
  ListUserPoliciesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1235
- ListUserPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1238
+ ListUserPoliciesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1236
1239
  ListUserPoliciesResponse.struct_class = Types::ListUserPoliciesResponse
1237
1240
 
1238
1241
  ListUserTagsRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, required: true, location_name: "UserName"))
@@ -1242,7 +1245,7 @@ module Aws::IAM
1242
1245
 
1243
1246
  ListUserTagsResponse.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, required: true, location_name: "Tags"))
1244
1247
  ListUserTagsResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1245
- ListUserTagsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1248
+ ListUserTagsResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1246
1249
  ListUserTagsResponse.struct_class = Types::ListUserTagsResponse
1247
1250
 
1248
1251
  ListUsersRequest.add_member(:path_prefix, Shapes::ShapeRef.new(shape: pathPrefixType, location_name: "PathPrefix"))
@@ -1252,7 +1255,7 @@ module Aws::IAM
1252
1255
 
1253
1256
  ListUsersResponse.add_member(:users, Shapes::ShapeRef.new(shape: userListType, required: true, location_name: "Users"))
1254
1257
  ListUsersResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1255
- ListUsersResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1258
+ ListUsersResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1256
1259
  ListUsersResponse.struct_class = Types::ListUsersResponse
1257
1260
 
1258
1261
  ListVirtualMFADevicesRequest.add_member(:assignment_status, Shapes::ShapeRef.new(shape: assignmentStatusType, location_name: "AssignmentStatus"))
@@ -1262,7 +1265,7 @@ module Aws::IAM
1262
1265
 
1263
1266
  ListVirtualMFADevicesResponse.add_member(:virtual_mfa_devices, Shapes::ShapeRef.new(shape: virtualMFADeviceListType, required: true, location_name: "VirtualMFADevices"))
1264
1267
  ListVirtualMFADevicesResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1265
- ListVirtualMFADevicesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1268
+ ListVirtualMFADevicesResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1266
1269
  ListVirtualMFADevicesResponse.struct_class = Types::ListVirtualMFADevicesResponse
1267
1270
 
1268
1271
  LoginProfile.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "UserName"))
@@ -1521,6 +1524,9 @@ module Aws::IAM
1521
1524
  SetDefaultPolicyVersionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: policyVersionIdType, required: true, location_name: "VersionId"))
1522
1525
  SetDefaultPolicyVersionRequest.struct_class = Types::SetDefaultPolicyVersionRequest
1523
1526
 
1527
+ SetSecurityTokenServicePreferencesRequest.add_member(:global_endpoint_token_version, Shapes::ShapeRef.new(shape: globalEndpointTokenVersion, required: true, location_name: "GlobalEndpointTokenVersion"))
1528
+ SetSecurityTokenServicePreferencesRequest.struct_class = Types::SetSecurityTokenServicePreferencesRequest
1529
+
1524
1530
  SigningCertificate.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "UserName"))
1525
1531
  SigningCertificate.add_member(:certificate_id, Shapes::ShapeRef.new(shape: certificateIdType, required: true, location_name: "CertificateId"))
1526
1532
  SigningCertificate.add_member(:certificate_body, Shapes::ShapeRef.new(shape: certificateBodyType, required: true, location_name: "CertificateBody"))
@@ -1542,7 +1548,7 @@ module Aws::IAM
1542
1548
 
1543
1549
  SimulatePolicyResponse.add_member(:evaluation_results, Shapes::ShapeRef.new(shape: EvaluationResultsListType, location_name: "EvaluationResults"))
1544
1550
  SimulatePolicyResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
1545
- SimulatePolicyResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
1551
+ SimulatePolicyResponse.add_member(:marker, Shapes::ShapeRef.new(shape: responseMarkerType, location_name: "Marker"))
1546
1552
  SimulatePolicyResponse.struct_class = Types::SimulatePolicyResponse
1547
1553
 
1548
1554
  SimulatePrincipalPolicyRequest.add_member(:policy_source_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "PolicySourceArn"))
@@ -3219,6 +3225,15 @@ module Aws::IAM
3219
3225
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
3220
3226
  end)
3221
3227
 
3228
+ api.add_operation(:set_security_token_service_preferences, Seahorse::Model::Operation.new.tap do |o|
3229
+ o.name = "SetSecurityTokenServicePreferences"
3230
+ o.http_method = "POST"
3231
+ o.http_request_uri = "/"
3232
+ o.input = Shapes::ShapeRef.new(shape: SetSecurityTokenServicePreferencesRequest)
3233
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3234
+ o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
3235
+ end)
3236
+
3222
3237
  api.add_operation(:simulate_custom_policy, Seahorse::Model::Operation.new.tap do |o|
3223
3238
  o.name = "SimulateCustomPolicy"
3224
3239
  o.http_method = "POST"
@@ -105,9 +105,11 @@ module Aws::IAM
105
105
  # user.
106
106
  #
107
107
  # For more information about permissions boundaries, see [Permissions
108
- # Boundaries for IAM Identities
109
- # ](IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM
110
- # User Guide*.
108
+ # Boundaries for IAM Identities ][1] in the *IAM User Guide*.
109
+ #
110
+ #
111
+ #
112
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
111
113
  # @return [Types::AttachedPermissionsBoundary]
112
114
  def permissions_boundary
113
115
  data[:permissions_boundary]
@@ -102,9 +102,11 @@ module Aws::IAM
102
102
  # role.
103
103
  #
104
104
  # For more information about permissions boundaries, see [Permissions
105
- # Boundaries for IAM Identities
106
- # ](IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM
107
- # User Guide*.
105
+ # Boundaries for IAM Identities ][1] in the *IAM User Guide*.
106
+ #
107
+ #
108
+ #
109
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
108
110
  # @return [Types::AttachedPermissionsBoundary]
109
111
  def permissions_boundary
110
112
  data[:permissions_boundary]
@@ -1294,7 +1294,7 @@ module Aws::IAM
1294
1294
  #
1295
1295
  # Service principals are unique and case-sensitive. To find the exact
1296
1296
  # service principal for your service-linked role, see [AWS Services
1297
- # That Work with IAM][1] in the *IAM User Guide* and look for the
1297
+ # That Work with IAM][1] in the *IAM User Guide*. Look for the
1298
1298
  # services that have <b>Yes </b>in the **Service-Linked Role** column.
1299
1299
  # Choose the **Yes** link to view the service-linked role
1300
1300
  # documentation for that service.
@@ -1384,8 +1384,8 @@ module Aws::IAM
1384
1384
  # service-specific credential.
1385
1385
  #
1386
1386
  # This is the only time that the password for this credential set is
1387
- # available. It cannot be recovered later. Instead, you will have to
1388
- # reset the password with ResetServiceSpecificCredential.
1387
+ # available. It cannot be recovered later. Instead, you must reset the
1388
+ # password with ResetServiceSpecificCredential.
1389
1389
  # @return [Types::ServiceSpecificCredential]
1390
1390
  #
1391
1391
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateServiceSpecificCredentialResponse AWS API Documentation
@@ -3831,7 +3831,7 @@ module Aws::IAM
3831
3831
  #
3832
3832
  # To learn the service namespace for a service, go to [Actions,
3833
3833
  # Resources, and Condition Keys for AWS Services][1] in the *IAM User
3834
- # Guide* and choose the name of the service to view details for that
3834
+ # Guide*. Choose the name of the service to view details for that
3835
3835
  # service. In the first paragraph, find the service prefix. For
3836
3836
  # example, `(service prefix: a4b)`. For more information about service
3837
3837
  # namespaces, see [AWS Service Namespaces][2] in the *AWS General
@@ -5862,8 +5862,8 @@ module Aws::IAM
5862
5862
  # @!attribute [rw] marker
5863
5863
  # Use this parameter only when paginating results and only after you
5864
5864
  # receive a response indicating that the results are truncated. Set it
5865
- # to the value of the `Marker` element in the response to indicate
5866
- # where the next call should start.
5865
+ # to the value of the `Marker` element in the response that you
5866
+ # received to indicate where the next call should start.
5867
5867
  # @return [String]
5868
5868
  #
5869
5869
  # @!attribute [rw] max_items
@@ -6439,8 +6439,8 @@ module Aws::IAM
6439
6439
  # @!attribute [rw] marker
6440
6440
  # Use this parameter only when paginating results and only after you
6441
6441
  # receive a response indicating that the results are truncated. Set it
6442
- # to the value of the `Marker` element in the response to indicate
6443
- # where the next call should start.
6442
+ # to the value of the `Marker` element in the response that you
6443
+ # received to indicate where the next call should start.
6444
6444
  # @return [String]
6445
6445
  #
6446
6446
  # @!attribute [rw] max_items
@@ -7962,9 +7962,11 @@ module Aws::IAM
7962
7962
  # role.
7963
7963
  #
7964
7964
  # For more information about permissions boundaries, see [Permissions
7965
- # Boundaries for IAM Identities
7966
- # ](IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM
7967
- # User Guide*.
7965
+ # Boundaries for IAM Identities ][1] in the *IAM User Guide*.
7966
+ #
7967
+ #
7968
+ #
7969
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
7968
7970
  # @return [Types::AttachedPermissionsBoundary]
7969
7971
  #
7970
7972
  # @!attribute [rw] tags
@@ -8066,9 +8068,11 @@ module Aws::IAM
8066
8068
  # role.
8067
8069
  #
8068
8070
  # For more information about permissions boundaries, see [Permissions
8069
- # Boundaries for IAM Identities
8070
- # ](IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM
8071
- # User Guide*.
8071
+ # Boundaries for IAM Identities ][1] in the *IAM User Guide*.
8072
+ #
8073
+ #
8074
+ #
8075
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
8072
8076
  # @return [Types::AttachedPermissionsBoundary]
8073
8077
  #
8074
8078
  # @!attribute [rw] tags
@@ -8531,6 +8535,36 @@ module Aws::IAM
8531
8535
  include Aws::Structure
8532
8536
  end
8533
8537
 
8538
+ # @note When making an API call, you may pass SetSecurityTokenServicePreferencesRequest
8539
+ # data as a hash:
8540
+ #
8541
+ # {
8542
+ # global_endpoint_token_version: "v1Token", # required, accepts v1Token, v2Token
8543
+ # }
8544
+ #
8545
+ # @!attribute [rw] global_endpoint_token_version
8546
+ # The version of the global endpoint token. Version 1 tokens are valid
8547
+ # only in AWS Regions that are available by default. These tokens do
8548
+ # not work in manually enabled Regions, such as Asia Pacific (Hong
8549
+ # Kong). Version 2 tokens are valid in all Regions. However, version 2
8550
+ # tokens are longer and might affect systems where you temporarily
8551
+ # store tokens.
8552
+ #
8553
+ # For information, see [Activating and Deactivating STS in an AWS
8554
+ # Region][1] in the *IAM User Guide*.
8555
+ #
8556
+ #
8557
+ #
8558
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
8559
+ # @return [String]
8560
+ #
8561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/SetSecurityTokenServicePreferencesRequest AWS API Documentation
8562
+ #
8563
+ class SetSecurityTokenServicePreferencesRequest < Struct.new(
8564
+ :global_endpoint_token_version)
8565
+ include Aws::Structure
8566
+ end
8567
+
8534
8568
  # Contains information about an X.509 signing certificate.
8535
8569
  #
8536
8570
  # This data type is used as a response element in the
@@ -8623,7 +8657,8 @@ module Aws::IAM
8623
8657
  # @!attribute [rw] action_names
8624
8658
  # A list of names of API operations to evaluate in the simulation.
8625
8659
  # Each operation is evaluated against each resource. Each operation
8626
- # must include the service identifier, such as `iam:CreateUser`.
8660
+ # must include the service identifier, such as `iam:CreateUser`. This
8661
+ # operation does not support using wildcards (*) in an action name.
8627
8662
  # @return [Array<String>]
8628
8663
  #
8629
8664
  # @!attribute [rw] resource_arns
@@ -8677,15 +8712,15 @@ module Aws::IAM
8677
8712
  # @!attribute [rw] resource_owner
8678
8713
  # An ARN representing the AWS account ID that specifies the owner of
8679
8714
  # any simulated resource that does not identify its owner in the
8680
- # resource ARN, such as an S3 bucket or object. If `ResourceOwner` is
8681
- # specified, it is also used as the account owner of any
8682
- # `ResourcePolicy` included in the simulation. If the `ResourceOwner`
8683
- # parameter is not specified, then the owner of the resources and the
8684
- # resource policy defaults to the account of the identity provided in
8685
- # `CallerArn`. This parameter is required only if you specify a
8686
- # resource-based policy and account that owns the resource is
8687
- # different from the account that owns the simulated calling user
8688
- # `CallerArn`.
8715
+ # resource ARN. Examples of resource ARNs include an S3 bucket or
8716
+ # object. If `ResourceOwner` is specified, it is also used as the
8717
+ # account owner of any `ResourcePolicy` included in the simulation. If
8718
+ # the `ResourceOwner` parameter is not specified, then the owner of
8719
+ # the resources and the resource policy defaults to the account of the
8720
+ # identity provided in `CallerArn`. This parameter is required only if
8721
+ # you specify a resource-based policy and account that owns the
8722
+ # resource is different from the account that owns the simulated
8723
+ # calling user `CallerArn`.
8689
8724
  #
8690
8725
  # The ARN for an account uses the following syntax:
8691
8726
  # `arn:aws:iam::AWS-account-ID:root`. For example, to represent the
@@ -8706,7 +8741,7 @@ module Aws::IAM
8706
8741
  # @!attribute [rw] context_entries
8707
8742
  # A list of context keys and corresponding values for the simulation
8708
8743
  # to use. Whenever a context key is evaluated in one of the simulated
8709
- # IAM permission policies, the corresponding value is supplied.
8744
+ # IAM permissions policies, the corresponding value is supplied.
8710
8745
  # @return [Array<Types::ContextEntry>]
8711
8746
  #
8712
8747
  # @!attribute [rw] resource_handling_option
@@ -8938,15 +8973,16 @@ module Aws::IAM
8938
8973
  #
8939
8974
  # @!attribute [rw] resource_owner
8940
8975
  # An AWS account ID that specifies the owner of any simulated resource
8941
- # that does not identify its owner in the resource ARN, such as an S3
8942
- # bucket or object. If `ResourceOwner` is specified, it is also used
8943
- # as the account owner of any `ResourcePolicy` included in the
8944
- # simulation. If the `ResourceOwner` parameter is not specified, then
8945
- # the owner of the resources and the resource policy defaults to the
8946
- # account of the identity provided in `CallerArn`. This parameter is
8947
- # required only if you specify a resource-based policy and account
8948
- # that owns the resource is different from the account that owns the
8949
- # simulated calling user `CallerArn`.
8976
+ # that does not identify its owner in the resource ARN. Examples of
8977
+ # resource ARNs include an S3 bucket or object. If `ResourceOwner` is
8978
+ # specified, it is also used as the account owner of any
8979
+ # `ResourcePolicy` included in the simulation. If the `ResourceOwner`
8980
+ # parameter is not specified, then the owner of the resources and the
8981
+ # resource policy defaults to the account of the identity provided in
8982
+ # `CallerArn`. This parameter is required only if you specify a
8983
+ # resource-based policy and account that owns the resource is
8984
+ # different from the account that owns the simulated calling user
8985
+ # `CallerArn`.
8950
8986
  # @return [String]
8951
8987
  #
8952
8988
  # @!attribute [rw] caller_arn
@@ -10428,9 +10464,11 @@ module Aws::IAM
10428
10464
  # user.
10429
10465
  #
10430
10466
  # For more information about permissions boundaries, see [Permissions
10431
- # Boundaries for IAM Identities
10432
- # ](IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM
10433
- # User Guide*.
10467
+ # Boundaries for IAM Identities ][1] in the *IAM User Guide*.
10468
+ #
10469
+ #
10470
+ #
10471
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
10434
10472
  # @return [Types::AttachedPermissionsBoundary]
10435
10473
  #
10436
10474
  # @!attribute [rw] tags
@@ -10524,9 +10562,11 @@ module Aws::IAM
10524
10562
  # user.
10525
10563
  #
10526
10564
  # For more information about permissions boundaries, see [Permissions
10527
- # Boundaries for IAM Identities
10528
- # ](IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM
10529
- # User Guide*.
10565
+ # Boundaries for IAM Identities ][1] in the *IAM User Guide*.
10566
+ #
10567
+ #
10568
+ #
10569
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
10530
10570
  # @return [Types::AttachedPermissionsBoundary]
10531
10571
  #
10532
10572
  # @!attribute [rw] tags
@@ -110,9 +110,11 @@ module Aws::IAM
110
110
  # user.
111
111
  #
112
112
  # For more information about permissions boundaries, see [Permissions
113
- # Boundaries for IAM Identities
114
- # ](IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM
115
- # User Guide*.
113
+ # Boundaries for IAM Identities ][1] in the *IAM User Guide*.
114
+ #
115
+ #
116
+ #
117
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
116
118
  # @return [Types::AttachedPermissionsBoundary]
117
119
  def permissions_boundary
118
120
  data[:permissions_boundary]
@@ -52,6 +52,90 @@ module Aws::IAM
52
52
 
53
53
  end
54
54
 
55
+ class PolicyExists
56
+
57
+ # @param [Hash] options
58
+ # @option options [required, Client] :client
59
+ # @option options [Integer] :max_attempts (20)
60
+ # @option options [Integer] :delay (1)
61
+ # @option options [Proc] :before_attempt
62
+ # @option options [Proc] :before_wait
63
+ def initialize(options)
64
+ @client = options.fetch(:client)
65
+ @waiter = Aws::Waiters::Waiter.new({
66
+ max_attempts: 20,
67
+ delay: 1,
68
+ poller: Aws::Waiters::Poller.new(
69
+ operation_name: :get_policy,
70
+ acceptors: [
71
+ {
72
+ "state" => "success",
73
+ "matcher" => "status",
74
+ "expected" => 200
75
+ },
76
+ {
77
+ "state" => "retry",
78
+ "matcher" => "error",
79
+ "expected" => "NoSuchEntity"
80
+ }
81
+ ]
82
+ )
83
+ }.merge(options))
84
+ end
85
+
86
+ # @option (see Client#get_policy)
87
+ # @return (see Client#get_policy)
88
+ def wait(params = {})
89
+ @waiter.wait(client: @client, params: params)
90
+ end
91
+
92
+ # @api private
93
+ attr_reader :waiter
94
+
95
+ end
96
+
97
+ class RoleExists
98
+
99
+ # @param [Hash] options
100
+ # @option options [required, Client] :client
101
+ # @option options [Integer] :max_attempts (20)
102
+ # @option options [Integer] :delay (1)
103
+ # @option options [Proc] :before_attempt
104
+ # @option options [Proc] :before_wait
105
+ def initialize(options)
106
+ @client = options.fetch(:client)
107
+ @waiter = Aws::Waiters::Waiter.new({
108
+ max_attempts: 20,
109
+ delay: 1,
110
+ poller: Aws::Waiters::Poller.new(
111
+ operation_name: :get_role,
112
+ acceptors: [
113
+ {
114
+ "state" => "success",
115
+ "matcher" => "status",
116
+ "expected" => 200
117
+ },
118
+ {
119
+ "state" => "retry",
120
+ "matcher" => "error",
121
+ "expected" => "NoSuchEntity"
122
+ }
123
+ ]
124
+ )
125
+ }.merge(options))
126
+ end
127
+
128
+ # @option (see Client#get_role)
129
+ # @return (see Client#get_role)
130
+ def wait(params = {})
131
+ @waiter.wait(client: @client, params: params)
132
+ end
133
+
134
+ # @api private
135
+ attr_reader :waiter
136
+
137
+ end
138
+
55
139
  class UserExists
56
140
 
57
141
  # @param [Hash] options
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iam
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.0
4
+ version: 1.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-04 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -82,7 +82,7 @@ files:
82
82
  - lib/aws-sdk-iam/user_policy.rb
83
83
  - lib/aws-sdk-iam/virtual_mfa_device.rb
84
84
  - lib/aws-sdk-iam/waiters.rb
85
- homepage: http://github.com/aws/aws-sdk-ruby
85
+ homepage: https://github.com/aws/aws-sdk-ruby
86
86
  licenses:
87
87
  - Apache-2.0
88
88
  metadata: