@depup/aws-sdk__client-sso-oidc 3.1010.0-depup.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 (87) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +39 -0
  3. package/changes.json +42 -0
  4. package/dist-cjs/auth/httpAuthSchemeProvider.js +69 -0
  5. package/dist-cjs/endpoint/endpointResolver.js +18 -0
  6. package/dist-cjs/endpoint/ruleset.js +7 -0
  7. package/dist-cjs/index.js +214 -0
  8. package/dist-cjs/models/SSOOIDCServiceException.js +12 -0
  9. package/dist-cjs/models/errors.js +250 -0
  10. package/dist-cjs/runtimeConfig.browser.js +38 -0
  11. package/dist-cjs/runtimeConfig.js +53 -0
  12. package/dist-cjs/runtimeConfig.native.js +15 -0
  13. package/dist-cjs/runtimeConfig.shared.js +49 -0
  14. package/dist-cjs/schemas/schemas_0.js +246 -0
  15. package/dist-es/SSOOIDC.js +15 -0
  16. package/dist-es/SSOOIDCClient.js +50 -0
  17. package/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  18. package/dist-es/auth/httpAuthSchemeProvider.js +63 -0
  19. package/dist-es/commands/CreateTokenCommand.js +16 -0
  20. package/dist-es/commands/CreateTokenWithIAMCommand.js +16 -0
  21. package/dist-es/commands/RegisterClientCommand.js +16 -0
  22. package/dist-es/commands/StartDeviceAuthorizationCommand.js +16 -0
  23. package/dist-es/commands/index.js +4 -0
  24. package/dist-es/endpoint/EndpointParameters.js +13 -0
  25. package/dist-es/endpoint/endpointResolver.js +14 -0
  26. package/dist-es/endpoint/ruleset.js +4 -0
  27. package/dist-es/extensionConfiguration.js +1 -0
  28. package/dist-es/index.js +8 -0
  29. package/dist-es/models/SSOOIDCServiceException.js +8 -0
  30. package/dist-es/models/enums.js +9 -0
  31. package/dist-es/models/errors.js +233 -0
  32. package/dist-es/models/models_0.js +1 -0
  33. package/dist-es/runtimeConfig.browser.js +33 -0
  34. package/dist-es/runtimeConfig.js +48 -0
  35. package/dist-es/runtimeConfig.native.js +11 -0
  36. package/dist-es/runtimeConfig.shared.js +45 -0
  37. package/dist-es/runtimeExtensions.js +9 -0
  38. package/dist-es/schemas/schemas_0.js +243 -0
  39. package/dist-types/SSOOIDC.d.ts +76 -0
  40. package/dist-types/SSOOIDCClient.d.ts +229 -0
  41. package/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  42. package/dist-types/auth/httpAuthSchemeProvider.d.ts +75 -0
  43. package/dist-types/commands/CreateTokenCommand.d.ts +176 -0
  44. package/dist-types/commands/CreateTokenWithIAMCommand.d.ts +272 -0
  45. package/dist-types/commands/RegisterClientCommand.d.ts +151 -0
  46. package/dist-types/commands/StartDeviceAuthorizationCommand.d.ts +125 -0
  47. package/dist-types/commands/index.d.ts +4 -0
  48. package/dist-types/endpoint/EndpointParameters.d.ts +50 -0
  49. package/dist-types/endpoint/endpointResolver.d.ts +8 -0
  50. package/dist-types/endpoint/ruleset.d.ts +2 -0
  51. package/dist-types/extensionConfiguration.d.ts +9 -0
  52. package/dist-types/index.d.ts +54 -0
  53. package/dist-types/models/SSOOIDCServiceException.d.ts +14 -0
  54. package/dist-types/models/enums.d.ts +25 -0
  55. package/dist-types/models/errors.d.ts +364 -0
  56. package/dist-types/models/models_0.d.ts +436 -0
  57. package/dist-types/runtimeConfig.browser.d.ts +63 -0
  58. package/dist-types/runtimeConfig.d.ts +63 -0
  59. package/dist-types/runtimeConfig.native.d.ts +62 -0
  60. package/dist-types/runtimeConfig.shared.d.ts +38 -0
  61. package/dist-types/runtimeExtensions.d.ts +17 -0
  62. package/dist-types/schemas/schemas_0.d.ts +36 -0
  63. package/dist-types/ts3.4/SSOOIDC.d.ts +73 -0
  64. package/dist-types/ts3.4/SSOOIDCClient.d.ts +143 -0
  65. package/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  66. package/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +47 -0
  67. package/dist-types/ts3.4/commands/CreateTokenCommand.d.ts +47 -0
  68. package/dist-types/ts3.4/commands/CreateTokenWithIAMCommand.d.ts +51 -0
  69. package/dist-types/ts3.4/commands/RegisterClientCommand.d.ts +50 -0
  70. package/dist-types/ts3.4/commands/StartDeviceAuthorizationCommand.d.ts +51 -0
  71. package/dist-types/ts3.4/commands/index.d.ts +4 -0
  72. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +51 -0
  73. package/dist-types/ts3.4/endpoint/endpointResolver.d.ts +8 -0
  74. package/dist-types/ts3.4/endpoint/ruleset.d.ts +2 -0
  75. package/dist-types/ts3.4/extensionConfiguration.d.ts +9 -0
  76. package/dist-types/ts3.4/index.d.ts +11 -0
  77. package/dist-types/ts3.4/models/SSOOIDCServiceException.d.ts +9 -0
  78. package/dist-types/ts3.4/models/enums.d.ts +13 -0
  79. package/dist-types/ts3.4/models/errors.d.ts +134 -0
  80. package/dist-types/ts3.4/models/models_0.d.ts +74 -0
  81. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +125 -0
  82. package/dist-types/ts3.4/runtimeConfig.d.ts +120 -0
  83. package/dist-types/ts3.4/runtimeConfig.native.d.ts +129 -0
  84. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +58 -0
  85. package/dist-types/ts3.4/runtimeExtensions.d.ts +11 -0
  86. package/dist-types/ts3.4/schemas/schemas_0.d.ts +35 -0
  87. package/package.json +159 -0
