aws-sdk-core 3.100.0 → 3.130.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.
Files changed (207) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1294 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -1
  5. data/lib/aws-defaults/default_configuration.rb +153 -0
  6. data/lib/aws-defaults/defaults_mode_config_resolver.rb +107 -0
  7. data/lib/aws-defaults.rb +3 -0
  8. data/lib/aws-sdk-core/arn.rb +15 -0
  9. data/lib/aws-sdk-core/arn_parser.rb +2 -0
  10. data/lib/aws-sdk-core/assume_role_credentials.rb +21 -0
  11. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +9 -1
  12. data/lib/aws-sdk-core/async_client_stubs.rb +2 -0
  13. data/lib/aws-sdk-core/binary/decode_handler.rb +2 -0
  14. data/lib/aws-sdk-core/binary/encode_handler.rb +2 -0
  15. data/lib/aws-sdk-core/binary/event_builder.rb +2 -0
  16. data/lib/aws-sdk-core/binary/event_parser.rb +2 -0
  17. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +2 -0
  18. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +2 -0
  19. data/lib/aws-sdk-core/binary.rb +2 -0
  20. data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +2 -0
  21. data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +2 -0
  22. data/lib/aws-sdk-core/client_stubs.rb +7 -1
  23. data/lib/aws-sdk-core/credential_provider.rb +2 -0
  24. data/lib/aws-sdk-core/credential_provider_chain.rb +23 -1
  25. data/lib/aws-sdk-core/credentials.rb +2 -0
  26. data/lib/aws-sdk-core/deprecations.rb +2 -0
  27. data/lib/aws-sdk-core/eager_loader.rb +2 -0
  28. data/lib/aws-sdk-core/ec2_metadata.rb +238 -0
  29. data/lib/aws-sdk-core/ecs_credentials.rb +10 -4
  30. data/lib/aws-sdk-core/endpoint_cache.rb +2 -0
  31. data/lib/aws-sdk-core/errors.rb +11 -2
  32. data/lib/aws-sdk-core/event_emitter.rb +2 -0
  33. data/lib/aws-sdk-core/ini_parser.rb +2 -0
  34. data/lib/aws-sdk-core/instance_profile_credentials.rb +124 -22
  35. data/lib/aws-sdk-core/json/builder.rb +2 -0
  36. data/lib/aws-sdk-core/json/error_handler.rb +2 -0
  37. data/lib/aws-sdk-core/json/handler.rb +2 -0
  38. data/lib/aws-sdk-core/json/json_engine.rb +12 -8
  39. data/lib/aws-sdk-core/json/oj_engine.rb +35 -6
  40. data/lib/aws-sdk-core/json/parser.rb +10 -0
  41. data/lib/aws-sdk-core/json.rb +10 -26
  42. data/lib/aws-sdk-core/log/formatter.rb +9 -3
  43. data/lib/aws-sdk-core/log/handler.rb +2 -0
  44. data/lib/aws-sdk-core/log/param_filter.rb +37 -12
  45. data/lib/aws-sdk-core/log/param_formatter.rb +2 -0
  46. data/lib/aws-sdk-core/pageable_response.rb +82 -32
  47. data/lib/aws-sdk-core/pager.rb +5 -0
  48. data/lib/aws-sdk-core/param_converter.rb +2 -0
  49. data/lib/aws-sdk-core/param_validator.rb +54 -4
  50. data/lib/aws-sdk-core/plugins/api_key.rb +5 -1
  51. data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +2 -0
  52. data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +2 -0
  53. data/lib/aws-sdk-core/plugins/apig_user_agent.rb +2 -0
  54. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +340 -0
  55. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +2 -0
  56. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +2 -0
  57. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +26 -7
  58. data/lib/aws-sdk-core/plugins/defaults_mode.rb +40 -0
  59. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +2 -0
  60. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +8 -6
  61. data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +2 -0
  62. data/lib/aws-sdk-core/plugins/global_configuration.rb +2 -0
  63. data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +2 -0
  64. data/lib/aws-sdk-core/plugins/http_checksum.rb +10 -1
  65. data/lib/aws-sdk-core/plugins/idempotency_token.rb +2 -0
  66. data/lib/aws-sdk-core/plugins/invocation_id.rb +2 -0
  67. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +2 -0
  68. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  69. data/lib/aws-sdk-core/plugins/param_converter.rb +2 -0
  70. data/lib/aws-sdk-core/plugins/param_validator.rb +2 -0
  71. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +19 -0
  72. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -0
  73. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +2 -0
  74. data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -0
  75. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +18 -1
  76. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +2 -0
  77. data/lib/aws-sdk-core/plugins/recursion_detection.rb +27 -0
  78. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +50 -2
  79. data/lib/aws-sdk-core/plugins/response_paging.rb +3 -1
  80. data/lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb +2 -0
  81. data/lib/aws-sdk-core/plugins/retries/clock_skew.rb +2 -0
  82. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +7 -3
  83. data/lib/aws-sdk-core/plugins/retries/retry_quota.rb +2 -0
  84. data/lib/aws-sdk-core/plugins/retry_errors.rb +15 -6
  85. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -0
  86. data/lib/aws-sdk-core/plugins/signature_v4.rb +17 -24
  87. data/lib/aws-sdk-core/plugins/stub_responses.rb +9 -1
  88. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +2 -0
  89. data/lib/aws-sdk-core/plugins/user_agent.rb +2 -0
  90. data/lib/aws-sdk-core/process_credentials.rb +8 -6
  91. data/lib/aws-sdk-core/query/ec2_param_builder.rb +2 -0
  92. data/lib/aws-sdk-core/query/handler.rb +2 -0
  93. data/lib/aws-sdk-core/query/param.rb +2 -0
  94. data/lib/aws-sdk-core/query/param_builder.rb +2 -0
  95. data/lib/aws-sdk-core/query/param_list.rb +2 -0
  96. data/lib/aws-sdk-core/query.rb +2 -0
  97. data/lib/aws-sdk-core/refreshing_credentials.rb +42 -11
  98. data/lib/aws-sdk-core/resources/collection.rb +2 -0
  99. data/lib/aws-sdk-core/rest/handler.rb +2 -0
  100. data/lib/aws-sdk-core/rest/request/body.rb +21 -1
  101. data/lib/aws-sdk-core/rest/request/builder.rb +2 -0
  102. data/lib/aws-sdk-core/rest/request/endpoint.rb +2 -0
  103. data/lib/aws-sdk-core/rest/request/headers.rb +20 -6
  104. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +2 -0
  105. data/lib/aws-sdk-core/rest/response/body.rb +2 -0
  106. data/lib/aws-sdk-core/rest/response/headers.rb +6 -3
  107. data/lib/aws-sdk-core/rest/response/parser.rb +2 -0
  108. data/lib/aws-sdk-core/rest/response/status_code.rb +2 -0
  109. data/lib/aws-sdk-core/rest.rb +2 -0
  110. data/lib/aws-sdk-core/shared_config.rb +62 -8
  111. data/lib/aws-sdk-core/shared_credentials.rb +9 -1
  112. data/lib/aws-sdk-core/sso_credentials.rb +137 -0
  113. data/lib/aws-sdk-core/structure.rb +13 -2
  114. data/lib/aws-sdk-core/stubbing/data_applicator.rb +2 -0
  115. data/lib/aws-sdk-core/stubbing/empty_stub.rb +2 -0
  116. data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +2 -0
  117. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +2 -0
  118. data/lib/aws-sdk-core/stubbing/protocols/json.rb +3 -1
  119. data/lib/aws-sdk-core/stubbing/protocols/query.rb +2 -0
  120. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +3 -1
  121. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +3 -1
  122. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +2 -2
  123. data/lib/aws-sdk-core/stubbing/stub_data.rb +2 -0
  124. data/lib/aws-sdk-core/stubbing/xml_error.rb +2 -0
  125. data/lib/aws-sdk-core/type_builder.rb +2 -0
  126. data/lib/aws-sdk-core/util.rb +2 -0
  127. data/lib/aws-sdk-core/waiters/errors.rb +2 -0
  128. data/lib/aws-sdk-core/waiters/poller.rb +2 -0
  129. data/lib/aws-sdk-core/waiters/waiter.rb +2 -0
  130. data/lib/aws-sdk-core/waiters.rb +2 -0
  131. data/lib/aws-sdk-core/xml/builder.rb +4 -2
  132. data/lib/aws-sdk-core/xml/default_list.rb +2 -0
  133. data/lib/aws-sdk-core/xml/default_map.rb +2 -0
  134. data/lib/aws-sdk-core/xml/doc_builder.rb +8 -1
  135. data/lib/aws-sdk-core/xml/error_handler.rb +2 -0
  136. data/lib/aws-sdk-core/xml/parser/engines/libxml.rb +2 -0
  137. data/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb +2 -0
  138. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
  139. data/lib/aws-sdk-core/xml/parser/engines/ox.rb +3 -1
  140. data/lib/aws-sdk-core/xml/parser/engines/rexml.rb +2 -0
  141. data/lib/aws-sdk-core/xml/parser/frame.rb +25 -0
  142. data/lib/aws-sdk-core/xml/parser/parsing_error.rb +2 -0
  143. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  144. data/lib/aws-sdk-core/xml/parser.rb +7 -0
  145. data/lib/aws-sdk-core/xml.rb +2 -0
  146. data/lib/aws-sdk-core.rb +15 -3
  147. data/lib/aws-sdk-sso/client.rb +570 -0
  148. data/lib/aws-sdk-sso/client_api.rb +190 -0
  149. data/lib/aws-sdk-sso/customizations.rb +1 -0
  150. data/lib/aws-sdk-sso/errors.rb +102 -0
  151. data/lib/aws-sdk-sso/resource.rb +26 -0
  152. data/lib/aws-sdk-sso/types.rb +352 -0
  153. data/lib/aws-sdk-sso.rb +55 -0
  154. data/lib/aws-sdk-sts/client.rb +538 -435
  155. data/lib/aws-sdk-sts/client_api.rb +9 -1
  156. data/lib/aws-sdk-sts/customizations.rb +2 -0
  157. data/lib/aws-sdk-sts/errors.rb +3 -1
  158. data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +7 -1
  159. data/lib/aws-sdk-sts/presigner.rb +9 -1
  160. data/lib/aws-sdk-sts/resource.rb +3 -1
  161. data/lib/aws-sdk-sts/types.rb +360 -191
  162. data/lib/aws-sdk-sts.rb +10 -3
  163. data/lib/seahorse/client/async_base.rb +2 -0
  164. data/lib/seahorse/client/async_response.rb +2 -0
  165. data/lib/seahorse/client/base.rb +3 -0
  166. data/lib/seahorse/client/block_io.rb +5 -2
  167. data/lib/seahorse/client/configuration.rb +6 -0
  168. data/lib/seahorse/client/events.rb +2 -0
  169. data/lib/seahorse/client/h2/connection.rb +17 -13
  170. data/lib/seahorse/client/h2/handler.rb +6 -5
  171. data/lib/seahorse/client/handler.rb +2 -0
  172. data/lib/seahorse/client/handler_builder.rb +2 -0
  173. data/lib/seahorse/client/handler_list.rb +2 -0
  174. data/lib/seahorse/client/handler_list_entry.rb +2 -0
  175. data/lib/seahorse/client/http/async_response.rb +2 -0
  176. data/lib/seahorse/client/http/headers.rb +2 -0
  177. data/lib/seahorse/client/http/request.rb +2 -0
  178. data/lib/seahorse/client/http/response.rb +3 -1
  179. data/lib/seahorse/client/logging/formatter.rb +2 -0
  180. data/lib/seahorse/client/logging/handler.rb +2 -0
  181. data/lib/seahorse/client/managed_file.rb +2 -0
  182. data/lib/seahorse/client/net_http/connection_pool.rb +12 -4
  183. data/lib/seahorse/client/net_http/handler.rb +19 -8
  184. data/lib/seahorse/client/net_http/patches.rb +15 -84
  185. data/lib/seahorse/client/networking_error.rb +2 -0
  186. data/lib/seahorse/client/plugin.rb +2 -0
  187. data/lib/seahorse/client/plugin_list.rb +2 -0
  188. data/lib/seahorse/client/plugins/content_length.rb +13 -5
  189. data/lib/seahorse/client/plugins/endpoint.rb +2 -0
  190. data/lib/seahorse/client/plugins/h2.rb +6 -1
  191. data/lib/seahorse/client/plugins/logging.rb +2 -0
  192. data/lib/seahorse/client/plugins/net_http.rb +39 -3
  193. data/lib/seahorse/client/plugins/operation_methods.rb +2 -0
  194. data/lib/seahorse/client/plugins/raise_response_errors.rb +2 -0
  195. data/lib/seahorse/client/plugins/request_callback.rb +110 -0
  196. data/lib/seahorse/client/plugins/response_target.rb +8 -8
  197. data/lib/seahorse/client/request.rb +2 -0
  198. data/lib/seahorse/client/request_context.rb +2 -0
  199. data/lib/seahorse/client/response.rb +2 -0
  200. data/lib/seahorse/model/api.rb +2 -0
  201. data/lib/seahorse/model/authorizer.rb +2 -0
  202. data/lib/seahorse/model/operation.rb +5 -0
  203. data/lib/seahorse/model/shapes.rb +27 -0
  204. data/lib/seahorse/util.rb +8 -1
  205. data/lib/seahorse/version.rb +2 -0
  206. data/lib/seahorse.rb +3 -0
  207. metadata +26 -9
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
@@ -31,6 +33,7 @@ module Aws::STS
31
33
  # external_id: "externalIdType",
