@aws-sdk/client-sts 3.36.0 → 3.36.1

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 (37) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist-cjs/STS.js +0 -7
  3. package/dist-cjs/STSClient.js +0 -12
  4. package/dist-cjs/commands/AssumeRoleCommand.js +0 -107
  5. package/dist-cjs/commands/AssumeRoleWithSAMLCommand.js +0 -155
  6. package/dist-cjs/commands/AssumeRoleWithWebIdentityCommand.js +0 -159
  7. package/dist-cjs/commands/DecodeAuthorizationMessageCommand.js +0 -59
  8. package/dist-cjs/commands/GetAccessKeyInfoCommand.js +0 -41
  9. package/dist-cjs/commands/GetCallerIdentityCommand.js +0 -33
  10. package/dist-cjs/commands/GetFederationTokenCommand.js +0 -162
  11. package/dist-cjs/commands/GetSessionTokenCommand.js +0 -75
  12. package/dist-cjs/defaultRoleAssumers.js +0 -16
  13. package/dist-cjs/defaultStsRoleAssumers.js +0 -20
  14. package/dist-cjs/models/models_0.js +0 -87
  15. package/dist-cjs/protocols/Aws_query.js +0 -2
  16. package/dist-cjs/runtimeConfig.browser.js +1 -5
  17. package/dist-cjs/runtimeConfig.js +1 -5
  18. package/dist-cjs/runtimeConfig.native.js +0 -3
  19. package/dist-cjs/runtimeConfig.shared.js +0 -3
  20. package/dist-types/ts3.4/STS.d.ts +9 -630
  21. package/dist-types/ts3.4/STSClient.d.ts +24 -93
  22. package/dist-types/ts3.4/commands/AssumeRoleCommand.d.ts +2 -103
  23. package/dist-types/ts3.4/commands/AssumeRoleWithSAMLCommand.d.ts +2 -151
  24. package/dist-types/ts3.4/commands/AssumeRoleWithWebIdentityCommand.d.ts +2 -155
  25. package/dist-types/ts3.4/commands/DecodeAuthorizationMessageCommand.d.ts +2 -55
  26. package/dist-types/ts3.4/commands/GetAccessKeyInfoCommand.d.ts +2 -37
  27. package/dist-types/ts3.4/commands/GetCallerIdentityCommand.d.ts +2 -29
  28. package/dist-types/ts3.4/commands/GetFederationTokenCommand.d.ts +2 -158
  29. package/dist-types/ts3.4/commands/GetSessionTokenCommand.d.ts +2 -71
  30. package/dist-types/ts3.4/defaultRoleAssumers.d.ts +3 -14
  31. package/dist-types/ts3.4/defaultStsRoleAssumers.d.ts +6 -25
  32. package/dist-types/ts3.4/models/models_0.d.ts +123 -948
  33. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -3
  34. package/dist-types/ts3.4/runtimeConfig.d.ts +1 -3
  35. package/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -3
  36. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +1 -3
  37. package/package.json +2 -2
@@ -6,52 +6,11 @@ const middleware_signing_1 = require("@aws-sdk/middleware-signing");
6
6
  const smithy_client_1 = require("@aws-sdk/smithy-client");
7
7
  const models_0_1 = require("../models/models_0");
8
8
  const Aws_query_1 = require("../protocols/Aws_query");
