aws-sdk-iam 1.18.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  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: