@aws-lite/iam-types 0.0.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 (3) hide show
  1. package/index.d.ts +56 -0
  2. package/package.json +26 -0
  3. package/readme.md +46 -0
package/index.d.ts ADDED
@@ -0,0 +1,56 @@
1
+ import {
2
+ /* ! Do not remove IMPORTS_START / IMPORTS_END ! */
3
+ // $IMPORTS_START
4
+ CreateRoleCommandOutput as CreateRoleResponse,
5
+ DeleteRoleCommandOutput as DeleteRoleResponse,
6
+ GetRoleCommandOutput as GetRoleResponse,
7
+ UpdateRoleCommandOutput as UpdateRoleResponse,
8
+ // $IMPORTS_END
9
+ } from "@aws-sdk/client-iam";
10
+
11
+ declare interface AwsLiteIAM {
12
+ /* ! Do not remove METHODS_START / METHODS_END ! */
13
+ // $METHODS_START
14
+ /**
15
+ * @description
16
+ * - AWS docs: {@link https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html IAM: CreateRole}
17
+ * - aws-lite docs: {@link https://github.com/architect/aws-lite/blob/main/plugins/iam/readme.md#CreateRole IAM: CreateRole}
18
+ */
19
+ CreateRole: (input: { AssumeRolePolicyDocument: string | Record<string, any>, RoleName: string, Description?: string, MaxSessionDuration?: number, Path?: string, PermissionsBoundary?: string, Tags?: any[] }) => Promise<CreateRoleResponse>
20
+ /**
21
+ * @description
22
+ * - AWS docs: {@link https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteRole.html IAM: DeleteRole}
23
+ * - aws-lite docs: {@link https://github.com/architect/aws-lite/blob/main/plugins/iam/readme.md#DeleteRole IAM: DeleteRole}
24
+ */
25
+ DeleteRole: (input: { RoleName: string }) => Promise<DeleteRoleResponse>
26
+ /**
27
+ * @description
28
+ * - AWS docs: {@link https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html IAM: GetRole}
29
+ * - aws-lite docs: {@link https://github.com/architect/aws-lite/blob/main/plugins/iam/readme.md#GetRole IAM: GetRole}
30
+ */
31
+ GetRole: (input: { RoleName: string }) => Promise<GetRoleResponse>
32
+ /**
33
+ * @description
34
+ * - AWS docs: {@link https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRole.html IAM: UpdateRole}
35
+ * - aws-lite docs: {@link https://github.com/architect/aws-lite/blob/main/plugins/iam/readme.md#UpdateRole IAM: UpdateRole}
36
+ */
37
+ UpdateRole: (input: { RoleName: string, Description?: string, MaxSessionDuration?: number }) => Promise<UpdateRoleResponse>
38
+ // $METHODS_END
39
+ }
40
+
41
+ declare module "@aws-lite/client" {
42
+ interface AwsLiteClient {
43
+ IAM: AwsLiteIAM;
44
+ }
45
+ }
46
+
47
+ export type {
48
+ AwsLiteIAM,
49
+ /* ! Do not remove EXPORT_START / EXPORT_END ! */
50
+ // $EXPORT_START
51
+ CreateRoleResponse,
52
+ DeleteRoleResponse,
53
+ GetRoleResponse,
54
+ UpdateRoleResponse,
55
+ // $EXPORT_END
56
+ }
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@aws-lite/iam-types",
3
+ "version": "0.0.0",
4
+ "description": "Type definitions for the `@aws-lite/iam` plugin",
5
+ "homepage": "https://aws-lite.org/services/iam",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/architect/aws-lite.git",
9
+ "directory": "plugins/iam/types"
10
+ },
11
+ "bugs": "https://github.com/architect/aws-lite/issues",
12
+ "main": "",
13
+ "engines": {
14
+ "node": ">=16"
15
+ },
16
+ "author": "@architect",
17
+ "license": "Apache-2.0",
18
+ "types": "index.d.ts",
19
+ "files": [
20
+ "index.d.ts"
21
+ ],
22
+ "dependencies": {
23
+ "@aws-sdk/client-iam": "3"
24
+ },
25
+ "scripts": {}
26
+ }
package/readme.md ADDED
@@ -0,0 +1,46 @@
1
+ ## Install
2
+
3
+ Add to `devDependencies` in `package.json`:
4
+
5
+ ```
6
+ npm i -D @aws-lite/iam-types
7
+ ```
8
+
9
+ <small>Be sure you also have `@aws-lite/iam` installed.</small>
10
+
11
+ ## Usage and Config
12
+
13
+ ### Javascript VSCode Intellisense
14
+
15
+ In a Javascript project, the ambient types will be automatically loaded.
16
+
17
+ ### TypeScript `tsconfig`
18
+
19
+ #### Add this package to `compilerOptions.types`
20
+
21
+ Example:
22
+
23
+ ```json
24
+ {
25
+ "extends": "@tsconfig/node-lts/tsconfig.json",
26
+ "compilerOptions": {
27
+ "types": [
28
+ "@aws-lite/iam-types"
29
+ ]
30
+ }
31
+ }
32
+ ```
33
+
34
+ #### Or use reference types
35
+
36
+ Either in individual files or in an `index.d.ts` file.
37
+
38
+ ```ts
39
+ /// <reference types="@aws-lite/iam-types" />
40
+ ```
41
+
42
+ ymmv
43
+
44
+ ```ts
45
+ /// <reference path="./node_modules/@aws-lite/iam-types/index.d.ts" />
46
+ ```