Skip to content

Commit

Permalink
chore(nested-clients): generate nested clients
Browse files Browse the repository at this point in the history
  • Loading branch information
kuhe committed Jan 9, 2025
1 parent 15c81d0 commit b323c3c
Show file tree
Hide file tree
Showing 57 changed files with 10,764 additions and 3 deletions.
10 changes: 8 additions & 2 deletions packages/nested-clients/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,14 @@
"files": [
"dist-*/**"
],
"browser": {},
"react-native": {},
"browser": {
"./dist-es/nested-sts/runtimeConfig": "./dist-es/nested-sts/runtimeConfig.browser",
"./dist-es/nested-sso-oidc/runtimeConfig": "./dist-es/nested-sso-oidc/runtimeConfig.browser"
},
"react-native": {
"./dist-es/nested-sts/runtimeConfig": "./dist-es/nested-sts/runtimeConfig.native",
"./dist-es/nested-sso-oidc/runtimeConfig": "./dist-es/nested-sso-oidc/runtimeConfig.native"
},
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients",
"repository": {
"type": "git",
Expand Down
3 changes: 2 additions & 1 deletion packages/nested-clients/src/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export {};
export { SSOOIDCClient, CreateTokenCommand } from "./nested-sso-oidc/index";
export { STSClient, AssumeRoleCommand, AssumeRoleWithWebIdentityCommand } from "./nested-sts/index";
133 changes: 133 additions & 0 deletions packages/nested-clients/src/nested-sso-oidc/SSOOIDC.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
// smithy-typescript generated code
import { createAggregatedClient } from "@smithy/smithy-client";
import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";

import { CreateTokenCommand, CreateTokenCommandInput, CreateTokenCommandOutput } from "./commands/CreateTokenCommand";
import {
CreateTokenWithIAMCommand,
CreateTokenWithIAMCommandInput,
CreateTokenWithIAMCommandOutput,
} from "./commands/CreateTokenWithIAMCommand";
import {
RegisterClientCommand,
RegisterClientCommandInput,
RegisterClientCommandOutput,
} from "./commands/RegisterClientCommand";
import {
StartDeviceAuthorizationCommand,
StartDeviceAuthorizationCommandInput,
StartDeviceAuthorizationCommandOutput,
} from "./commands/StartDeviceAuthorizationCommand";
import { SSOOIDCClient, SSOOIDCClientConfig } from "./SSOOIDCClient";

const commands = {
CreateTokenCommand,
CreateTokenWithIAMCommand,
RegisterClientCommand,
StartDeviceAuthorizationCommand,
};

export interface SSOOIDC {
/**
* @see {@link CreateTokenCommand}
*/
createToken(args: CreateTokenCommandInput, options?: __HttpHandlerOptions): Promise<CreateTokenCommandOutput>;
createToken(args: CreateTokenCommandInput, cb: (err: any, data?: CreateTokenCommandOutput) => void): void;
createToken(
args: CreateTokenCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: CreateTokenCommandOutput) => void
): void;

/**
* @see {@link CreateTokenWithIAMCommand}
*/
createTokenWithIAM(
args: CreateTokenWithIAMCommandInput,
options?: __HttpHandlerOptions
): Promise<CreateTokenWithIAMCommandOutput>;
createTokenWithIAM(
args: CreateTokenWithIAMCommandInput,
cb: (err: any, data?: CreateTokenWithIAMCommandOutput) => void
): void;
createTokenWithIAM(
args: CreateTokenWithIAMCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: CreateTokenWithIAMCommandOutput) => void
): void;

/**
* @see {@link RegisterClientCommand}
*/
registerClient(
args: RegisterClientCommandInput,
options?: __HttpHandlerOptions
): Promise<RegisterClientCommandOutput>;
registerClient(args: RegisterClientCommandInput, cb: (err: any, data?: RegisterClientCommandOutput) => void): void;
registerClient(
args: RegisterClientCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: RegisterClientCommandOutput) => void
): void;

/**
* @see {@link StartDeviceAuthorizationCommand}
*/
startDeviceAuthorization(
args: StartDeviceAuthorizationCommandInput,
options?: __HttpHandlerOptions
): Promise<StartDeviceAuthorizationCommandOutput>;
startDeviceAuthorization(
args: StartDeviceAuthorizationCommandInput,
cb: (err: any, data?: StartDeviceAuthorizationCommandOutput) => void
): void;
startDeviceAuthorization(
args: StartDeviceAuthorizationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: StartDeviceAuthorizationCommandOutput) => void
): void;
}

/**
* <p>IAM Identity Center OpenID Connect (OIDC) is a web service that enables a client (such as CLI
* or a native application) to register with IAM Identity Center. The service also enables the client to
* fetch the user’s access token upon successful authentication and authorization with
* IAM Identity Center.</p>
* <note>
* <p>IAM Identity Center uses the <code>sso</code> and <code>identitystore</code> API namespaces.</p>
* </note>
* <p>
* <b>Considerations for Using This Guide</b>
* </p>
* <p>Before you begin using this guide, we recommend that you first review the following
* important information about how the IAM Identity Center OIDC service works.</p>
* <ul>
* <li>
* <p>The IAM Identity Center OIDC service currently implements only the portions of the OAuth 2.0 Device
* Authorization Grant standard (<a href="https://tools.ietf.org/html/rfc8628">https://tools.ietf.org/html/rfc8628</a>) that are necessary to enable single
* sign-on authentication with the CLI. </p>
* </li>
* <li>
* <p>With older versions of the CLI, the service only emits OIDC access tokens, so to
* obtain a new token, users must explicitly re-authenticate. To access the OIDC flow that
* supports token refresh and doesn’t require re-authentication, update to the latest CLI
* version (1.27.10 for CLI V1 and 2.9.0 for CLI V2) with support for OIDC token refresh and
* configurable IAM Identity Center session durations. For more information, see <a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html">Configure Amazon Web Services access portal session duration </a>. </p>
* </li>
* <li>
* <p>The access tokens provided by this service grant access to all Amazon Web Services account
* entitlements assigned to an IAM Identity Center user, not just a particular application.</p>
* </li>
* <li>
* <p>The documentation in this guide does not describe the mechanism to convert the access
* token into Amazon Web Services Auth (“sigv4”) credentials for use with IAM-protected Amazon Web Services service
* endpoints. For more information, see <a href="https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html">GetRoleCredentials</a> in the <i>IAM Identity Center Portal API Reference
* Guide</i>.</p>
* </li>
* </ul>
* <p>For general information about IAM Identity Center, see <a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html">What is
* IAM Identity Center?</a> in the <i>IAM Identity Center User Guide</i>.</p>
* @public
*/
export class SSOOIDC extends SSOOIDCClient implements SSOOIDC {}
createAggregatedClient(commands, SSOOIDC);
Loading

0 comments on commit b323c3c

Please sign in to comment.