32
34
  # serial_number: "serialNumberType",
33
35
  # token_code: "tokenCodeType",
36
+ # source_identity: "sourceIdentityType",
34
37
  # }
35
38
  #
36
39
  # @!attribute [rw] role_arn
@@ -47,7 +50,7 @@ module Aws::STS
47
50
  # role session name is also used in the ARN of the assumed role
48
51
  # principal. This means that subsequent cross-account API requests
49
52
  # that use the temporary security credentials will expose the role
50
- # session name to the external account in their AWS CloudTrail logs.
53
+ # session name to the external account in their CloudTrail logs.
51
54
  #
52
55
  # The regex used to validate this parameter is a string of characters
53
56
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -61,17 +64,18 @@ module Aws::STS
61
64
  # in the same account as the role.
62
65
  #
63
66
  # This parameter is optional. You can provide up to 10 managed policy
64
- # ARNs. However, the plain text that you use for both inline and
67
+ # ARNs. However, the plaintext that you use for both inline and
65
68
  # managed session policies can't exceed 2,048 characters. For more
66
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
67
- # Service Namespaces][1] in the AWS General Reference.
69
+ # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
70
+ # Web Services Service Namespaces][1] in the Amazon Web Services
71
+ # General Reference.
68
72
  #
69
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
70
- # tags into a packed binary format that has a separate limit. Your
71
- # request can fail for this limit even if your plain text meets the
72
- # other requirements. The `PackedPolicySize` response element
73
- # indicates by percentage how close the policies and tags for your
74
- # request are to the upper size limit.
73
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
74
+ # policies and session tags into a packed binary format that has a
75
+ # separate limit. Your request can fail for this limit even if your
76
+ # plaintext meets the other requirements. The `PackedPolicySize`
77
+ # response element indicates by percentage how close the policies and
78
+ # tags for your request are to the upper size limit.
75
79
  #
76
80
  # </note>
77
81
  #
@@ -79,10 +83,10 @@ module Aws::STS
79
83
  # credentials. The resulting session's permissions are the
80
84
  # intersection of the role's identity-based policy and the session
81
85
  # policies. You can use the role's temporary credentials in