9
- /**
10
- * <p>Returns the account identifier for the specified access key ID.</p>
11
- * <p>Access keys consist of two parts: an access key ID (for example,
12
- * <code>AKIAIOSFODNN7EXAMPLE</code>) and a secret access key (for example,
13
- * <code>wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY</code>). For more information about
14
- * access keys, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html">Managing Access Keys for IAM
15
- * Users</a> in the <i>IAM User Guide</i>.</p>
16
- * <p>When you pass an access key ID to this operation, it returns the ID of the Amazon Web Services
17
- * account to which the keys belong. Access key IDs beginning with <code>AKIA</code> are
18
- * long-term credentials for an IAM user or the Amazon Web Services account root user. Access key IDs
19
- * beginning with <code>ASIA</code> are temporary credentials that are created using STS
20
- * operations. If the account in the response belongs to you, you can sign in as the root
21
- * user and review your root user access keys. Then, you can pull a <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html">credentials report</a> to learn which IAM user owns the keys. To learn who
22
- * requested the temporary credentials for an <code>ASIA</code> access key, view the STS
23
- * events in your <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html">CloudTrail logs</a> in the
24
- * <i>IAM User Guide</i>.</p>
25
- * <p>This operation does not indicate the state of the access key. The key might be active,
26
- * inactive, or deleted. Active keys might not have permissions to perform an operation.
27
- * Providing a deleted access key might return an error that the key doesn't exist.</p>
28
- * @example
29
- * Use a bare-bones client and the command you need to make an API call.
30
- * ```javascript
31
- * import { STSClient, GetAccessKeyInfoCommand } from "@aws-sdk/client-sts"; // ES Modules import
32
- * // const { STSClient, GetAccessKeyInfoCommand } = require("@aws-sdk/client-sts"); // CommonJS import
33
- * const client = new STSClient(config);
34
- * const command = new GetAccessKeyInfoCommand(input);
35
- * const response = await client.send(command);
36
- * ```
37
- *
38
- * @see {@link GetAccessKeyInfoCommandInput} for command's `input` shape.
39
- * @see {@link GetAccessKeyInfoCommandOutput} for command's `response` shape.
40
- * @see {@link STSClientResolvedConfig | config} for command's `input` shape.
41
- *
42
- */
43
9
  class GetAccessKeyInfoCommand extends smithy_client_1.Command {
44
- // Start section: command_properties
45
- // End section: command_properties
46
10
  constructor(input) {
47
- // Start section: command_constructor
48
11
  super();
49
12
  this.input = input;
50
- // End section: command_constructor
51
13
  }
52
- /**
53
- * @internal
54
- */
55
14
  resolveMiddleware(clientStack, configuration, options) {
56
15
  this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
57
16
  this.middlewareStack.use(middleware_signing_1.getAwsAuthPlugin(configuration));
@@ -6,44 +6,11 @@ const middleware_signing_1 = require("@aws-sdk/middleware-signing");
6
6
  const smithy_client_1 = require("@aws-sdk/smithy-client");
7
7
  const models_0_1 = require("../models/models_0");
8
8
  const Aws_query_1 = require("../protocols/Aws_query");
9
- /**
10
- * <p>Returns details about the IAM user or role whose credentials are used to call the
11
- * operation.</p>
12
- * <note>
13
- * <p>No permissions are required to perform this operation. If an administrator adds a
14
- * policy to your IAM user or role that explicitly denies access to the
15
- * <code>sts:GetCallerIdentity</code> action, you can still perform this operation.
16
- * Permissions are not required because the same information is returned when an IAM
17
- * user or role is denied access. To view an example response, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa">I Am Not Authorized to Perform: iam:DeleteVirtualMFADevice</a> in the
18
- * <i>IAM User Guide</i>.</p>
19
- * </note>
20
- * @example
21
- * Use a bare-bones client and the command you need to make an API call.
22
- * ```javascript
23
- * import { STSClient, GetCallerIdentityCommand } from "@aws-sdk/client-sts"; // ES Modules import
24
- * // const { STSClient, GetCallerIdentityCommand } = require("@aws-sdk/client-sts"); // CommonJS import
25
- * const client = new STSClient(config);
26
- * const command = new GetCallerIdentityCommand(input);
27
- * const response = await client.send(command);
28
- * ```
29
- *
30
- * @see {@link GetCallerIdentityCommandInput} for command's `input` shape.
31
- * @see {@link GetCallerIdentityCommandOutput} for command's `response` shape.
32
- * @see {@link STSClientResolvedConfig | config} for command's `input` shape.
33
- *
34
- */
35
9
  class GetCallerIdentityCommand extends smithy_client_1.Command {
36
- // Start section: command_properties
37
- // End section: command_properties
38
10
  constructor(input) {
39
- // Start section: command_constructor
40
11
  super();
41
12
  this.input = input;
42
- // End section: command_constructor
43
13
  }
44
- /**
45
- * @internal
46
- */
47
14
  resolveMiddleware(clientStack, configuration, options) {
48
15
  this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
49
16
  this.middlewareStack.use(middleware_signing_1.getAwsAuthPlugin(configuration));
@@ -6,173 +6,11 @@ const middleware_signing_1 = require("@aws-sdk/middleware-signing");
6
6
  const smithy_client_1 = require("@aws-sdk/smithy-client");
7
7
  const models_0_1 = require("../models/models_0");
8
8
  const Aws_query_1 = require("../protocols/Aws_query");
9
- /**
10
- * <p>Returns a set of temporary security credentials (consisting of an access key ID, a
11
- * secret access key, and a security token) for a federated user. A typical use is in a proxy
12
- * application that gets temporary security credentials on behalf of distributed applications
13
- * inside a corporate network. You must call the <code>GetFederationToken</code> operation
14
- * using the long-term security credentials of an IAM user. As a result, this call is
15
- * appropriate in contexts where those credentials can be safely stored, usually in a
16
- * server-based application. For a comparison of <code>GetFederationToken</code> with the
17
- * other API operations that produce temporary credentials, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html">Requesting Temporary Security
18
- * Credentials</a> and <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison">Comparing the
19
- * STS API operations</a> in the <i>IAM User Guide</i>.</p>
20
- * <note>
21
- * <p>You can create a mobile-based or browser-based app that can authenticate users using
22
- * a web identity provider like Login with Amazon, Facebook, Google, or an OpenID
23
- * Connect-compatible identity provider. In this case, we recommend that you use <a href="http://aws.amazon.com/cognito/">Amazon Cognito</a> or
24
- * <code>AssumeRoleWithWebIdentity</code>. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity">Federation Through a Web-based Identity Provider</a> in the
25
- * <i>IAM User Guide</i>.</p>
26
- * </note>
27
- * <p>You can also call <code>GetFederationToken</code> using the security credentials of an
28
- * Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create
29
- * an IAM user for the purpose of the proxy application. Then attach a policy to the IAM
30
- * user that limits federated users to only the actions and resources that they need to
31
- * access. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html">IAM Best Practices</a> in the
32
- * <i>IAM User Guide</i>. </p>
33
- * <p>
34
- * <b>Session duration</b>
35
- * </p>
36
- * <p>The temporary credentials are valid for the specified duration, from 900 seconds (15
37
- * minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is
38
- * 43,200 seconds (12 hours). Temporary credentials that are obtained by using Amazon Web Services account
39
- * root user credentials have a maximum duration of 3,600 seconds (1 hour).</p>
40
- * <p>
41
- * <b>Permissions</b>
42
- * </p>
43
- * <p>You can use the temporary credentials created by <code>GetFederationToken</code> in any
44
- * Amazon Web Services service except the following:</p>
45
- * <ul>
46
- * <li>
47
- * <p>You cannot call any IAM operations using the CLI or the Amazon Web Services API. </p>
48
- * </li>
49
- * <li>
50
- * <p>You cannot call any STS operations except <code>GetCallerIdentity</code>.</p>
51
- * </li>
52
- * </ul>
53
- * <p>You must pass an inline or managed <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">session policy</a> to
54
- * this operation. You can pass a single JSON policy document to use as an inline session
55
- * policy. You can also specify up to 10 managed policies to use as managed session policies.
56
- * The plaintext that you use for both inline and managed session policies can't exceed 2,048
57
- * characters.</p>
58
- * <p>Though the session policy parameters are optional, if you do not pass a policy, then the
59
- * resulting federated user session has no permissions. When you pass session policies, the
60
- * session permissions are the intersection of the IAM user policies and the session
61
- * policies that you pass. This gives you a way to further restrict the permissions for a
62
- * federated user. You cannot use session policies to grant more permissions than those that
63
- * are defined in the permissions policy of the IAM user. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session
64
- * Policies</a> in the <i>IAM User Guide</i>. For information about
65
- * using <code>GetFederationToken</code> to create temporary security credentials, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken">GetFederationToken—Federation Through a Custom Identity Broker</a>. </p>
66
- * <p>You can use the credentials to access a resource that has a resource-based policy. If
67
- * that policy specifically references the federated user session in the
68
- * <code>Principal</code> element of the policy, the session has the permissions allowed by
69
- * the policy. These permissions are granted in addition to the permissions granted by the
70
- * session policies.</p>
71
- * <p>
72
- * <b>Tags</b>
73
- * </p>
74
- * <p>(Optional) You can pass tag key-value pairs to your session. These are called session
75
- * tags. For more information about session tags, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html">Passing Session Tags in STS</a> in the
76
- * <i>IAM User Guide</i>.</p>
77
- * <note>
78
- * <p>You can create a mobile-based or browser-based app that can authenticate users
79
- * using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID
80
- * Connect-compatible identity provider. In this case, we recommend that you use <a href="http://aws.amazon.com/cognito/">Amazon Cognito</a> or
81
- * <code>AssumeRoleWithWebIdentity</code>. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity">Federation Through a Web-based Identity Provider</a> in the
82
- * <i>IAM User Guide</i>.</p>
83
- * </note>
84
- * <p>You can also call <code>GetFederationToken</code> using the security credentials of an
85
- * Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you
86
- * create an IAM user for the purpose of the proxy application. Then attach a policy to
87
- * the IAM user that limits federated users to only the actions and resources that they
88
- * need to access. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html">IAM Best Practices</a> in the
89
- * <i>IAM User Guide</i>. </p>
90
- * <p>
91
- * <b>Session duration</b>
92
- * </p>
93
- * <p>The temporary credentials are valid for the specified duration, from 900 seconds (15
94
- * minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is
95
- * 43,200 seconds (12 hours). Temporary credentials that are obtained by using Amazon Web Services
96
- * account root user credentials have a maximum duration of 3,600 seconds (1 hour).</p>
97
- * <p>
98
- * <b>Permissions</b>
99
- * </p>
100
- * <p>You can use the temporary credentials created by <code>GetFederationToken</code> in
101
- * any Amazon Web Services service except the following:</p>
102
- * <ul>
103
- * <li>
104
- * <p>You cannot call any IAM operations using the CLI or the Amazon Web Services API.
105
- * </p>
106
- * </li>
107
- * <li>
108
- * <p>You cannot call any STS operations except
109
- * <code>GetCallerIdentity</code>.</p>
110
- * </li>
111
- * </ul>
112
- * <p>You must pass an inline or managed <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">session policy</a> to
113
- * this operation. You can pass a single JSON policy document to use as an inline session
114
- * policy. You can also specify up to 10 managed policies to use as managed session
115
- * policies. The plain text that you use for both inline and managed session policies can't
116
- * exceed 2,048 characters.</p>
117
- * <p>Though the session policy parameters are optional, if you do not pass a policy, then
118
- * the resulting federated user session has no permissions. When you pass session policies,
119
- * the session permissions are the intersection of the IAM user policies and the session
120
- * policies that you pass. This gives you a way to further restrict the permissions for a
121
- * federated user. You cannot use session policies to grant more permissions than those
122
- * that are defined in the permissions policy of the IAM user. For more information, see
123
- * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session Policies</a>
124
- * in the <i>IAM User Guide</i>. For information about using
125
- * <code>GetFederationToken</code> to create temporary security credentials, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken">GetFederationToken—Federation Through a Custom Identity Broker</a>. </p>
126
- * <p>You can use the credentials to access a resource that has a resource-based policy. If
127
- * that policy specifically references the federated user session in the
128
- * <code>Principal</code> element of the policy, the session has the permissions
129
- * allowed by the policy. These permissions are granted in addition to the permissions
130
- * granted by the session policies.</p>
131
- * <p>
132
- * <b>Tags</b>
133
- * </p>
134
- * <p>(Optional) You can pass tag key-value pairs to your session. These are called session
135
- * tags. For more information about session tags, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html">Passing Session Tags in STS</a> in
136
- * the <i>IAM User Guide</i>.</p>
137
- * <p>An administrator must grant you the permissions necessary to pass session tags. The
138
- * administrator can also create granular permissions to allow you to pass only specific
139
- * session tags. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html">Tutorial: Using
140
- * Tags for Attribute-Based Access Control</a> in the
141
- * <i>IAM User Guide</i>.</p>
142
- * <p>Tag key–value pairs are not case sensitive, but case is preserved. This means that you
143
- * cannot have separate <code>Department</code> and <code>department</code> tag keys.
144
- * Assume that the user that you are federating has the
145
- * <code>Department</code>=<code>Marketing</code> tag and you pass the
146
- * <code>department</code>=<code>engineering</code> session tag.
147
- * <code>Department</code> and <code>department</code> are not saved as separate tags,
148
- * and the session tag passed in the request takes precedence over the user tag.</p>
149
- * @example
150
- * Use a bare-bones client and the command you need to make an API call.
151
- * ```javascript
152
- * import { STSClient, GetFederationTokenCommand } from "@aws-sdk/client-sts"; // ES Modules import
153
- * // const { STSClient, GetFederationTokenCommand } = require("@aws-sdk/client-sts"); // CommonJS import
154
- * const client = new STSClient(config);
155
- * const command = new GetFederationTokenCommand(input);
156
- * const response = await client.send(command);
157
- * ```
158
- *
159
- * @see {@link GetFederationTokenCommandInput} for command's `input` shape.
160
- * @see {@link GetFederationTokenCommandOutput} for command's `response` shape.
161
- * @see {@link STSClientResolvedConfig | config} for command's `input` shape.
162
- *
163
- */
164
9
  class GetFederationTokenCommand extends smithy_client_1.Command {
165
- // Start section: command_properties
166
- // End section: command_properties
167
10
  constructor(input) {
168
- // Start section: command_constructor
169
11
  super();
170
12
  this.input = input;
171
- // End section: command_constructor
172
13
  }
173
- /**
174
- * @internal
175
- */
176
14
  resolveMiddleware(clientStack, configuration, options) {
177
15
  this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
178
16
  this.middlewareStack.use(middleware_signing_1.getAwsAuthPlugin(configuration));
@@ -6,86 +6,11 @@ const middleware_signing_1 = require("@aws-sdk/middleware-signing");
6
6
  const smithy_client_1 = require("@aws-sdk/smithy-client");
7
7
  const models_0_1 = require("../models/models_0");
8
8
  const Aws_query_1 = require("../protocols/Aws_query");
9
- /**
10
- * <p>Returns a set of temporary credentials for an Amazon Web Services account or IAM user. The
11
- * credentials consist of an access key ID, a secret access key, and a security token.
12
- * Typically, you use <code>GetSessionToken</code> if you want to use MFA to protect
13
- * programmatic calls to specific Amazon Web Services API operations like Amazon EC2 <code>StopInstances</code>.
14
- * MFA-enabled IAM users would need to call <code>GetSessionToken</code> and submit an MFA
15
- * code that is associated with their MFA device. Using the temporary security credentials
16
- * that are returned from the call, IAM users can then make programmatic calls to API
17
- * operations that require MFA authentication. If you do not supply a correct MFA code, then
18
- * the API returns an access denied error. For a comparison of <code>GetSessionToken</code>
19
- * with the other API operations that produce temporary credentials, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html">Requesting
20
- * Temporary Security Credentials</a> and <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison">Comparing the
21
- * STS API operations</a> in the <i>IAM User Guide</i>.</p>
22
- * <p>
23
- * <b>Session Duration</b>
24
- * </p>
25
- * <p>The <code>GetSessionToken</code> operation must be called by using the long-term Amazon Web Services
26
- * security credentials of the Amazon Web Services account root user or an IAM user. Credentials that are
27
- * created by IAM users are valid for the duration that you specify. This duration can range
28
- * from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default
29
- * of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900
30
- * seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour. </p>
31
- * <p>
32
- * <b>Permissions</b>
33
- * </p>
34
- * <p>The temporary security credentials created by <code>GetSessionToken</code> can be used
35
- * to make API calls to any Amazon Web Services service with the following exceptions:</p>
36
- * <ul>
37
- * <li>
38
- * <p>You cannot call any IAM API operations unless MFA authentication information is
39
- * included in the request.</p>
40
- * </li>
41
- * <li>
42
- * <p>You cannot call any STS API <i>except</i>
43
- * <code>AssumeRole</code> or <code>GetCallerIdentity</code>.</p>
44
- * </li>
45
- * </ul>
46
- * <note>
47
- * <p>We recommend that you do not call <code>GetSessionToken</code> with Amazon Web Services account
48
- * root user credentials. Instead, follow our <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users">best practices</a> by
49
- * creating one or more IAM users, giving them the necessary permissions, and using IAM
50
- * users for everyday interaction with Amazon Web Services. </p>
51
- * </note>
52
- * <p>The credentials that are returned by <code>GetSessionToken</code> are based on
53
- * permissions associated with the user whose credentials were used to call the operation. If
54
- * <code>GetSessionToken</code> is called using Amazon Web Services account root user credentials, the
55
- * temporary credentials have root user permissions. Similarly, if
56
- * <code>GetSessionToken</code> is called using the credentials of an IAM user, the
57
- * temporary credentials have the same permissions as the IAM user. </p>
58
- * <p>For more information about using <code>GetSessionToken</code> to create temporary
59
- * credentials, go to <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken">Temporary
60
- * Credentials for Users in Untrusted Environments</a> in the
61
- * <i>IAM User Guide</i>. </p>
62
- * @example
63
- * Use a bare-bones client and the command you need to make an API call.
64
- * ```javascript
65
- * import { STSClient, GetSessionTokenCommand } from "@aws-sdk/client-sts"; // ES Modules import
66
- * // const { STSClient, GetSessionTokenCommand } = require("@aws-sdk/client-sts"); // CommonJS import
67
- * const client = new STSClient(config);
68
- * const command = new GetSessionTokenCommand(input);
69
- * const response = await client.send(command);
70
- * ```
71
- *
72
- * @see {@link GetSessionTokenCommandInput} for command's `input` shape.
73
- * @see {@link GetSessionTokenCommandOutput} for command's `response` shape.
74
- * @see {@link STSClientResolvedConfig | config} for command's `input` shape.
75
- *
76
- */
77
9
  class GetSessionTokenCommand extends smithy_client_1.Command {
78
- // Start section: command_properties
79
- // End section: command_properties
80
10
  constructor(input) {
81
- // Start section: command_constructor
82
11
  super();
83
12
  this.input = input;
84
- // End section: command_constructor
85
13
  }
86
- /**
87
- * @internal
88
- */
89
14
  resolveMiddleware(clientStack, configuration, options) {
90
15
  this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
91
16
  this.middlewareStack.use(middleware_signing_1.getAwsAuthPlugin(configuration));
@@ -1,28 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWebIdentity = exports.getDefaultRoleAssumer = void 0;
4
- // Please do not touch this file. It's generated from template in:
5
- // https://github.com/aws/aws-sdk-js-v3/blob/main/codegen/smithy-aws-typescript-codegen/src/main/resources/software/amazon/smithy/aws/typescript/codegen/sts-client-defaultRoleAssumers.ts
6
4
  const defaultStsRoleAssumers_1 = require("./defaultStsRoleAssumers");
7
5
  const STSClient_1 = require("./STSClient");
8
- /**
9
- * The default role assumer that used by credential providers when sts:AssumeRole API is needed.
10
- */
11
6
  const getDefaultRoleAssumer = (stsOptions = {}) => defaultStsRoleAssumers_1.getDefaultRoleAssumer(stsOptions, STSClient_1.STSClient);
12
7
  exports.getDefaultRoleAssumer = getDefaultRoleAssumer;
13
- /**
14
- * The default role assumer that used by credential providers when sts:AssumeRoleWithWebIdentity API is needed.
15
- */
16
8
  const getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}) => defaultStsRoleAssumers_1.getDefaultRoleAssumerWithWebIdentity(stsOptions, STSClient_1.STSClient);
17
9
  exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity;
18
- /**
19
- * The default credential providers depend STS client to assume role with desired API: sts:assumeRole,
20
- * sts:assumeRoleWithWebIdentity, etc. This function decorates the default credential provider with role assumers which
21
- * encapsulates the process of calling STS commands. This can only be imported by AWS client packages to avoid circular
22
- * dependencies.
23
- *
24
- * @internal
25
- */
26
10
  const decorateDefaultCredentialProvider = (provider) => (input) => provider({
27
11
  roleAssumer: exports.getDefaultRoleAssumer(input),
28
12
  roleAssumerWithWebIdentity: exports.getDefaultRoleAssumerWithWebIdentity(input),
@@ -4,9 +4,6 @@ exports.decorateDefaultCredentialProvider = exports.getDefaultRoleAssumerWithWeb
4
4
  const AssumeRoleCommand_1 = require("./commands/AssumeRoleCommand");
5
5
  const AssumeRoleWithWebIdentityCommand_1 = require("./commands/AssumeRoleWithWebIdentityCommand");
6
6
  const ASSUME_ROLE_DEFAULT_REGION = "us-east-1";
7
- /**
8
- * Inject the fallback STS region of us-east-1.
9
- */
10
7
  const decorateDefaultRegion = (region) => {
11
8
  if (typeof region !== "function") {
12
9
  return region === undefined ? ASSUME_ROLE_DEFAULT_REGION : region;
@@ -20,10 +17,6 @@ const decorateDefaultRegion = (region) => {
20
17
  }
21
18
  };
22
19
  };
23
- /**
24
- * The default role assumer that used by credential providers when sts:AssumeRole API is needed.
25
- * @internal
26
- */
27
20
  const getDefaultRoleAssumer = (stsOptions, stsClientCtor) => {
28
21
  let stsClient;
29
22
  let closureSourceCreds;
@@ -33,7 +26,6 @@ const getDefaultRoleAssumer = (stsOptions, stsClientCtor) => {
33
26
  const { logger, region, requestHandler } = stsOptions;
34
27
  stsClient = new stsClientCtor({
35
28
  logger,
36
- // A hack to make sts client uses the credential in current closure.
37
29
  credentialDefaultProvider: () => async () => closureSourceCreds,
38
30
  region: decorateDefaultRegion(region || stsOptions.region),
39
31
  ...(requestHandler ? { requestHandler } : {}),
@@ -52,10 +44,6 @@ const getDefaultRoleAssumer = (stsOptions, stsClientCtor) => {
52
44
  };
53
45
  };
54
46
  exports.getDefaultRoleAssumer = getDefaultRoleAssumer;
55
- /**
56
- * The default role assumer that used by credential providers when sts:AssumeRoleWithWebIdentity API is needed.
57
- * @internal
58
- */
59
47
  const getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => {
60
48
  let stsClient;
61
49
  return async (params) => {
@@ -80,14 +68,6 @@ const getDefaultRoleAssumerWithWebIdentity = (stsOptions, stsClientCtor) => {
80
68
  };
81
69
  };
82
70
  exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity;
83
- /**
84
- * The default credential providers depend STS client to assume role with desired API: sts:assumeRole,
85
- * sts:assumeRoleWithWebIdentity, etc. This function decorates the default credential provider with role assumers which
86
- * encapsulates the process of calling STS commands. This can only be imported by AWS client packages to avoid circular
87
- * dependencies.
88
- *
89
- * @internal
90
- */
91
71
  const decorateDefaultCredentialProvider = (provider) => (input) => provider({
92
72
  roleAssumer: exports.getDefaultRoleAssumer(input, input.stsClientCtor),
93
73
  roleAssumerWithWebIdentity: exports.getDefaultRoleAssumerWithWebIdentity(input, input.stsClientCtor),