Skip to content

Commit c9dfef1

Browse files
author
awstools
committed
feat(client-iam): This release includes support for five new APIs and changes to existing APIs that give AWS Organizations customers the ability to use temporary root credentials, targeted to member accounts in the organization.
1 parent e90cde2 commit c9dfef1

28 files changed

+2788
-714
lines changed

clients/client-iam/README.md

+40
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,22 @@ DetachUserPolicy
591591

592592
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DetachUserPolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/DetachUserPolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/DetachUserPolicyCommandOutput/)
593593

594+
</details>
595+
<details>
596+
<summary>
597+
DisableOrganizationsRootCredentialsManagement
598+
</summary>
599+
600+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DisableOrganizationsRootCredentialsManagementCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/DisableOrganizationsRootCredentialsManagementCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/DisableOrganizationsRootCredentialsManagementCommandOutput/)
601+
602+
</details>
603+
<details>
604+
<summary>
605+
DisableOrganizationsRootSessions
606+
</summary>
607+
608+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DisableOrganizationsRootSessionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/DisableOrganizationsRootSessionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/DisableOrganizationsRootSessionsCommandOutput/)
609+
594610
</details>
595611
<details>
596612
<summary>
@@ -599,6 +615,22 @@ EnableMFADevice
599615

600616
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/EnableMFADeviceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/EnableMFADeviceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/EnableMFADeviceCommandOutput/)
601617

618+
</details>
619+
<details>
620+
<summary>
621+
EnableOrganizationsRootCredentialsManagement
622+
</summary>
623+
624+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/EnableOrganizationsRootCredentialsManagementCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/EnableOrganizationsRootCredentialsManagementCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/EnableOrganizationsRootCredentialsManagementCommandOutput/)
625+
626+
</details>
627+
<details>
628+
<summary>
629+
EnableOrganizationsRootSessions
630+
</summary>
631+
632+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/EnableOrganizationsRootSessionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/EnableOrganizationsRootSessionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/EnableOrganizationsRootSessionsCommandOutput/)
633+
602634
</details>
603635
<details>
604636
<summary>
@@ -959,6 +991,14 @@ ListOpenIDConnectProviderTags
959991

960992
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/ListOpenIDConnectProviderTagsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/ListOpenIDConnectProviderTagsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/ListOpenIDConnectProviderTagsCommandOutput/)
961993

994+
</details>
995+
<details>
996+
<summary>
997+
ListOrganizationsFeatures
998+
</summary>
999+
1000+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/ListOrganizationsFeaturesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/ListOrganizationsFeaturesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iam/Interface/ListOrganizationsFeaturesCommandOutput/)
1001+
9621002
</details>
9631003
<details>
9641004
<summary>

clients/client-iam/src/IAM.ts