82
- # subsequent AWS API calls to access resources in the account that
83
- # owns the role. You cannot use session policies to grant more
84
- # permissions than those allowed by the identity-based policy of the
85
- # role that is being assumed. For more information, see [Session
86
+ # subsequent Amazon Web Services API calls to access resources in the
87
+ # account that owns the role. You cannot use session policies to grant
88
+ # more permissions than those allowed by the identity-based policy of
89
+ # the role that is being assumed. For more information, see [Session
86
90
  # Policies][2] in the *IAM User Guide*.
87
91
  #
88
92
  #
@@ -99,25 +103,25 @@ module Aws::STS
99
103
  # returns new temporary credentials. The resulting session's
100
104
  # permissions are the intersection of the role's identity-based
101
105
  # policy and the session policies. You can use the role's temporary
102
- # credentials in subsequent AWS API calls to access resources in the
103
- # account that owns the role. You cannot use session policies to grant
104
- # more permissions than those allowed by the identity-based policy of
105
- # the role that is being assumed. For more information, see [Session
106
- # Policies][1] in the *IAM User Guide*.
106
+ # credentials in subsequent Amazon Web Services API calls to access
107
+ # resources in the account that owns the role. You cannot use session
108
+ # policies to grant more permissions than those allowed by the
109
+ # identity-based policy of the role that is being assumed. For more
110
+ # information, see [Session Policies][1] in the *IAM User Guide*.
107
111
  #
108
- # The plain text that you use for both inline and managed session
112
+ # The plaintext that you use for both inline and managed session
109
113
  # policies can't exceed 2,048 characters. The JSON policy characters
110
114
  # can be any ASCII character from the space character to the end of
111
115
  # the valid character list (\\u0020 through \\u00FF). It can also
112
116
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
113
117
  # (\\u000D) characters.
114
118
  #
115
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
116
- # tags into a packed binary format that has a separate limit. Your
117
- # request can fail for this limit even if your plain text meets the
118
- # other requirements. The `PackedPolicySize` response element
119
- # indicates by percentage how close the policies and tags for your
120
- # request are to the upper size limit.
119
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
120
+ # policies and session tags into a packed binary format that has a
121
+ # separate limit. Your request can fail for this limit even if your
122
+ # plaintext meets the other requirements. The `PackedPolicySize`
123
+ # response element indicates by percentage how close the policies and
124
+ # tags for your request are to the upper size limit.
121
125
  #
122
126
  # </note>
123
127
  #
@@ -127,15 +131,26 @@ module Aws::STS
127
131
  # @return [String]
128
132
  #
129
133
  # @!attribute [rw] duration_seconds
130
- # The duration, in seconds, of the role session. The value can range
131
- # from 900 seconds (15 minutes) up to the maximum session duration
132
- # setting for the role. This setting can have a value from 1 hour to
133
- # 12 hours. If you specify a value higher than this setting, the
134
- # operation fails. For example, if you specify a session duration of
135
- # 12 hours, but your administrator set the maximum session duration to
136
- # 6 hours, your operation fails. To learn how to view the maximum
137
- # value for your role, see [View the Maximum Session Duration Setting
138
- # for a Role][1] in the *IAM User Guide*.
134
+ # The duration, in seconds, of the role session. The value specified
135
+ # can range from 900 seconds (15 minutes) up to the maximum session
136
+ # duration set for the role. The maximum session duration setting can
137
+ # have a value from 1 hour to 12 hours. If you specify a value higher
138
+ # than this setting or the administrator setting (whichever is lower),
139
+ # the operation fails. For example, if you specify a session duration
140
+ # of 12 hours, but your administrator set the maximum session duration
141
+ # to 6 hours, your operation fails.
142
+ #
143
+ # Role chaining limits your Amazon Web Services CLI or Amazon Web
144
+ # Services API role session to a maximum of one hour. When you use the
145
+ # `AssumeRole` API operation to assume a role, you can specify the
146
+ # duration of your role session with the `DurationSeconds` parameter.
147
+ # You can specify a parameter value of up to 43200 seconds (12 hours),
148
+ # depending on the maximum session duration setting for your role.
149
+ # However, if you assume a role using role chaining and provide a
150
+ # `DurationSeconds` parameter value greater than one hour, the
151
+ # operation fails. To learn how to view the maximum value for your
152
+ # role, see [View the Maximum Session Duration Setting for a Role][1]
153
+ # in the *IAM User Guide*.
139
154
  #
140
155
  # By default, the value is set to `3600` seconds.
141
156
  #
@@ -144,8 +159,8 @@ module Aws::STS
144
159
  # credentials. The request to the federation endpoint for a console
145
160
  # sign-in token takes a `SessionDuration` parameter that specifies the
146
161
  # maximum length of the console session. For more information, see
147
- # [Creating a URL that Enables Federated Users to Access the AWS
148
- # Management Console][2] in the *IAM User Guide*.
162
+ # [Creating a URL that Enables Federated Users to Access the Amazon
163
+ # Web Services Management Console][2] in the *IAM User Guide*.
149
164
  #
150
165
  # </note>
151
166
  #
@@ -158,20 +173,20 @@ module Aws::STS
158
173
  # @!attribute [rw] tags
159
174
  # A list of session tags that you want to pass. Each session tag
160
175
  # consists of a key name and an associated value. For more information
161
- # about session tags, see [Tagging AWS STS Sessions][1] in the *IAM
162
- # User Guide*.
176
+ # about session tags, see [Tagging Amazon Web Services STS
177
+ # Sessions][1] in the *IAM User Guide*.
163
178
  #
164
179
  # This parameter is optional. You can pass up to 50 session tags. The
165
- # plain text session tag keys can’t exceed 128 characters, and the
180
+ # plaintext session tag keys can’t exceed 128 characters, and the
166
181
  # values can’t exceed 256 characters. For these and additional limits,
167
182
  # see [IAM and STS Character Limits][2] in the *IAM User Guide*.
168
183
  #
169
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
170
- # tags into a packed binary format that has a separate limit. Your
171
- # request can fail for this limit even if your plain text meets the
172
- # other requirements. The `PackedPolicySize` response element
173
- # indicates by percentage how close the policies and tags for your
174
- # request are to the upper size limit.
184
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
185
+ # policies and session tags into a packed binary format that has a
186
+ # separate limit. Your request can fail for this limit even if your
187
+ # plaintext meets the other requirements. The `PackedPolicySize`
188
+ # response element indicates by percentage how close the policies and
189
+ # tags for your request are to the upper size limit.
175
190
  #
176
191
  # </note>
177
192
  #
@@ -191,14 +206,14 @@ module Aws::STS
191
206
  # operation, the new session inherits any transitive session tags from
192
207
  # the calling session. If you pass a session tag with the same key as
193
208
  # an inherited tag, the operation fails. To view the inherited tags
194
- # for a session, see the AWS CloudTrail logs. For more information,
195
- # see [Viewing Session Tags in CloudTrail][3] in the *IAM User Guide*.
209
+ # for a session, see the CloudTrail logs. For more information, see
210
+ # [Viewing Session Tags in CloudTrail][3] in the *IAM User Guide*.
196
211
  #
197
212
  #
198
213
  #
199
214
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
200
215
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
201
- # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/session-tags.html#id_session-tags_ctlogs
216
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_ctlogs
202
217
  # @return [Array<Types::Tag>]
203
218
  #
204
219
  # @!attribute [rw] transitive_tag_keys
@@ -230,8 +245,8 @@ module Aws::STS
230
245
  # the administrator of the trusted account. That way, only someone
231
246
  # with the ID can assume the role, rather than everyone in the
232
247
  # account. For more information about the external ID, see [How to Use
233
- # an External ID When Granting Access to Your AWS Resources to a Third
234
- # Party][1] in the *IAM User Guide*.
248
+ # an External ID When Granting Access to Your Amazon Web Services
249
+ # Resources to a Third Party][1] in the *IAM User Guide*.
235
250
  #
236
251
  # The regex used to validate this parameter is a string of characters
237
252
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -260,15 +275,41 @@ module Aws::STS
260
275
  #