@@ -0,0 +1,75 @@
1
+ import { AwsSdkSigV4AuthInputConfig, AwsSdkSigV4AuthResolvedConfig, AwsSdkSigV4PreviouslyResolved } from "@aws-sdk/core";
2
+ import type { HandlerExecutionContext, HttpAuthScheme, HttpAuthSchemeParameters, HttpAuthSchemeParametersProvider, HttpAuthSchemeProvider, Provider } from "@smithy/types";
3
+ import { type SSOOIDCClientResolvedConfig } from "../SSOOIDCClient";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface SSOOIDCHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface SSOOIDCHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<SSOOIDCClientResolvedConfig, HandlerExecutionContext, SSOOIDCHttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultSSOOIDCHttpAuthSchemeParametersProvider: (config: SSOOIDCClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<SSOOIDCHttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface SSOOIDCHttpAuthSchemeProvider extends HttpAuthSchemeProvider<SSOOIDCHttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultSSOOIDCHttpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider;
28
+ /**
29
+ * @public
30
+ */
31
+ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
32
+ /**
33
+ * A comma-separated list of case-sensitive auth scheme names.
34
+ * An auth scheme name is a fully qualified auth scheme ID with the namespace prefix trimmed.
35
+ * For example, the auth scheme with ID aws.auth#sigv4 is named sigv4.
36
+ * @public
37
+ */
38
+ authSchemePreference?: string[] | Provider<string[]>;
39
+ /**
40
+ * Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
41
+ * @internal
42
+ */
43
+ httpAuthSchemes?: HttpAuthScheme[];
44
+ /**
45
+ * Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
46
+ * @internal
47
+ */
48
+ httpAuthSchemeProvider?: SSOOIDCHttpAuthSchemeProvider;
49
+ }
50
+ /**
51
+ * @internal
52
+ */
53
+ export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig {
54
+ /**
55
+ * A comma-separated list of case-sensitive auth scheme names.
56
+ * An auth scheme name is a fully qualified auth scheme ID with the namespace prefix trimmed.
57
+ * For example, the auth scheme with ID aws.auth#sigv4 is named sigv4.
58
+ * @public
59
+ */
60
+ readonly authSchemePreference: Provider<string[]>;
61
+ /**
62
+ * Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
63
+ * @internal
64
+ */
65
+ readonly httpAuthSchemes: HttpAuthScheme[];
66
+ /**
67
+ * Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
68
+ * @internal
69
+ */
70
+ readonly httpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider;
71
+ }
72
+ /**
73
+ * @internal
74
+ */
75
+ export declare const resolveHttpAuthSchemeConfig: <T>(config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved) => T & HttpAuthSchemeResolvedConfig;
@@ -0,0 +1,176 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { CreateTokenRequest, CreateTokenResponse } from "../models/models_0";
4
+ import type { ServiceInputTypes, ServiceOutputTypes, SSOOIDCClientResolvedConfig } from "../SSOOIDCClient";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link CreateTokenCommand}.
14
+ */
15
+ export interface CreateTokenCommandInput extends CreateTokenRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link CreateTokenCommand}.
21
+ */
22
+ export interface CreateTokenCommandOutput extends CreateTokenResponse, __MetadataBearer {
23
+ }
24
+ declare const CreateTokenCommand_base: {
25
+ new (input: CreateTokenCommandInput): import("@smithy/smithy-client").CommandImpl<CreateTokenCommandInput, CreateTokenCommandOutput, SSOOIDCClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: CreateTokenCommandInput): import("@smithy/smithy-client").CommandImpl<CreateTokenCommandInput, CreateTokenCommandOutput, SSOOIDCClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Creates and returns access and refresh tokens for clients that are authenticated using
31
+ * client secrets. The access token can be used to fetch short-lived credentials for the assigned
32
+ * AWS accounts or to access application APIs using <code>bearer</code> authentication.</p>
33
+ * @example
34
+ * Use a bare-bones client and the command you need to make an API call.
35
+ * ```javascript
36
+ * import { SSOOIDCClient, CreateTokenCommand } from "@aws-sdk/client-sso-oidc"; // ES Modules import
37
+ * // const { SSOOIDCClient, CreateTokenCommand } = require("@aws-sdk/client-sso-oidc"); // CommonJS import
38
+ * // import type { SSOOIDCClientConfig } from "@aws-sdk/client-sso-oidc";
39
+ * const config = {}; // type is SSOOIDCClientConfig
40
+ * const client = new SSOOIDCClient(config);
41
+ * const input = { // CreateTokenRequest
42
+ * clientId: "STRING_VALUE", // required
43
+ * clientSecret: "STRING_VALUE", // required
44
+ * grantType: "STRING_VALUE", // required
45
+ * deviceCode: "STRING_VALUE",
46
+ * code: "STRING_VALUE",
47
+ * refreshToken: "STRING_VALUE",
48
+ * scope: [ // Scopes
49
+ * "STRING_VALUE",
50
+ * ],
51
+ * redirectUri: "STRING_VALUE",
52
+ * codeVerifier: "STRING_VALUE",
53
+ * };
54
+ * const command = new CreateTokenCommand(input);
55
+ * const response = await client.send(command);
56
+ * // { // CreateTokenResponse
57
+ * // accessToken: "STRING_VALUE",
58
+ * // tokenType: "STRING_VALUE",
59
+ * // expiresIn: Number("int"),
60
+ * // refreshToken: "STRING_VALUE",
61
+ * // idToken: "STRING_VALUE",
62
+ * // };
63
+ *
64
+ * ```
65
+ *
66
+ * @param CreateTokenCommandInput - {@link CreateTokenCommandInput}
67
+ * @returns {@link CreateTokenCommandOutput}
68
+ * @see {@link CreateTokenCommandInput} for command's `input` shape.
69
+ * @see {@link CreateTokenCommandOutput} for command's `response` shape.
70
+ * @see {@link SSOOIDCClientResolvedConfig | config} for SSOOIDCClient's `config` shape.
71
+ *
72
+ * @throws {@link AccessDeniedException} (client fault)
73
+ * <p>You do not have sufficient access to perform this action.</p>
74
+ *
75
+ * @throws {@link AuthorizationPendingException} (client fault)
76
+ * <p>Indicates that a request to authorize a client with an access user session token is
77
+ * pending.</p>
78
+ *
79
+ * @throws {@link ExpiredTokenException} (client fault)
80
+ * <p>Indicates that the token issued by the service is expired and is no longer valid.</p>
81
+ *
82
+ * @throws {@link InternalServerException} (server fault)
83
+ * <p>Indicates that an error from the service occurred while trying to process a
84
+ * request.</p>
85
+ *
86
+ * @throws {@link InvalidClientException} (client fault)
87
+ * <p>Indicates that the <code>clientId</code> or <code>clientSecret</code> in the request is
88
+ * invalid. For example, this can occur when a client sends an incorrect <code>clientId</code> or
89
+ * an expired <code>clientSecret</code>.</p>
90
+ *
91
+ * @throws {@link InvalidGrantException} (client fault)
92
+ * <p>Indicates that a request contains an invalid grant. This can occur if a client makes a
93
+ * <a>CreateToken</a> request with an invalid grant type.</p>
94
+ *
95
+ * @throws {@link InvalidRequestException} (client fault)
96
+ * <p>Indicates that something is wrong with the input to the request. For example, a required
97
+ * parameter might be missing or out of range.</p>
98
+ *
99
+ * @throws {@link InvalidScopeException} (client fault)
100
+ * <p>Indicates that the scope provided in the request is invalid.</p>
101
+ *
102
+ * @throws {@link SlowDownException} (client fault)
103
+ * <p>Indicates that the client is making the request too frequently and is more than the
104
+ * service can handle. </p>
105
+ *
106
+ * @throws {@link UnauthorizedClientException} (client fault)
107
+ * <p>Indicates that the client is not currently authorized to make the request. This can happen
108
+ * when a <code>clientId</code> is not issued for a public client.</p>
109
+ *
110
+ * @throws {@link UnsupportedGrantTypeException} (client fault)
111
+ * <p>Indicates that the grant type in the request is not supported by the service.</p>
112
+ *
113
+ * @throws {@link SSOOIDCServiceException}
114
+ * <p>Base exception class for all service exceptions from SSOOIDC service.</p>
115
+ *
116
+ *
117
+ * @example Call OAuth/OIDC /token endpoint for Device Code grant with Secret authentication
118
+ * ```javascript
119
+ * //
120
+ * const input = {
121
+ * clientId: "_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID",
122
+ * clientSecret: "VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0",
123
+ * deviceCode: "yJraWQiOiJrZXktMTU2Njk2ODA4OCIsImFsZyI6IkhTMzIn0EXAMPLEDEVICECODE",
124
+ * grantType: "urn:ietf:params:oauth:grant-type:device-code"
125
+ * };
126
+ * const command = new CreateTokenCommand(input);
127
+ * const response = await client.send(command);
128
+ * /* response is
129
+ * {
130
+ * accessToken: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
131
+ * expiresIn: 1579729529,
132
+ * refreshToken: "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN",
133
+ * tokenType: "Bearer"
134
+ * }
135
+ * *\/
136
+ * ```
137
+ *
138
+ * @example Call OAuth/OIDC /token endpoint for Refresh Token grant with Secret authentication
139
+ * ```javascript
140
+ * //
141
+ * const input = {
142
+ * clientId: "_yzkThXVzLWVhc3QtMQEXAMPLECLIENTID",
143
+ * clientSecret: "VERYLONGSECRETeyJraWQiOiJrZXktMTU2NDAyODA5OSIsImFsZyI6IkhTMzg0In0",
144
+ * grantType: "refresh_token",
145
+ * refreshToken: "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN",
146
+ * scope: [
147
+ * "codewhisperer:completions"
148
+ * ]
149
+ * };
150
+ * const command = new CreateTokenCommand(input);
151
+ * const response = await client.send(command);
152
+ * /* response is
153
+ * {
154
+ * accessToken: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
155
+ * expiresIn: 1579729529,
156
+ * refreshToken: "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN",
157
+ * tokenType: "Bearer"
158
+ * }
159
+ * *\/
160
+ * ```
161
+ *
162
+ * @public
163
+ */
164
+ export declare class CreateTokenCommand extends CreateTokenCommand_base {
165
+ /** @internal type navigation helper, not in runtime. */
166
+ protected static __types: {
167
+ api: {
168
+ input: CreateTokenRequest;
169
+ output: CreateTokenResponse;
170
+ };
171
+ sdk: {
172
+ input: CreateTokenCommandInput;
173
+ output: CreateTokenCommandOutput;
174
+ };
175
+ };
176
+ }
@@ -0,0 +1,272 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import type { CreateTokenWithIAMRequest, CreateTokenWithIAMResponse } from "../models/models_0";
4
+ import type { ServiceInputTypes, ServiceOutputTypes, SSOOIDCClientResolvedConfig } from "../SSOOIDCClient";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link CreateTokenWithIAMCommand}.
14
+ */
15
+ export interface CreateTokenWithIAMCommandInput extends CreateTokenWithIAMRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link CreateTokenWithIAMCommand}.
21
+ */
22
+ export interface CreateTokenWithIAMCommandOutput extends CreateTokenWithIAMResponse, __MetadataBearer {
23
+ }
24
+ declare const CreateTokenWithIAMCommand_base: {
25
+ new (input: CreateTokenWithIAMCommandInput): import("@smithy/smithy-client").CommandImpl<CreateTokenWithIAMCommandInput, CreateTokenWithIAMCommandOutput, SSOOIDCClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: CreateTokenWithIAMCommandInput): import("@smithy/smithy-client").CommandImpl<CreateTokenWithIAMCommandInput, CreateTokenWithIAMCommandOutput, SSOOIDCClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Creates and returns access and refresh tokens for authorized client applications that are
31
+ * authenticated using any IAM entity, such as a service
32
+ * role or user. These tokens might contain defined scopes that specify permissions such as <code>read:profile</code> or <code>write:data</code>. Through downscoping, you can use the scopes parameter to request tokens with reduced permissions compared to the original client application's permissions or, if applicable, the refresh token's scopes. The access token can be used to fetch short-lived credentials for the assigned
33
+ * Amazon Web Services accounts or to access application APIs using <code>bearer</code> authentication.</p>
34
+ * <note>
35
+ * <p>This API is used with Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html">Amazon Web Services Signature
36
+ * Version 4 for API Requests</a>.</p>
37
+ * </note>
38
+ * @example
39
+ * Use a bare-bones client and the command you need to make an API call.
40
+ * ```javascript
41
+ * import { SSOOIDCClient, CreateTokenWithIAMCommand } from "@aws-sdk/client-sso-oidc"; // ES Modules import
42
+ * // const { SSOOIDCClient, CreateTokenWithIAMCommand } = require("@aws-sdk/client-sso-oidc"); // CommonJS import
43
+ * // import type { SSOOIDCClientConfig } from "@aws-sdk/client-sso-oidc";
44
+ * const config = {}; // type is SSOOIDCClientConfig
45
+ * const client = new SSOOIDCClient(config);
46
+ * const input = { // CreateTokenWithIAMRequest
47
+ * clientId: "STRING_VALUE", // required
48
+ * grantType: "STRING_VALUE", // required
49
+ * code: "STRING_VALUE",
50
+ * refreshToken: "STRING_VALUE",
51
+ * assertion: "STRING_VALUE",
52
+ * scope: [ // Scopes
53
+ * "STRING_VALUE",
54
+ * ],
55
+ * redirectUri: "STRING_VALUE",
56
+ * subjectToken: "STRING_VALUE",
57
+ * subjectTokenType: "STRING_VALUE",
58
+ * requestedTokenType: "STRING_VALUE",
59
+ * codeVerifier: "STRING_VALUE",
60
+ * };
61
+ * const command = new CreateTokenWithIAMCommand(input);
62
+ * const response = await client.send(command);
63
+ * // { // CreateTokenWithIAMResponse
64
+ * // accessToken: "STRING_VALUE",
65
+ * // tokenType: "STRING_VALUE",
66
+ * // expiresIn: Number("int"),
67
+ * // refreshToken: "STRING_VALUE",
68
+ * // idToken: "STRING_VALUE",
69
+ * // issuedTokenType: "STRING_VALUE",
70
+ * // scope: [ // Scopes
71
+ * // "STRING_VALUE",
72
+ * // ],
73
+ * // awsAdditionalDetails: { // AwsAdditionalDetails
74
+ * // identityContext: "STRING_VALUE",
75
+ * // },
76
+ * // };
77
+ *
78
+ * ```
79
+ *
80
+ * @param CreateTokenWithIAMCommandInput - {@link CreateTokenWithIAMCommandInput}
81
+ * @returns {@link CreateTokenWithIAMCommandOutput}
82
+ * @see {@link CreateTokenWithIAMCommandInput} for command's `input` shape.
83
+ * @see {@link CreateTokenWithIAMCommandOutput} for command's `response` shape.
84
+ * @see {@link SSOOIDCClientResolvedConfig | config} for SSOOIDCClient's `config` shape.
85
+ *
86
+ * @throws {@link AccessDeniedException} (client fault)
87
+ * <p>You do not have sufficient access to perform this action.</p>
88
+ *
89
+ * @throws {@link AuthorizationPendingException} (client fault)
90
+ * <p>Indicates that a request to authorize a client with an access user session token is
91
+ * pending.</p>
92
+ *
93
+ * @throws {@link ExpiredTokenException} (client fault)
94
+ * <p>Indicates that the token issued by the service is expired and is no longer valid.</p>
95
+ *
96
+ * @throws {@link InternalServerException} (server fault)
97
+ * <p>Indicates that an error from the service occurred while trying to process a
98
+ * request.</p>
99
+ *
100
+ * @throws {@link InvalidClientException} (client fault)
101
+ * <p>Indicates that the <code>clientId</code> or <code>clientSecret</code> in the request is
102
+ * invalid. For example, this can occur when a client sends an incorrect <code>clientId</code> or
103
+ * an expired <code>clientSecret</code>.</p>
104
+ *
105
+ * @throws {@link InvalidGrantException} (client fault)
106
+ * <p>Indicates that a request contains an invalid grant. This can occur if a client makes a
107
+ * <a>CreateToken</a> request with an invalid grant type.</p>
108
+ *
109
+ * @throws {@link InvalidRequestException} (client fault)
110
+ * <p>Indicates that something is wrong with the input to the request. For example, a required
111
+ * parameter might be missing or out of range.</p>
112
+ *
113
+ * @throws {@link InvalidRequestRegionException} (client fault)
114
+ * <p>Indicates that a token provided as input to the request was issued by and is only usable
115
+ * by calling IAM Identity Center endpoints in another region.</p>
116
+ *
117
+ * @throws {@link InvalidScopeException} (client fault)
118
+ * <p>Indicates that the scope provided in the request is invalid.</p>
119
+ *
120
+ * @throws {@link SlowDownException} (client fault)
121
+ * <p>Indicates that the client is making the request too frequently and is more than the
122
+ * service can handle. </p>
123
+ *
124
+ * @throws {@link UnauthorizedClientException} (client fault)
125
+ * <p>Indicates that the client is not currently authorized to make the request. This can happen
126
+ * when a <code>clientId</code> is not issued for a public client.</p>
127
+ *
128
+ * @throws {@link UnsupportedGrantTypeException} (client fault)
129
+ * <p>Indicates that the grant type in the request is not supported by the service.</p>
130
+ *
131
+ * @throws {@link SSOOIDCServiceException}
132
+ * <p>Base exception class for all service exceptions from SSOOIDC service.</p>
133
+ *
134
+ *
135
+ * @example Call OAuth/OIDC /token endpoint for Authorization Code grant with IAM authentication
136
+ * ```javascript
137
+ * //
138
+ * const input = {
139
+ * clientId: "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222",
140
+ * code: "yJraWQiOiJrZXktMTU2Njk2ODA4OCIsImFsZyI6IkhTMzg0In0EXAMPLEAUTHCODE",
141
+ * grantType: "authorization_code",
142
+ * redirectUri: "https://mywebapp.example/redirect",
143
+ * scope: [
144
+ * "openid",
145
+ * "aws",
146
+ * "sts:identity_context"
147
+ * ]
148
+ * };
149
+ * const command = new CreateTokenWithIAMCommand(input);
150
+ * const response = await client.send(command);
151
+ * /* response is
152
+ * {
153
+ * accessToken: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
154
+ * awsAdditionalDetails: {
155
+ * identityContext: "EXAMPLEIDENTITYCONTEXT"
156
+ * },
157
+ * expiresIn: 1579729529,
158
+ * idToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0",
159
+ * issuedTokenType: "urn:ietf:params:oauth:token-type:refresh_token",
160
+ * refreshToken: "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN",
161
+ * scope: [
162
+ * "openid",
163
+ * "aws",
164
+ * "sts:identity_context"
165
+ * ],
166
+ * tokenType: "Bearer"
167
+ * }
168
+ * *\/
169
+ * ```
170
+ *
171
+ * @example Call OAuth/OIDC /token endpoint for JWT Bearer grant with IAM authentication
172
+ * ```javascript
173
+ * //
174
+ * const input = {
175
+ * assertion: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw",
176
+ * clientId: "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222",
177
+ * grantType: "urn:ietf:params:oauth:grant-type:jwt-bearer"
178
+ * };
179
+ * const command = new CreateTokenWithIAMCommand(input);
180
+ * const response = await client.send(command);
181
+ * /* response is
182
+ * {
183
+ * accessToken: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
184
+ * awsAdditionalDetails: {
185
+ * identityContext: "EXAMPLEIDENTITYCONTEXT"
186
+ * },
187
+ * expiresIn: 1579729529,
188
+ * idToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0",
189
+ * issuedTokenType: "urn:ietf:params:oauth:token-type:refresh_token",
190
+ * refreshToken: "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN",
191
+ * scope: [
192
+ * "openid",
193
+ * "aws",
194
+ * "sts:identity_context"
195
+ * ],
196
+ * tokenType: "Bearer"
197
+ * }
198
+ * *\/
199
+ * ```
200
+ *
201
+ * @example Call OAuth/OIDC /token endpoint for Refresh Token grant with IAM authentication
202
+ * ```javascript
203
+ * //
204
+ * const input = {
205
+ * clientId: "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222",
206
+ * grantType: "refresh_token",
207
+ * refreshToken: "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN"
208
+ * };
209
+ * const command = new CreateTokenWithIAMCommand(input);
210
+ * const response = await client.send(command);
211
+ * /* response is
212
+ * {
213
+ * accessToken: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
214
+ * expiresIn: 1579729529,
215
+ * issuedTokenType: "urn:ietf:params:oauth:token-type:refresh_token",
216
+ * refreshToken: "aorvJYubGpU6i91YnH7Mfo-AT2fIVa1zCfA_Rvq9yjVKIP3onFmmykuQ7E93y2I-9Nyj-A_sVvMufaLNL0bqnDRtgAkc0:MGUCMFrRsktMRVlWaOR70XGMFGLL0SlcCw4DiYveIiOVx1uK9BbD0gvAddsW3UTLozXKMgIxAJ3qxUvjpnlLIOaaKOoa/FuNgqJVvr9GMwDtnAtlh9iZzAkEXAMPLEREFRESHTOKEN",
217
+ * scope: [
218
+ * "openid",
219
+ * "aws",
220
+ * "sts:identity_context"
221
+ * ],
222
+ * tokenType: "Bearer"
223
+ * }
224
+ * *\/
225
+ * ```
226
+ *
227
+ * @example Call OAuth/OIDC /token endpoint for Token Exchange grant with IAM authentication
228
+ * ```javascript
229
+ * //
230
+ * const input = {
231
+ * clientId: "arn:aws:sso::123456789012:application/ssoins-111111111111/apl-222222222222",
232
+ * grantType: "urn:ietf:params:oauth:grant-type:token-exchange",
233
+ * requestedTokenType: "urn:ietf:params:oauth:token-type:access_token",
234
+ * subjectToken: "aoak-Hig8TUDPNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZDIFFERENTACCESSTOKEN",
235
+ * subjectTokenType: "urn:ietf:params:oauth:token-type:access_token"
236
+ * };
237
+ * const command = new CreateTokenWithIAMCommand(input);
238
+ * const response = await client.send(command);
239
+ * /* response is
240
+ * {
241
+ * accessToken: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
242
+ * awsAdditionalDetails: {
243
+ * identityContext: "EXAMPLEIDENTITYCONTEXT"
244
+ * },
245
+ * expiresIn: 1579729529,
246
+ * idToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.5SYiW1kMsuUr7nna-l5tlakM0GNbMHvIM2_n0QD23jM",
247
+ * issuedTokenType: "urn:ietf:params:oauth:token-type:access_token",
248
+ * scope: [
249
+ * "openid",
250
+ * "aws",
251
+ * "sts:identity_context"
252
+ * ],
253
+ * tokenType: "Bearer"
254
+ * }
255
+ * *\/
256
+ * ```
257
+ *
258
+ * @public
259
+ */
260
+ export declare class CreateTokenWithIAMCommand extends CreateTokenWithIAMCommand_base {
261
+ /** @internal type navigation helper, not in runtime. */
262
+ protected static __types: {
263
+ api: {
264
+ input: CreateTokenWithIAMRequest;
265
+ output: CreateTokenWithIAMResponse;
266
+ };
267
+ sdk: {
268
+ input: CreateTokenWithIAMCommandInput;
269
+ output: CreateTokenWithIAMCommandOutput;
270
+ };
271
+ };
272
+ }