+123
Original file line numberDiff line numberDiff line change
@@ -218,11 +218,31 @@ import {
218218
DetachUserPolicyCommandInput,
219219
DetachUserPolicyCommandOutput,
220220
} from "./commands/DetachUserPolicyCommand";
221+
import {
222+
DisableOrganizationsRootCredentialsManagementCommand,
223+
DisableOrganizationsRootCredentialsManagementCommandInput,
224+
DisableOrganizationsRootCredentialsManagementCommandOutput,
225+
} from "./commands/DisableOrganizationsRootCredentialsManagementCommand";
226+
import {
227+
DisableOrganizationsRootSessionsCommand,
228+
DisableOrganizationsRootSessionsCommandInput,
229+
DisableOrganizationsRootSessionsCommandOutput,
230+
} from "./commands/DisableOrganizationsRootSessionsCommand";
221231
import {
222232
EnableMFADeviceCommand,
223233
EnableMFADeviceCommandInput,
224234
EnableMFADeviceCommandOutput,
225235
} from "./commands/EnableMFADeviceCommand";
236+
import {
237+
EnableOrganizationsRootCredentialsManagementCommand,
238+
EnableOrganizationsRootCredentialsManagementCommandInput,
239+
EnableOrganizationsRootCredentialsManagementCommandOutput,
240+
} from "./commands/EnableOrganizationsRootCredentialsManagementCommand";
241+
import {
242+
EnableOrganizationsRootSessionsCommand,
243+
EnableOrganizationsRootSessionsCommandInput,
244+
EnableOrganizationsRootSessionsCommandOutput,
245+
} from "./commands/EnableOrganizationsRootSessionsCommand";
226246
import {
227247
GenerateCredentialReportCommand,
228248
GenerateCredentialReportCommandInput,
@@ -428,6 +448,11 @@ import {
428448
ListOpenIDConnectProviderTagsCommandInput,
429449
ListOpenIDConnectProviderTagsCommandOutput,
430450
} from "./commands/ListOpenIDConnectProviderTagsCommand";
451+
import {
452+
ListOrganizationsFeaturesCommand,
453+
ListOrganizationsFeaturesCommandInput,
454+
ListOrganizationsFeaturesCommandOutput,
455+
} from "./commands/ListOrganizationsFeaturesCommand";
431456
import {
432457
ListPoliciesCommand,
433458
ListPoliciesCommandInput,
@@ -760,7 +785,11 @@ const commands = {
760785
DetachGroupPolicyCommand,
761786
DetachRolePolicyCommand,
762787
DetachUserPolicyCommand,
788+
DisableOrganizationsRootCredentialsManagementCommand,
789+
DisableOrganizationsRootSessionsCommand,
763790
EnableMFADeviceCommand,
791+
EnableOrganizationsRootCredentialsManagementCommand,
792+
EnableOrganizationsRootSessionsCommand,
764793
GenerateCredentialReportCommand,
765794
GenerateOrganizationsAccessReportCommand,
766795
GenerateServiceLastAccessedDetailsCommand,
@@ -806,6 +835,7 @@ const commands = {
806835
ListMFADeviceTagsCommand,
807836
ListOpenIDConnectProvidersCommand,
808837
ListOpenIDConnectProviderTagsCommand,
838+
ListOrganizationsFeaturesCommand,
809839
ListPoliciesCommand,
810840
ListPoliciesGrantingServiceAccessCommand,
811841
ListPolicyTagsCommand,
@@ -1050,6 +1080,7 @@ export interface IAM {
10501080
/**
10511081
* @see {@link CreateLoginProfileCommand}
10521082
*/
1083+
createLoginProfile(): Promise<CreateLoginProfileCommandOutput>;
10531084
createLoginProfile(
10541085
args: CreateLoginProfileCommandInput,
10551086
options?: __HttpHandlerOptions
@@ -1313,6 +1344,7 @@ export interface IAM {
13131344
/**
13141345
* @see {@link DeleteLoginProfileCommand}
13151346
*/
1347+
deleteLoginProfile(): Promise<DeleteLoginProfileCommandOutput>;
13161348
deleteLoginProfile(
13171349
args: DeleteLoginProfileCommandInput,
13181350
options?: __HttpHandlerOptions
@@ -1632,6 +1664,42 @@ export interface IAM {
16321664
cb: (err: any, data?: DetachUserPolicyCommandOutput) => void
16331665
): void;
16341666

1667+
/**
1668+
* @see {@link DisableOrganizationsRootCredentialsManagementCommand}
1669+
*/
1670+
disableOrganizationsRootCredentialsManagement(): Promise<DisableOrganizationsRootCredentialsManagementCommandOutput>;
1671+
disableOrganizationsRootCredentialsManagement(
1672+
args: DisableOrganizationsRootCredentialsManagementCommandInput,
1673+
options?: __HttpHandlerOptions
1674+
): Promise<DisableOrganizationsRootCredentialsManagementCommandOutput>;
1675+
disableOrganizationsRootCredentialsManagement(
1676+
args: DisableOrganizationsRootCredentialsManagementCommandInput,
1677+
cb: (err: any, data?: DisableOrganizationsRootCredentialsManagementCommandOutput) => void
1678+
): void;
1679+
disableOrganizationsRootCredentialsManagement(
1680+
args: DisableOrganizationsRootCredentialsManagementCommandInput,
1681+
options: __HttpHandlerOptions,
1682+
cb: (err: any, data?: DisableOrganizationsRootCredentialsManagementCommandOutput) => void
1683+
): void;
1684+
1685+
/**
1686+
* @see {@link DisableOrganizationsRootSessionsCommand}
1687+
*/
1688+
disableOrganizationsRootSessions(): Promise<DisableOrganizationsRootSessionsCommandOutput>;
1689+
disableOrganizationsRootSessions(
1690+
args: DisableOrganizationsRootSessionsCommandInput,
1691+
options?: __HttpHandlerOptions
1692+
): Promise<DisableOrganizationsRootSessionsCommandOutput>;
1693+
disableOrganizationsRootSessions(
1694+
args: DisableOrganizationsRootSessionsCommandInput,
1695+
cb: (err: any, data?: DisableOrganizationsRootSessionsCommandOutput) => void
1696+
): void;
1697+
disableOrganizationsRootSessions(
1698+
args: DisableOrganizationsRootSessionsCommandInput,
1699+
options: __HttpHandlerOptions,
1700+
cb: (err: any, data?: DisableOrganizationsRootSessionsCommandOutput) => void
1701+
): void;
1702+
16351703
/**
16361704
* @see {@link EnableMFADeviceCommand}
16371705
*/
@@ -1646,6 +1714,42 @@ export interface IAM {
16461714
cb: (err: any, data?: EnableMFADeviceCommandOutput) => void
16471715
): void;
16481716

1717+
/**
1718+
* @see {@link EnableOrganizationsRootCredentialsManagementCommand}
1719+
*/
1720+
enableOrganizationsRootCredentialsManagement(): Promise<EnableOrganizationsRootCredentialsManagementCommandOutput>;
1721+
enableOrganizationsRootCredentialsManagement(
1722+
args: EnableOrganizationsRootCredentialsManagementCommandInput,
1723+
options?: __HttpHandlerOptions
1724+
): Promise<EnableOrganizationsRootCredentialsManagementCommandOutput>;
1725+
enableOrganizationsRootCredentialsManagement(
1726+
args: EnableOrganizationsRootCredentialsManagementCommandInput,
1727+
cb: (err: any, data?: EnableOrganizationsRootCredentialsManagementCommandOutput) => void
1728+
): void;
1729+
enableOrganizationsRootCredentialsManagement(
1730+
args: EnableOrganizationsRootCredentialsManagementCommandInput,
1731+
options: __HttpHandlerOptions,
1732+
cb: (err: any, data?: EnableOrganizationsRootCredentialsManagementCommandOutput) => void
1733+
): void;
1734+
1735+
/**
1736+
* @see {@link EnableOrganizationsRootSessionsCommand}
1737+
*/
1738+
enableOrganizationsRootSessions(): Promise<EnableOrganizationsRootSessionsCommandOutput>;
1739+
enableOrganizationsRootSessions(
1740+
args: EnableOrganizationsRootSessionsCommandInput,
1741+
options?: __HttpHandlerOptions
1742+
): Promise<EnableOrganizationsRootSessionsCommandOutput>;
1743+
enableOrganizationsRootSessions(
1744+
args: EnableOrganizationsRootSessionsCommandInput,
1745+
cb: (err: any, data?: EnableOrganizationsRootSessionsCommandOutput) => void
1746+
): void;
1747+
enableOrganizationsRootSessions(
1748+
args: EnableOrganizationsRootSessionsCommandInput,
1749+
options: __HttpHandlerOptions,
1750+
cb: (err: any, data?: EnableOrganizationsRootSessionsCommandOutput) => void
1751+
): void;
1752+
16491753
/**
16501754
* @see {@link GenerateCredentialReportCommand}
16511755
*/
@@ -1866,6 +1970,7 @@ export interface IAM {
18661970
/**
18671971
* @see {@link GetLoginProfileCommand}
18681972
*/
1973+
getLoginProfile(): Promise<GetLoginProfileCommandOutput>;
18691974
getLoginProfile(
18701975
args: GetLoginProfileCommandInput,
18711976
options?: __HttpHandlerOptions
@@ -2357,6 +2462,24 @@ export interface IAM {
23572462
cb: (err: any, data?: ListOpenIDConnectProviderTagsCommandOutput) => void
23582463
): void;
23592464

2465+
/**
2466+
* @see {@link ListOrganizationsFeaturesCommand}
2467+
*/
2468+
listOrganizationsFeatures(): Promise<ListOrganizationsFeaturesCommandOutput>;
2469+
listOrganizationsFeatures(
2470+
args: ListOrganizationsFeaturesCommandInput,
2471+
options?: __HttpHandlerOptions
2472+
): Promise<ListOrganizationsFeaturesCommandOutput>;
2473+
listOrganizationsFeatures(
2474+
args: ListOrganizationsFeaturesCommandInput,
2475+
cb: (err: any, data?: ListOrganizationsFeaturesCommandOutput) => void
2476+
): void;
2477+
listOrganizationsFeatures(
2478+
args: ListOrganizationsFeaturesCommandInput,
2479+
options: __HttpHandlerOptions,
2480+
cb: (err: any, data?: ListOrganizationsFeaturesCommandOutput) => void
2481+
): void;
2482+
23602483
/**
23612484
* @see {@link ListPoliciesCommand}
23622485
*/

clients/client-iam/src/IAMClient.ts

+30
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,23 @@ import {
161161
import { DetachGroupPolicyCommandInput, DetachGroupPolicyCommandOutput } from "./commands/DetachGroupPolicyCommand";
162162
import { DetachRolePolicyCommandInput, DetachRolePolicyCommandOutput } from "./commands/DetachRolePolicyCommand";
163163
import { DetachUserPolicyCommandInput, DetachUserPolicyCommandOutput } from "./commands/DetachUserPolicyCommand";
164+
import {
165+
DisableOrganizationsRootCredentialsManagementCommandInput,
166+
DisableOrganizationsRootCredentialsManagementCommandOutput,
167+
} from "./commands/DisableOrganizationsRootCredentialsManagementCommand";
168+
import {
169+
DisableOrganizationsRootSessionsCommandInput,
170+
DisableOrganizationsRootSessionsCommandOutput,
171+
} from "./commands/DisableOrganizationsRootSessionsCommand";
164172
import { EnableMFADeviceCommandInput, EnableMFADeviceCommandOutput } from "./commands/EnableMFADeviceCommand";
173+
import {
174+
EnableOrganizationsRootCredentialsManagementCommandInput,
175+
EnableOrganizationsRootCredentialsManagementCommandOutput,
176+
} from "./commands/EnableOrganizationsRootCredentialsManagementCommand";
177+
import {
178+
EnableOrganizationsRootSessionsCommandInput,
179+
EnableOrganizationsRootSessionsCommandOutput,
180+
} from "./commands/EnableOrganizationsRootSessionsCommand";
165181
import {
166182
GenerateCredentialReportCommandInput,
167183
GenerateCredentialReportCommandOutput,
@@ -279,6 +295,10 @@ import {
279295
ListOpenIDConnectProviderTagsCommandInput,
280296
ListOpenIDConnectProviderTagsCommandOutput,
281297
} from "./commands/ListOpenIDConnectProviderTagsCommand";
298+
import {
299+
ListOrganizationsFeaturesCommandInput,
300+
ListOrganizationsFeaturesCommandOutput,
301+
} from "./commands/ListOrganizationsFeaturesCommand";
282302
import { ListPoliciesCommandInput, ListPoliciesCommandOutput } from "./commands/ListPoliciesCommand";
283303
import {
284304
ListPoliciesGrantingServiceAccessCommandInput,
@@ -500,7 +520,11 @@ export type ServiceInputTypes =
500520
| DetachGroupPolicyCommandInput
501521
| DetachRolePolicyCommandInput
502522
| DetachUserPolicyCommandInput
523+
| DisableOrganizationsRootCredentialsManagementCommandInput
524+
| DisableOrganizationsRootSessionsCommandInput
503525
| EnableMFADeviceCommandInput
526+
| EnableOrganizationsRootCredentialsManagementCommandInput
527+
| EnableOrganizationsRootSessionsCommandInput
504528
| GenerateCredentialReportCommandInput
505529
| GenerateOrganizationsAccessReportCommandInput
506530
| GenerateServiceLastAccessedDetailsCommandInput
@@ -546,6 +570,7 @@ export type ServiceInputTypes =
546570
| ListMFADevicesCommandInput
547571
| ListOpenIDConnectProviderTagsCommandInput
548572
| ListOpenIDConnectProvidersCommandInput
573+
| ListOrganizationsFeaturesCommandInput
549574
| ListPoliciesCommandInput
550575
| ListPoliciesGrantingServiceAccessCommandInput
551576
| ListPolicyTagsCommandInput
@@ -664,7 +689,11 @@ export type ServiceOutputTypes =
664689
| DetachGroupPolicyCommandOutput
665690
| DetachRolePolicyCommandOutput
666691
| DetachUserPolicyCommandOutput
692+
| DisableOrganizationsRootCredentialsManagementCommandOutput
693+
| DisableOrganizationsRootSessionsCommandOutput
667694
| EnableMFADeviceCommandOutput
695+
| EnableOrganizationsRootCredentialsManagementCommandOutput
696+
| EnableOrganizationsRootSessionsCommandOutput
668697
| GenerateCredentialReportCommandOutput
669698
| GenerateOrganizationsAccessReportCommandOutput
670699
| GenerateServiceLastAccessedDetailsCommandOutput
@@ -710,6 +739,7 @@ export type ServiceOutputTypes =
710739
| ListMFADevicesCommandOutput
711740
| ListOpenIDConnectProviderTagsCommandOutput
712741
| ListOpenIDConnectProvidersCommandOutput
742+
| ListOrganizationsFeaturesCommandOutput
713743
| ListPoliciesCommandOutput
714744
| ListPoliciesGrantingServiceAccessCommandOutput
715745
| ListPolicyTagsCommandOutput

clients/client-iam/src/commands/CreateLoginProfileCommand.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ export interface CreateLoginProfileCommandOutput extends CreateLoginProfileRespo
4545
* // const { IAMClient, CreateLoginProfileCommand } = require("@aws-sdk/client-iam"); // CommonJS import
4646
* const client = new IAMClient(config);
4747
* const input = { // CreateLoginProfileRequest
48-
* UserName: "STRING_VALUE", // required
49-
* Password: "STRING_VALUE", // required
48+
* UserName: "STRING_VALUE",
49+
* Password: "STRING_VALUE",
5050
* PasswordResetRequired: true || false,
5151
* };
5252
* const command = new CreateLoginProfileCommand(input);

clients/client-iam/src/commands/DeactivateMFADeviceCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export interface DeactivateMFADeviceCommandOutput extends __MetadataBearer {}
4040
* // const { IAMClient, DeactivateMFADeviceCommand } = require("@aws-sdk/client-iam"); // CommonJS import
4141
* const client = new IAMClient(config);
4242
* const input = { // DeactivateMFADeviceRequest
43-
* UserName: "STRING_VALUE", // required
43+
* UserName: "STRING_VALUE",
4444
* SerialNumber: "STRING_VALUE", // required
4545
* };
4646
* const command = new DeactivateMFADeviceCommand(input);

clients/client-iam/src/commands/DeleteLoginProfileCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export interface DeleteLoginProfileCommandOutput extends __MetadataBearer {}
4848
* // const { IAMClient, DeleteLoginProfileCommand } = require("@aws-sdk/client-iam"); // CommonJS import
4949
* const client = new IAMClient(config);
5050
* const input = { // DeleteLoginProfileRequest
51-
* UserName: "STRING_VALUE", // required
51+
* UserName: "STRING_VALUE",
5252
* };
5353
* const command = new DeleteLoginProfileCommand(input);
5454
* const response = await client.send(command);

0 commit comments

Comments
 (0)