261
276
  # @!attribute [rw] token_code
262
277
  # The value provided by the MFA device, if the trust policy of the
263
- # role being assumed requires MFA (that is, if the policy includes a
264
- # condition that tests for MFA). If the role being assumed requires
265
- # MFA and if the `TokenCode` value is missing or expired, the
278
+ # role being assumed requires MFA. (In other words, if the policy
279
+ # includes a condition that tests for MFA). If the role being assumed
280
+ # requires MFA and if the `TokenCode` value is missing or expired, the
266
281
  # `AssumeRole` call returns an "access denied" error.
267
282
  #
268
283
  # The format for this parameter, as described by its regex pattern, is
269
284
  # a sequence of six numeric digits.
270
285
  # @return [String]
271
286
  #
287
+ # @!attribute [rw] source_identity
288
+ # The source identity specified by the principal that is calling the
289
+ # `AssumeRole` operation.
290
+ #
291
+ # You can require users to specify a source identity when they assume
292
+ # a role. You do this by using the `sts:SourceIdentity` condition key
293
+ # in a role trust policy. You can use source identity information in
294
+ # CloudTrail logs to determine who took actions with a role. You can
295
+ # use the `aws:SourceIdentity` condition key to further control access
296
+ # to Amazon Web Services resources based on the value of source
297
+ # identity. For more information about using source identity, see
298
+ # [Monitor and control actions taken with assumed roles][1] in the
299
+ # *IAM User Guide*.
300
+ #
301
+ # The regex used to validate this parameter is a string of characters
302
+ # consisting of upper- and lower-case alphanumeric characters with no
303
+ # spaces. You can also include underscores or any of the following
304
+ # characters: =,.@-. You cannot use a value that begins with the text
305
+ # `aws:`. This prefix is reserved for Amazon Web Services internal
306
+ # use.
307
+ #
308
+ #
309
+ #
310
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
311
+ # @return [String]
312
+ #
272
313
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest AWS API Documentation
273
314
  #
274
315
  class AssumeRoleRequest < Struct.new(
@@ -281,12 +322,15 @@ module Aws::STS
281
322
  :transitive_tag_keys,
282
323
  :external_id,
283
324
  :serial_number,
284
- :token_code)
325
+ :token_code,
326
+ :source_identity)
327
+ SENSITIVE = []
285
328
  include Aws::Structure
286
329
  end
287
330
 
288
331
  # Contains the response to a successful AssumeRole request, including
289
- # temporary AWS credentials that can be used to make AWS requests.
332
+ # temporary Amazon Web Services credentials that can be used to make
333
+ # Amazon Web Services requests.
290
334
  #
291
335
  # @!attribute [rw] credentials
292
336
  # The temporary security credentials, which include an access key ID,
@@ -315,12 +359,38 @@ module Aws::STS
315
359
  # means the policies and tags exceeded the allowed space.
316
360
  # @return [Integer]
317
361
  #
362
+ # @!attribute [rw] source_identity
363
+ # The source identity specified by the principal that is calling the
364
+ # `AssumeRole` operation.
365
+ #
366
+ # You can require users to specify a source identity when they assume
367
+ # a role. You do this by using the `sts:SourceIdentity` condition key
368
+ # in a role trust policy. You can use source identity information in
369
+ # CloudTrail logs to determine who took actions with a role. You can
370
+ # use the `aws:SourceIdentity` condition key to further control access
371
+ # to Amazon Web Services resources based on the value of source
372
+ # identity. For more information about using source identity, see
373
+ # [Monitor and control actions taken with assumed roles][1] in the
374
+ # *IAM User Guide*.
375
+ #
376
+ # The regex used to validate this parameter is a string of characters
377
+ # consisting of upper- and lower-case alphanumeric characters with no
378
+ # spaces. You can also include underscores or any of the following
379
+ # characters: =,.@-
380
+ #
381
+ #
382
+ #
383
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
384
+ # @return [String]
385
+ #
318
386
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse AWS API Documentation
319
387
  #
320
388
  class AssumeRoleResponse < Struct.new(
321
389
  :credentials,
322
390
  :assumed_role_user,
323
- :packed_policy_size)
391
+ :packed_policy_size,
392
+ :source_identity)
393
+ SENSITIVE = []
324
394
  include Aws::Structure
325
395
  end
326
396
 
@@ -351,8 +421,7 @@ module Aws::STS
351
421
  # @return [String]
352
422
  #
353
423
  # @!attribute [rw] saml_assertion
354
- # The base-64 encoded SAML authentication response provided by the
355
- # IdP.
424
+ # The base64 encoded SAML authentication response provided by the IdP.
356
425
  #
357
426
  # For more information, see [Configuring a Relying Party and Adding
358
427
  # Claims][1] in the *IAM User Guide*.
@@ -368,17 +437,18 @@ module Aws::STS
368
437
  # in the same account as the role.
369
438
  #
370
439
  # This parameter is optional. You can provide up to 10 managed policy
371
- # ARNs. However, the plain text that you use for both inline and
440
+ # ARNs. However, the plaintext that you use for both inline and
372
441
  # managed session policies can't exceed 2,048 characters. For more
373
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
374
- # Service Namespaces][1] in the AWS General Reference.
442
+ # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
443
+ # Web Services Service Namespaces][1] in the Amazon Web Services
444
+ # General Reference.
375
445
  #
376
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
377
- # tags into a packed binary format that has a separate limit. Your
378
- # request can fail for this limit even if your plain text meets the
379
- # other requirements. The `PackedPolicySize` response element
380
- # indicates by percentage how close the policies and tags for your
381
- # request are to the upper size limit.
446
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
447
+ # policies and session tags into a packed binary format that has a
448
+ # separate limit. Your request can fail for this limit even if your
449
+ # plaintext meets the other requirements. The `PackedPolicySize`
450
+ # response element indicates by percentage how close the policies and
451
+ # tags for your request are to the upper size limit.
382
452
  #
383
453
  # </note>
384
454
  #
@@ -386,10 +456,10 @@ module Aws::STS
386
456
  # credentials. The resulting session's permissions are the
387
457
  # intersection of the role's identity-based policy and the session
388
458
  # policies. You can use the role's temporary credentials in
389
- # subsequent AWS API calls to access resources in the account that
390
- # owns the role. You cannot use session policies to grant more
391
- # permissions than those allowed by the identity-based policy of the
392
- # role that is being assumed. For more information, see [Session
459
+ # subsequent Amazon Web Services API calls to access resources in the
460
+ # account that owns the role. You cannot use session policies to grant
461
+ # more permissions than those allowed by the identity-based policy of
462
+ # the role that is being assumed. For more information, see [Session
393
463
  # Policies][2] in the *IAM User Guide*.
394
464
  #
395
465
  #
@@ -406,25 +476,25 @@ module Aws::STS
406
476
  # returns new temporary credentials. The resulting session's
407
477
  # permissions are the intersection of the role's identity-based
408
478
  # policy and the session policies. You can use the role's temporary
409
- # credentials in subsequent AWS API calls to access resources in the
410
- # account that owns the role. You cannot use session policies to grant
411
- # more permissions than those allowed by the identity-based policy of
412
- # the role that is being assumed. For more information, see [Session
413
- # Policies][1] in the *IAM User Guide*.
479
+ # credentials in subsequent Amazon Web Services API calls to access
480
+ # resources in the account that owns the role. You cannot use session
481
+ # policies to grant more permissions than those allowed by the
482
+ # identity-based policy of the role that is being assumed. For more
483
+ # information, see [Session Policies][1] in the *IAM User Guide*.
414
484
  #
415
- # The plain text that you use for both inline and managed session
485
+ # The plaintext that you use for both inline and managed session
416
486
  # policies can't exceed 2,048 characters. The JSON policy characters
417
487
  # can be any ASCII character from the space character to the end of
418
488
  # the valid character list (\\u0020 through \\u00FF). It can also
419
489
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
420
490
  # (\\u000D) characters.
421
491
  #
422
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
423
- # tags into a packed binary format that has a separate limit. Your
424
- # request can fail for this limit even if your plain text meets the
425
- # other requirements. The `PackedPolicySize` response element
426
- # indicates by percentage how close the policies and tags for your
427
- # request are to the upper size limit.
492
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
493
+ # policies and session tags into a packed binary format that has a
494
+ # separate limit. Your request can fail for this limit even if your
495
+ # plaintext meets the other requirements. The `PackedPolicySize`
496
+ # response element indicates by percentage how close the policies and
497
+ # tags for your request are to the upper size limit.
428
498
  #
429
499
  # </note>
430
500
  #
@@ -455,8 +525,8 @@ module Aws::STS
455
525
  # credentials. The request to the federation endpoint for a console
456
526
  # sign-in token takes a `SessionDuration` parameter that specifies the
457
527
  # maximum length of the console session. For more information, see
458
- # [Creating a URL that Enables Federated Users to Access the AWS
459
- # Management Console][2] in the *IAM User Guide*.
528
+ # [Creating a URL that Enables Federated Users to Access the Amazon
529
+ # Web Services Management Console][2] in the *IAM User Guide*.
460
530
  #
461
531
  # </note>
462
532
  #
@@ -475,12 +545,13 @@ module Aws::STS
475
545
  :policy_arns,
476
546
  :policy,
477
547
  :duration_seconds)
548
+ SENSITIVE = []
478
549
  include Aws::Structure
479
550
  end
480
551
 
481
552
  # Contains the response to a successful AssumeRoleWithSAML request,
482
- # including temporary AWS credentials that can be used to make AWS
483
- # requests.
553
+ # including temporary Amazon Web Services credentials that can be used
554
+ # to make Amazon Web Services requests.
484
555
  #
485
556
  # @!attribute [rw] credentials
486
557
  # The temporary security credentials, which include an access key ID,
@@ -532,11 +603,17 @@ module Aws::STS
532
603
  # @return [String]
533
604
  #
534
605
  # @!attribute [rw] name_qualifier
535
- # A hash value based on the concatenation of the `Issuer` response
536
- # value, the AWS account ID, and the friendly name (the last part of
537
- # the ARN) of the SAML provider in IAM. The combination of
538
- # `NameQualifier` and `Subject` can be used to uniquely identify a
539
- # federated user.
606
+ # A hash value based on the concatenation of the following:
607
+ #
608
+ # * The `Issuer` response value.
609
+ #
610
+ # * The Amazon Web Services account ID.
611
+ #
612
+ # * The friendly name (the last part of the ARN) of the SAML provider
613
+ # in IAM.
614
+ #
615
+ # The combination of `NameQualifier` and `Subject` can be used to
616
+ # uniquely identify a federated user.
540
617
  #
541
618
  # The following pseudocode shows how the hash value is calculated:
542
619
  #
@@ -544,6 +621,34 @@ module Aws::STS
544
621
  # "/MySAMLIdP" ) )`
545
622
  # @return [String]
546
623
  #
624
+ # @!attribute [rw] source_identity
625
+ # The value in the `SourceIdentity` attribute in the SAML assertion.
626
+ #
627
+ # You can require users to set a source identity value when they
628
+ # assume a role. You do this by using the `sts:SourceIdentity`
629
+ # condition key in a role trust policy. That way, actions that are
630
+ # taken with the role are associated with that user. After the source
631
+ # identity is set, the value cannot be changed. It is present in the
632
+ # request for all actions that are taken by the role and persists
633
+ # across [chained role][1] sessions. You can configure your SAML
634
+ # identity provider to use an attribute associated with your users,
635
+ # like user name or email, as the source identity when calling
636
+ # `AssumeRoleWithSAML`. You do this by adding an attribute to the SAML
637
+ # assertion. For more information about using source identity, see
638
+ # [Monitor and control actions taken with assumed roles][2] in the
639
+ # *IAM User Guide*.
640
+ #
641
+ # The regex used to validate this parameter is a string of characters
642
+ # consisting of upper- and lower-case alphanumeric characters with no
643
+ # spaces. You can also include underscores or any of the following
644
+ # characters: =,.@-
645
+ #
646
+ #
647
+ #
648
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining
649
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
650
+ # @return [String]
651
+ #
547
652
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse AWS API Documentation
548
653
  #
549
654
  class AssumeRoleWithSAMLResponse < Struct.new(
@@ -554,7 +659,9 @@ module Aws::STS
554
659
  :subject_type,
555
660
  :issuer,
556
661
  :audience,
557
- :name_qualifier)
662
+ :name_qualifier,
663
+ :source_identity)
664
+ SENSITIVE = []
558
665
  include Aws::Structure
559
666
  end
560
667
 
@@ -603,13 +710,13 @@ module Aws::STS
603
710
  # @return [String]
604
711
  #
605
712
  # @!attribute [rw] provider_id
606
- # The fully qualified host component of the domain name of the
607
- # identity provider.
713
+ # The fully qualified host component of the domain name of the OAuth
714
+ # 2.0 identity provider. Do not specify this value for an OpenID
715
+ # Connect identity provider.
608
716
  #
609
- # Specify this value only for OAuth 2.0 access tokens. Currently
610
- # `www.amazon.com` and `graph.facebook.com` are the only supported
611
- # identity providers for OAuth 2.0 access tokens. Do not include URL
612
- # schemes and port numbers.
717
+ # Currently `www.amazon.com` and `graph.facebook.com` are the only
718
+ # supported identity providers for OAuth 2.0 access tokens. Do not
719
+ # include URL schemes and port numbers.
613
720
  #
614
721
  # Do not specify this value for OpenID Connect ID tokens.
615
722
  # @return [String]
@@ -620,17 +727,18 @@ module Aws::STS
620
727
  # in the same account as the role.
621
728
  #
622
729
  # This parameter is optional. You can provide up to 10 managed policy
623
- # ARNs. However, the plain text that you use for both inline and
730
+ # ARNs. However, the plaintext that you use for both inline and
624
731
  # managed session policies can't exceed 2,048 characters. For more
625
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
626
- # Service Namespaces][1] in the AWS General Reference.
732
+ # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
733
+ # Web Services Service Namespaces][1] in the Amazon Web Services
734
+ # General Reference.
627
735
  #
628
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
629
- # tags into a packed binary format that has a separate limit. Your
630
- # request can fail for this limit even if your plain text meets the
631
- # other requirements. The `PackedPolicySize` response element
632
- # indicates by percentage how close the policies and tags for your
633
- # request are to the upper size limit.
736
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
737
+ # policies and session tags into a packed binary format that has a
738
+ # separate limit. Your request can fail for this limit even if your
739
+ # plaintext meets the other requirements. The `PackedPolicySize`
740
+ # response element indicates by percentage how close the policies and
741
+ # tags for your request are to the upper size limit.
634
742
  #
635
743
  # </note>
636
744
  #
@@ -638,10 +746,10 @@ module Aws::STS
638
746
  # credentials. The resulting session's permissions are the
639
747
  # intersection of the role's identity-based policy and the session
640
748
  # policies. You can use the role's temporary credentials in
641
- # subsequent AWS API calls to access resources in the account that
642
- # owns the role. You cannot use session policies to grant more
643
- # permissions than those allowed by the identity-based policy of the
644
- # role that is being assumed. For more information, see [Session
749
+ # subsequent Amazon Web Services API calls to access resources in the
750
+ # account that owns the role. You cannot use session policies to grant
751
+ # more permissions than those allowed by the identity-based policy of
752
+ # the role that is being assumed. For more information, see [Session
645
753
  # Policies][2] in the *IAM User Guide*.
646
754
  #
647
755
  #
@@ -658,25 +766,25 @@ module Aws::STS
658
766
  # returns new temporary credentials. The resulting session's
659
767
  # permissions are the intersection of the role's identity-based
660
768
  # policy and the session policies. You can use the role's temporary
661
- # credentials in subsequent AWS API calls to access resources in the
662
- # account that owns the role. You cannot use session policies to grant
663
- # more permissions than those allowed by the identity-based policy of
664
- # the role that is being assumed. For more information, see [Session
665
- # Policies][1] in the *IAM User Guide*.
769
+ # credentials in subsequent Amazon Web Services API calls to access
770
+ # resources in the account that owns the role. You cannot use session
771
+ # policies to grant more permissions than those allowed by the
772
+ # identity-based policy of the role that is being assumed. For more
773
+ # information, see [Session Policies][1] in the *IAM User Guide*.
666
774
  #
667
- # The plain text that you use for both inline and managed session
775
+ # The plaintext that you use for both inline and managed session
668
776
  # policies can't exceed 2,048 characters. The JSON policy characters
669
777
  # can be any ASCII character from the space character to the end of
670
778
  # the valid character list (\\u0020 through \\u00FF). It can also
671
779
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
672
780
  # (\\u000D) characters.
673
781
  #
674
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
675
- # tags into a packed binary format that has a separate limit. Your
676
- # request can fail for this limit even if your plain text meets the
677
- # other requirements. The `PackedPolicySize` response element
678
- # indicates by percentage how close the policies and tags for your
679
- # request are to the upper size limit.
782
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
783
+ # policies and session tags into a packed binary format that has a
784
+ # separate limit. Your request can fail for this limit even if your
785
+ # plaintext meets the other requirements. The `PackedPolicySize`
786
+ # response element indicates by percentage how close the policies and
787
+ # tags for your request are to the upper size limit.
680
788
  #
681
789
  # </note>
682
790
  #
@@ -703,8 +811,8 @@ module Aws::STS
703
811
  # credentials. The request to the federation endpoint for a console
704
812
  # sign-in token takes a `SessionDuration` parameter that specifies the
705
813
  # maximum length of the console session. For more information, see
706
- # [Creating a URL that Enables Federated Users to Access the AWS
707
- # Management Console][2] in the *IAM User Guide*.
814
+ # [Creating a URL that Enables Federated Users to Access the Amazon
815
+ # Web Services Management Console][2] in the *IAM User Guide*.
708
816
  #
709
817
  # </note>
710
818
  #
@@ -724,12 +832,13 @@ module Aws::STS
724
832
  :policy_arns,
725
833
  :policy,
726
834
  :duration_seconds)
835
+ SENSITIVE = []
727
836
  include Aws::Structure
728
837
  end
729
838
 
730
839
  # Contains the response to a successful AssumeRoleWithWebIdentity
731
- # request, including temporary AWS credentials that can be used to make
732
- # AWS requests.
840
+ # request, including temporary Amazon Web Services credentials that can
841
+ # be used to make Amazon Web Services requests.
733
842
  #
734
843
  # @!attribute [rw] credentials
735
844
  # The temporary security credentials, which include an access key ID,
@@ -782,6 +891,38 @@ module Aws::STS
782
891
  # application that requested the web identity token.
783
892
  # @return [String]
784
893
  #
894
+ # @!attribute [rw] source_identity
895
+ # The value of the source identity that is returned in the JSON web
896
+ # token (JWT) from the identity provider.
897
+ #
898
+ # You can require users to set a source identity value when they
899
+ # assume a role. You do this by using the `sts:SourceIdentity`
900
+ # condition key in a role trust policy. That way, actions that are
901
+ # taken with the role are associated with that user. After the source
902
+ # identity is set, the value cannot be changed. It is present in the
903
+ # request for all actions that are taken by the role and persists
904
+ # across [chained role][1] sessions. You can configure your identity
905
+ # provider to use an attribute associated with your users, like user
906
+ # name or email, as the source identity when calling
907
+ # `AssumeRoleWithWebIdentity`. You do this by adding a claim to the
908
+ # JSON web token. To learn more about OIDC tokens and claims, see
909
+ # [Using Tokens with User Pools][2] in the *Amazon Cognito Developer
910
+ # Guide*. For more information about using source identity, see
911
+ # [Monitor and control actions taken with assumed roles][3] in the
912
+ # *IAM User Guide*.
913
+ #
914
+ # The regex used to validate this parameter is a string of characters
915
+ # consisting of upper- and lower-case alphanumeric characters with no
916
+ # spaces. You can also include underscores or any of the following
917
+ # characters: =,.@-
918
+ #
919
+ #
920
+ #
921
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining
922
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html
923
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
924
+ # @return [String]
925
+ #
785
926
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse AWS API Documentation
786
927
  #
787
928
  class AssumeRoleWithWebIdentityResponse < Struct.new(
@@ -790,7 +931,9 @@ module Aws::STS
790
931
  :assumed_role_user,
791
932
  :packed_policy_size,
792
933
  :provider,
793
- :audience)
934
+ :audience,
935
+ :source_identity)
936
+ SENSITIVE = []
794
937
  include Aws::Structure
795
938
  end
796
939
 
@@ -800,7 +943,7 @@ module Aws::STS
800
943
  # @!attribute [rw] assumed_role_id
801
944
  # A unique identifier that contains the role ID and the role session
802
945
  # name of the role that is being assumed. The role ID is generated by
803
- # AWS when the role is created.
946
+ # Amazon Web Services when the role is created.
804
947
  # @return [String]
805
948
  #
806
949
  # @!attribute [rw] arn
@@ -819,10 +962,11 @@ module Aws::STS
819
962
  class AssumedRoleUser < Struct.new(
820
963
  :assumed_role_id,
821
964
  :arn)
965
+ SENSITIVE = []
822
966
  include Aws::Structure
823
967
  end
824
968
 
825
- # AWS credentials for API authentication.
969
+ # Amazon Web Services credentials for API authentication.
826
970
  #
827
971
  # @!attribute [rw] access_key_id
828
972
  # The access key ID that identifies the temporary security
@@ -849,6 +993,7 @@ module Aws::STS
849
993
  :secret_access_key,
850
994
  :session_token,
851
995
  :expiration)
996
+ SENSITIVE = []
852
997
  include Aws::Structure
853
998
  end
854
999
 
@@ -867,21 +1012,23 @@ module Aws::STS
867
1012
  #
868
1013
  class DecodeAuthorizationMessageRequest < Struct.new(
869
1014
  :encoded_message)
1015
+ SENSITIVE = []
870
1016
  include Aws::Structure
871
1017
  end
872
1018
 
873
1019
  # A document that contains additional information about the
874
1020
  # authorization status of a request from an encoded message that is
875
- # returned in response to an AWS request.
1021
+ # returned in response to an Amazon Web Services request.
876
1022
  #
877
1023
  # @!attribute [rw] decoded_message
878
- # An XML document that contains the decoded message.
1024
+ # The API returns a response with the decoded message.
879
1025
  # @return [String]
880
1026
  #
881
1027
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse AWS API Documentation
882
1028
  #
883
1029
  class DecodeAuthorizationMessageResponse < Struct.new(
884
1030
  :decoded_message)
1031
+ SENSITIVE = []
885
1032
  include Aws::Structure
886
1033
  end
887
1034
 
@@ -896,6 +1043,7 @@ module Aws::STS
896
1043
  #
897
1044
  class ExpiredTokenException < Struct.new(
898
1045
  :message)
1046
+ SENSITIVE = []
899
1047
  include Aws::Structure
900
1048
  end
901
1049
 
@@ -922,6 +1070,7 @@ module Aws::STS
922
1070
  class FederatedUser < Struct.new(
923
1071
  :federated_user_id,
924
1072
  :arn)
1073
+ SENSITIVE = []
925
1074
  include Aws::Structure
926
1075
  end
927
1076
 
@@ -944,17 +1093,19 @@ module Aws::STS
944
1093
  #
945
1094
  class GetAccessKeyInfoRequest < Struct.new(
946
1095
  :access_key_id)
1096
+ SENSITIVE = []
947
1097
  include Aws::Structure
948
1098
  end
949
1099
 
950
1100
  # @!attribute [rw] account
951
- # The number used to identify the AWS account.
1101
+ # The number used to identify the Amazon Web Services account.
952
1102
  # @return [String]
953
1103
  #
954
1104
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetAccessKeyInfoResponse AWS API Documentation
955
1105
  #
956
1106
  class GetAccessKeyInfoResponse < Struct.new(
957
1107
  :account)
1108
+ SENSITIVE = []
958
1109
  include Aws::Structure
959
1110
  end
960
1111
 
@@ -980,12 +1131,12 @@ module Aws::STS
980
1131
  # @return [String]
981
1132
  #
982
1133
  # @!attribute [rw] account
983
- # The AWS account ID number of the account that owns or contains the
984
- # calling entity.
1134
+ # The Amazon Web Services account ID number of the account that owns
1135
+ # or contains the calling entity.
985
1136
  # @return [String]
986
1137
  #
987
1138
  # @!attribute [rw] arn
988
- # The AWS ARN associated with the calling entity.
1139
+ # The Amazon Web Services ARN associated with the calling entity.
989
1140
  # @return [String]
990
1141
  #
991
1142
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse AWS API Documentation
@@ -994,6 +1145,7 @@ module Aws::STS
994
1145
  :user_id,
995
1146
  :account,
996
1147
  :arn)
1148
+ SENSITIVE = []
997
1149
  include Aws::Structure
998
1150
  end
999
1151
 
@@ -1057,19 +1209,19 @@ module Aws::STS
1057
1209
  # are granted in addition to the permissions that are granted by the
1058
1210
  # session policies.
1059
1211
  #
1060
- # The plain text that you use for both inline and managed session
1212
+ # The plaintext that you use for both inline and managed session
1061
1213
  # policies can't exceed 2,048 characters. The JSON policy characters
1062
1214
  # can be any ASCII character from the space character to the end of
1063
1215
  # the valid character list (\\u0020 through \\u00FF). It can also
1064
1216
  # include the tab (\\u0009), linefeed (\\u000A), and carriage return
1065
1217
  # (\\u000D) characters.
1066
1218
  #
1067
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1068
- # tags into a packed binary format that has a separate limit. Your
1069
- # request can fail for this limit even if your plain text meets the
1070
- # other requirements. The `PackedPolicySize` response element
1071
- # indicates by percentage how close the policies and tags for your
1072
- # request are to the upper size limit.
1219
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1220
+ # policies and session tags into a packed binary format that has a
1221
+ # separate limit. Your request can fail for this limit even if your
1222
+ # plaintext meets the other requirements. The `PackedPolicySize`
1223
+ # response element indicates by percentage how close the policies and
1224
+ # tags for your request are to the upper size limit.
1073
1225
  #
1074
1226
  # </note>
1075
1227
  #
@@ -1087,11 +1239,12 @@ module Aws::STS
1087
1239
  # You must pass an inline or managed [session policy][1] to this
1088
1240
  # operation. You can pass a single JSON policy document to use as an
1089
1241
  # inline session policy. You can also specify up to 10 managed
1090
- # policies to use as managed session policies. The plain text that you
1242
+ # policies to use as managed session policies. The plaintext that you
1091
1243
  # use for both inline and managed session policies can't exceed 2,048
1092
1244
  # characters. You can provide up to 10 managed policy ARNs. For more
1093
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
1094
- # Service Namespaces][2] in the AWS General Reference.
1245
+ # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
1246
+ # Web Services Service Namespaces][2] in the Amazon Web Services
1247
+ # General Reference.
1095
1248
  #
1096
1249
  # This parameter is optional. However, if you do not pass any session
1097
1250
  # policies, then the resulting federated user session has no
@@ -1112,12 +1265,12 @@ module Aws::STS
1112
1265
  # are granted in addition to the permissions that are granted by the
1113
1266
  # session policies.
1114
1267
  #
1115
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1116
- # tags into a packed binary format that has a separate limit. Your
1117
- # request can fail for this limit even if your plain text meets the
1118
- # other requirements. The `PackedPolicySize` response element
1119
- # indicates by percentage how close the policies and tags for your
1120
- # request are to the upper size limit.
1268
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1269
+ # policies and session tags into a packed binary format that has a
1270
+ # separate limit. Your request can fail for this limit even if your
1271
+ # plaintext meets the other requirements. The `PackedPolicySize`
1272
+ # response element indicates by percentage how close the policies and
1273
+ # tags for your request are to the upper size limit.
1121
1274
  #
1122
1275
  # </note>
1123
1276
  #
@@ -1131,10 +1284,11 @@ module Aws::STS
1131
1284
  # The duration, in seconds, that the session should last. Acceptable
1132
1285
  # durations for federation sessions range from 900 seconds (15
1133
1286
  # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1134
- # hours) as the default. Sessions obtained using AWS account root user
1135
- # credentials are restricted to a maximum of 3,600 seconds (one hour).
1136
- # If the specified duration is longer than one hour, the session
1137
- # obtained by using root user credentials defaults to one hour.
1287
+ # hours) as the default. Sessions obtained using Amazon Web Services
1288
+ # account root user credentials are restricted to a maximum of 3,600
1289
+ # seconds (one hour). If the specified duration is longer than one
1290
+ # hour, the session obtained by using root user credentials defaults
1291
+ # to one hour.
1138
1292
  # @return [Integer]
1139
1293
  #
1140
1294
  # @!attribute [rw] tags
@@ -1143,16 +1297,16 @@ module Aws::STS
1143
1297
  # [Passing Session Tags in STS][1] in the *IAM User Guide*.
1144
1298
  #
1145
1299
  # This parameter is optional. You can pass up to 50 session tags. The
1146
- # plain text session tag keys can’t exceed 128 characters and the
1300
+ # plaintext session tag keys can’t exceed 128 characters and the
1147
1301
  # values can’t exceed 256 characters. For these and additional limits,
1148
1302
  # see [IAM and STS Character Limits][2] in the *IAM User Guide*.
1149
1303
  #
1150
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1151
- # tags into a packed binary format that has a separate limit. Your
1152
- # request can fail for this limit even if your plain text meets the
1153
- # other requirements. The `PackedPolicySize` response element
1154
- # indicates by percentage how close the policies and tags for your
1155
- # request are to the upper size limit.
1304
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1305
+ # policies and session tags into a packed binary format that has a
1306
+ # separate limit. Your request can fail for this limit even if your
1307
+ # plaintext meets the other requirements. The `PackedPolicySize`
1308
+ # response element indicates by percentage how close the policies and
1309
+ # tags for your request are to the upper size limit.
1156
1310
  #
1157
1311
  # </note>
1158
1312
  #
@@ -1182,12 +1336,13 @@ module Aws::STS
1182
1336
  :policy_arns,
1183
1337
  :duration_seconds,
1184
1338
  :tags)
1339
+ SENSITIVE = []
1185
1340
  include Aws::Structure
1186
1341
  end
1187
1342
 
1188
1343
  # Contains the response to a successful GetFederationToken request,
1189
- # including temporary AWS credentials that can be used to make AWS
1190
- # requests.
1344
+ # including temporary Amazon Web Services credentials that can be used
1345
+ # to make Amazon Web Services requests.
1191
1346
  #
1192
1347
  # @!attribute [rw] credentials
1193
1348
  # The temporary security credentials, which include an access key ID,
@@ -1220,6 +1375,7 @@ module Aws::STS
1220
1375
  :credentials,
1221
1376
  :federated_user,
1222
1377
  :packed_policy_size)
1378
+ SENSITIVE = []
1223
1379
  include Aws::Structure
1224
1380
  end
1225
1381
 
@@ -1236,10 +1392,10 @@ module Aws::STS
1236
1392
  # The duration, in seconds, that the credentials should remain valid.
1237
1393
  # Acceptable durations for IAM user sessions range from 900 seconds
1238
1394
  # (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
1239
- # hours) as the default. Sessions for AWS account owners are
1240
- # restricted to a maximum of 3,600 seconds (one hour). If the duration
1241
- # is longer than one hour, the session for AWS account owners defaults
1242
- # to one hour.
1395
+ # hours) as the default. Sessions for Amazon Web Services account
1396
+ # owners are restricted to a maximum of 3,600 seconds (one hour). If
1397
+ # the duration is longer than one hour, the session for Amazon Web
1398
+ # Services account owners defaults to one hour.
1243
1399
  # @return [Integer]
1244
1400
  #
1245
1401
  # @!attribute [rw] serial_number
@@ -1249,8 +1405,8 @@ module Aws::STS
1249
1405
  # The value is either the serial number for a hardware device (such as
1250
1406
  # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual
1251
1407
  # device (such as `arn:aws:iam::123456789012:mfa/user`). You can find
1252
- # the device for an IAM user by going to the AWS Management Console
1253
- # and viewing the user's security credentials.
1408
+ # the device for an IAM user by going to the Amazon Web Services
1409
+ # Management Console and viewing the user's security credentials.
1254
1410
  #
1255
1411
  # The regex used to validate this parameter is a string of characters
1256
1412
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -1276,12 +1432,13 @@ module Aws::STS
1276
1432
  :duration_seconds,
1277
1433
  :serial_number,
1278
1434
  :token_code)
1435
+ SENSITIVE = []
1279
1436
  include Aws::Structure
1280
1437
  end
1281
1438
 
1282
1439
  # Contains the response to a successful GetSessionToken request,
1283
- # including temporary AWS credentials that can be used to make AWS
1284
- # requests.
1440
+ # including temporary Amazon Web Services credentials that can be used
1441
+ # to make Amazon Web Services requests.
1285
1442
  #
1286
1443
  # @!attribute [rw] credentials
1287
1444
  # The temporary security credentials, which include an access key ID,
@@ -1298,6 +1455,7 @@ module Aws::STS
1298
1455
  #
1299
1456
  class GetSessionTokenResponse < Struct.new(
1300
1457
  :credentials)
1458
+ SENSITIVE = []
1301
1459
  include Aws::Structure
1302
1460
  end
1303
1461
 
@@ -1315,6 +1473,7 @@ module Aws::STS
1315
1473
  #
1316
1474
  class IDPCommunicationErrorException < Struct.new(
1317
1475
  :message)
1476
+ SENSITIVE = []
1318
1477
  include Aws::Structure
1319
1478
  end
1320
1479
 
@@ -1332,6 +1491,7 @@ module Aws::STS
1332
1491
  #
1333
1492
  class IDPRejectedClaimException < Struct.new(
1334
1493
  :message)
1494
+ SENSITIVE = []
1335
1495
  include Aws::Structure
1336
1496
  end
1337
1497
 
@@ -1346,12 +1506,13 @@ module Aws::STS
1346
1506
  #
1347
1507
  class InvalidAuthorizationMessageException < Struct.new(
1348
1508
  :message)
1509
+ SENSITIVE = []
1349
1510
  include Aws::Structure
1350
1511
  end
1351
1512
 
1352
- # The web identity token that was passed could not be validated by AWS.
1353
- # Get a new identity token from the identity provider and then retry the
1354
- # request.
1513
+ # The web identity token that was passed could not be validated by
1514
+ # Amazon Web Services. Get a new identity token from the identity
1515
+ # provider and then retry the request.
1355
1516
  #
1356
1517
  # @!attribute [rw] message
1357
1518
  # @return [String]
@@ -1360,6 +1521,7 @@ module Aws::STS
1360
1521
  #
1361
1522
  class InvalidIdentityTokenException < Struct.new(
1362
1523
  :message)
1524
+ SENSITIVE = []
1363
1525
  include Aws::Structure
1364
1526
  end
1365
1527
 
@@ -1373,16 +1535,18 @@ module Aws::STS
1373
1535
  #
1374
1536
  class MalformedPolicyDocumentException < Struct.new(
1375
1537
  :message)
1538
+ SENSITIVE = []
1376
1539
  include Aws::Structure
1377
1540
  end
1378
1541
 
1379
1542
  # The request was rejected because the total packed size of the session
1380
- # policies and session tags combined was too large. An AWS conversion
1381
- # compresses the session policy document, session policy ARNs, and
1382
- # session tags into a packed binary format that has a separate limit.
1383
- # The error message indicates by percentage how close the policies and
1384
- # tags are to the upper size limit. For more information, see [Passing
1385
- # Session Tags in STS][1] in the *IAM User Guide*.
1543
+ # policies and session tags combined was too large. An Amazon Web
1544
+ # Services conversion compresses the session policy document, session
1545
+ # policy ARNs, and session tags into a packed binary format that has a
1546
+ # separate limit. The error message indicates by percentage how close
1547
+ # the policies and tags are to the upper size limit. For more
1548
+ # information, see [Passing Session Tags in STS][1] in the *IAM User
1549
+ # Guide*.
1386
1550
  #
1387
1551
  # You could receive this error even though you meet other defined
1388
1552
  # session policy and session tag limits. For more information, see [IAM
@@ -1391,7 +1555,7 @@ module Aws::STS
1391
1555
  #
1392
1556
  #
1393
1557
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1394
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
1558
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length
1395
1559
  #
1396
1560
  # @!attribute [rw] message
1397
1561
  # @return [String]
@@ -1400,6 +1564,7 @@ module Aws::STS
1400
1564
  #
1401
1565
  class PackedPolicyTooLargeException < Struct.new(
1402
1566
  :message)
1567
+ SENSITIVE = []
1403
1568
  include Aws::Structure
1404
1569
  end
1405
1570
 
@@ -1416,8 +1581,8 @@ module Aws::STS
1416
1581
  # @!attribute [rw] arn
1417
1582
  # The Amazon Resource Name (ARN) of the IAM managed policy to use as a
1418
1583
  # session policy for the role. For more information about ARNs, see
1419
- # [Amazon Resource Names (ARNs) and AWS Service Namespaces][1] in the
1420
- # *AWS General Reference*.
1584
+ # [Amazon Resource Names (ARNs) and Amazon Web Services Service
1585
+ # Namespaces][1] in the *Amazon Web Services General Reference*.
1421
1586
  #
1422
1587
  #
1423
1588
  #
@@ -1428,14 +1593,15 @@ module Aws::STS
1428
1593
  #
1429
1594
  class PolicyDescriptorType < Struct.new(
1430
1595
  :arn)
1596
+ SENSITIVE = []
1431
1597
  include Aws::Structure
1432
1598
  end
1433
1599
 
1434
1600
  # STS is not activated in the requested region for the account that is
1435
1601
  # being asked to generate credentials. The account administrator must
1436
1602
  # use the IAM console to activate STS in that region. For more
1437
- # information, see [Activating and Deactivating AWS STS in an AWS
1438
- # Region][1] in the *IAM User Guide*.
1603
+ # information, see [Activating and Deactivating Amazon Web Services STS
1604
+ # in an Amazon Web Services Region][1] in the *IAM User Guide*.
1439
1605
  #
1440
1606
  #
1441
1607
  #
@@ -1448,13 +1614,15 @@ module Aws::STS
1448
1614
  #
1449
1615
  class RegionDisabledException < Struct.new(
1450
1616
  :message)
1617
+ SENSITIVE = []
1451
1618
  include Aws::Structure
1452
1619
  end
1453
1620
 
1454
1621
  # You can pass custom key-value pair attributes when you assume a role
1455
1622
  # or federate a user. These are called session tags. You can then use
1456
1623
  # the session tags to control access to resources. For more information,
1457
- # see [Tagging AWS STS Sessions][1] in the *IAM User Guide*.
1624
+ # see [Tagging Amazon Web Services STS Sessions][1] in the *IAM User
1625
+ # Guide*.
1458
1626
  #
1459
1627
  #
1460
1628
  #
@@ -1497,6 +1665,7 @@ module Aws::STS
1497
1665
  class Tag < Struct.new(
1498
1666
  :key,
1499
1667
  :value)
1668
+ SENSITIVE = []
1500
1669
  include Aws::Structure
1501
1670
  end
1502
1671