@cloud-copilot/iam-collect 0.1.57 → 0.1.58

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.
package/README.md CHANGED
@@ -4,15 +4,53 @@
4
4
 
5
5
  Get every possible policy in any set of AWS accounts. This is built to run out of the box in simple use cases, and also work in terribly oppressive environments with a little more configuration. If you want to analyze IAM data at scale this is what you've been looking for.
6
6
 
7
- # BETA
7
+ ## Table of Contents
8
8
 
9
- This is still in beta, commands and configuration options are likely to change.
9
+ 1. [Tenets](#iam-collect-tenets)
10
+ 2. [Introduction](#introduction)
11
+ 3. [Getting Started](#getting-started)
12
+ 4. [Configuration](docs/Configuration.md)
13
+ 5. [Authentication](docs/Authentication.md)
14
+ 6. [Storage](docs/Storage.md)
15
+ 7. [Filtering](docs/Filtering.md)
16
+ 8. [Indexing](docs/Indexing.md)
17
+ 9. [CLI](docs/CLI.md)
18
+ 10. [History](docs/History.md)
19
+ 11. [Supported Services and Data Downloaded](#supported-services-and-data-downloaded)
10
20
 
11
- ## Quick Start
21
+ ## iam-collect Tenets
12
22
 
13
- By default, iam-collect will use the credentials configured in your environment. If you have the permissions in the SID `CollectIAMData` in the [example policy](src/aws/collect-policy.json) everything will work for the current account you have credentials for.
23
+ 1. _Centralized_ Store [all your data](#supported-services-and-data-downloaded) across all partitions, organizations, accounts, and regions in one place. This is a single source of truth for all your IAM data.
24
+ 2. _Easy_ A few commands and you can get started and everything should just work. If resources no longer exist, data is cleaned up automatically
25
+ 3. _Configurable_ Store your data on [disk or in S3](docs/Storage.md). You can configure exactly what [accounts, regions, and services](docs/Filtering.md) you want to collect data for; and [customize auth](docs/Authentication.md) for each.
14
26
 
15
- Make sure you can run `aws sts get-caller-identity` and a command that requires a region be set such as `aws ec2 describe-instances`.
27
+ ## Introduction
28
+
29
+ ### What is iam-collect?
30
+
31
+ iam-collect is a command-line tool that aggregates every IAM-related resource and policy across any number of AWS accounts, regions, and partitions into a single, consistent dataset. It requires minimal setup for simple use cases and allows flexible configuration to operate in even the most restrictive (compliance oriented) environments to give you a single source of truth for your IAM data.
32
+
33
+ ### Why use it?
34
+
35
+ - **Centralized store:** Consolidate IAM data from multiple partitions, organizations, and accounts into one structured store.
36
+ - **Get everything:** Collect all the polices from all the resources in all your accounts. Terraform will show you what was intended, iam-collect will show you what is actually there.
37
+ - **Audit and compliance:** Generate comprehensive snapshots of your IAM landscape to support security reviews, audits, and forensics. The structured approach to storage makes it easy to build automation and tooling around the data.
38
+
39
+ ### How it works at a glance
40
+
41
+ Every time you run `iam-collect download` it will:
42
+
43
+ 1. **Scan:** Connect to AWS account(s) using your configured credentials or roles and retrieve IAM resources (users, roles, policies, etc.) from each target account.
44
+ 2. **Store:** Persist the data to your chosen storage (local filesystem or S3), organizing it by partition, account, service, and resource.
45
+ 3. **Index:** Build search-friendly JSON indexes that map resources to accounts and other relationships for fast lookups.
46
+
47
+ Then you use the data to analyze your IAM landscape, build reports, or integrate with other tools.
48
+
49
+ ## Getting Started
50
+
51
+ By default, iam-collect will use the credentials configured in your environment using the [default credential chain](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromnodeproviderchain). If you have the permissions in the SID `CollectIAMData` in the [example policy](src/aws/collect-policy.json) everything will work for the current account you have credentials for.
52
+
53
+ You don't need the AWS CLI, but a good way to make sure your credentials are configured is to ensure you can run `aws sts get-caller-identity` and a command that requires a region be set such as `aws ec2 describe-instances`.
16
54
 
17
55
  ```bash
18
56
  npm install -g @cloud-copilot/iam-collect
@@ -22,13 +60,15 @@ iam-collect init
22
60
  iam-collect download
23
61
  ```
24
62
 
25
- ## Installation
63
+ ### Install
64
+
65
+ You need Node.js >= 20.
26
66
 
27
67
  ```bash
28
68
  npm install -g @cloud-copilot/iam-collect
29
69
  ```
30
70
 
31
- ## Initialization
71
+ ### Initialize
32
72
 
33
73
  First you need to initialize the configuration file. This will create a commented iam-collect.jsonc file with comments for the different elements.
34
74
 
@@ -38,15 +78,33 @@ iam-collect init
38
78
 
39
79
  This will create a file called `iam-collect.jsonc` in the current directory with a simple default configuration and many comments on how to customize the configuration.
40
80
 
41
- ## Downloading IAM Data
81
+ ### Download
42
82
 
43
83
  ```bash
44
84
  iam-collect download
45
85
  ```
46
86
 
47
- This will download the IAM data from the current account to the `./iam-data` directory. You can change the output directory by modifying the `path` property in the `storage` configuration.
87
+ This will download the IAM data from the current account to the `./iam-data` directory. You can change the output directory by modifying the `path` property in the `storage` configuration. See the [storage docs](docs/Storage.md) for more details.
88
+
89
+ ### Enjoy
90
+
91
+ ```bash
92
+ ls -R ./iam-data
93
+ ```
94
+
95
+ This will show you your data that was downloaded. See the [storage docs](docs/Storage.md#StorageLayoutExplained) for more details on the layout of the data.
96
+
97
+ ## Additional Docs
98
+
99
+ - [Configuration](docs/Configuration.md) - Set the configuration files to use.
100
+ - [Authentication](docs/Authentication.md) - Configure authentication for different accounts, services, and regions.
101
+ - [Storage](docs/Storage.md) - Configure where your data is stored.
102
+ - [Filtering](docs/Filtering.md) - Configure what accounts, services, and regions are downloaded.
103
+ - [Indexing](docs/Indexing.md) - Disable or manually run indexing.
104
+ - [CLI](docs/CLI.md) - Details on the CLI commands and options.
105
+ - [History](docs/History.md) - How to track history of changes.
48
106
 
49
- # Supported Services and Data Downloaded
107
+ ## Supported Services and Data Downloaded
50
108
 
51
109
  | Service | Resource Type | Data Downloaded |
52
110
  | ----------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
@@ -1,5 +1,5 @@
1
1
  import { AwsCredentialIdentity } from '@aws-sdk/types';
2
- import { AuthConfig, RootAuthConfig } from '../config/config.js';
2
+ import { AuthConfig } from '../config/config.js';
3
3
  /**
4
4
  * Credentials with additional metadata, including the AWS account ID and partition.
5
5
  */
@@ -41,5 +41,5 @@ export declare function getNewCredentials(accountId: string, authConfig: AuthCon
41
41
  * @param logInfo any additional information to log while getting the credentials
42
42
  * @returns new credentials based on the provided auth configuration
43
43
  */
44
- export declare function getNewInitialCredentials(authConfig: RootAuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
44
+ export declare function getNewInitialCredentials(authConfig: AuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
45
45
  //# sourceMappingURL=coreAuth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAKhE;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAwC5C;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,iCAAiC,CAAC,CA6C5C"}
1
+ {"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAKhD;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAwC5C;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,iCAAiC,CAAC,CA6C5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
@@ -4,22 +4,6 @@ export interface AuthConfig {
4
4
  * The profile to use when authenticating with AWS. If not present, the default AWS SDK credential resolution chain will be used.
5
5
  */
6
6
  profile?: string;
7
- role?: {
8
- /**
9
- * The path and name of the role to assume. Required if using a role.
10
- */
11
- pathAndName: string;
12
- /**
13
- * Optional, the external id to use when assuming the role.
14
- */
15
- externalId?: string;
16
- /**
17
- * Optional, the session name to use when assuming the role.
18
- */
19
- sessionName?: string;
20
- };
21
- }
22
- export interface RootAuthConfig extends AuthConfig {
23
7
  /**
24
8
  * An optional initial Role to assume in the first phase of the authentication process before
25
9
  * assuming any roles in the target accounts.
@@ -48,6 +32,27 @@ export interface RootAuthConfig extends AuthConfig {
48
32
  */
49
33
  sessionName?: string;
50
34
  };
35
+ role?: {
36
+ /**
37
+ * The path and name of the role to assume. Required if using a role.
38
+ */
39
+ pathAndName: string;
40
+ /**
41
+ * Optional, the external id to use when assuming the role.
42
+ */
43
+ externalId?: string;
44
+ /**
45
+ * Optional, the session name to use when assuming the role.
46
+ */
47
+ sessionName?: string;
48
+ };
49
+ }
50
+ /**
51
+ * An AuthConfig that is completely optional for all fields.
52
+ * This is used to allow for partial auth configs in the account/service/region configs.
53
+ */
54
+ export interface OptionalAuthConfig extends Omit<AuthConfig, 'role'> {
55
+ role?: Partial<AuthConfig['role']>;
51
56
  }
52
57
  export interface FileSystemStorageConfig {
53
58
  type: 'file';
@@ -59,7 +64,7 @@ export interface S3StorageConfig {
59
64
  prefix?: string;
60
65
  region: string;
61
66
  endpoint?: string;
62
- auth?: RootAuthConfig;
67
+ auth?: AuthConfig;
63
68
  }
64
69
  export type StorageConfig = FileSystemStorageConfig | S3StorageConfig;
65
70
  interface BaseConfig {
@@ -73,10 +78,11 @@ interface BaseConfig {
73
78
  };
74
79
  auth?: AuthConfig;
75
80
  }
76
- interface ServiceConfig extends BaseConfig {
81
+ interface ServiceConfig extends Omit<BaseConfig, 'auth'> {
77
82
  endpoint?: string;
78
83
  regionConfigs?: Record<string, Omit<ServiceConfig, 'regionConfigs'>>;
79
84
  syncConfigs?: Record<string, SyncConfig>;
85
+ auth?: OptionalAuthConfig;
80
86
  }
81
87
  interface SyncConfig {
82
88
  regions?: {
@@ -85,14 +91,15 @@ interface SyncConfig {
85
91
  };
86
92
  auth?: AuthConfig;
87
93
  }
88
- interface AccountConfig extends BaseConfig {
94
+ interface AccountConfig extends Omit<BaseConfig, 'auth'> {
89
95
  serviceConfigs?: Record<string, ServiceConfig>;
96
+ auth?: OptionalAuthConfig;
90
97
  }
91
98
  export interface TopLevelConfig extends BaseConfig {
92
99
  name?: string;
93
100
  iamCollectVersion: string;
94
101
  storage?: StorageConfig;
95
- auth?: RootAuthConfig;
102
+ auth?: AuthConfig;
96
103
  accounts?: {
97
104
  included?: string[];
98
105
  };
@@ -114,8 +121,17 @@ export interface ResolvedAccountServiceRegionConfig {
114
121
  * @param configs the configs to search for the default auth config
115
122
  * @returns the default auth config, or an empty object if none found
116
123
  */
117
- export declare function getDefaultAuthConfig(configs: TopLevelConfig[]): RootAuthConfig;
124
+ export declare function getDefaultAuthConfig(configs: TopLevelConfig[]): AuthConfig;
118
125
  export declare function servicesForAccount(account: string, configs: TopLevelConfig[], allServices: string[]): ServicesForAccount;
126
+ /**
127
+ * Get the regions for a specific service and account.
128
+ *
129
+ * @param service the service to get the regions for
130
+ * @param account the account to get the regions for
131
+ * @param configs the configs to search
132
+ * @param allRegions the list of all regions to filter from
133
+ * @returns the regions for the service and account
134
+ */
119
135
  export declare function regionsForService(service: string, account: string, configs: TopLevelConfig[], allRegions: string[]): RegionsForAccountService;
120
136
  export declare function accountServiceRegionConfig(service: string, accountId: string, region: string, configs: TopLevelConfig[]): ResolvedAccountServiceRegionConfig;
121
137
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -28,60 +28,69 @@ function servicesForAccount(account, configs, allServices) {
28
28
  let services = allServices;
29
29
  for (const config of configs) {
30
30
  if (config.services?.included) {
31
- services = config.services.included;
31
+ services = intersection(allServices, config.services.included);
32
32
  }
33
33
  if (config.services?.excluded) {
34
- services = services.filter((service) => !config.services.excluded?.includes(service));
34
+ services = difference(services, config.services.excluded);
35
35
  }
36
36
  const accountServices = config.accountConfigs?.[account]?.services;
37
37
  if (accountServices) {
38
38
  if (accountServices.included) {
39
39
  for (const service of accountServices.included) {
40
- if (!services.includes(service)) {
40
+ if (!services.includes(service) && allServices.includes(service)) {
41
41
  services.push(service);
42
42
  }
43
43
  }
44
44
  }
45
45
  if (accountServices.excluded) {
46
- services = services.filter((service) => !accountServices.excluded?.includes(service));
46
+ services = difference(services, accountServices.excluded);
47
47
  }
48
48
  }
49
49
  }
50
50
  return services;
51
51
  }
52
+ /**
53
+ * Get the regions for a specific service and account.
54
+ *
55
+ * @param service the service to get the regions for
56
+ * @param account the account to get the regions for
57
+ * @param configs the configs to search
58
+ * @param allRegions the list of all regions to filter from
59
+ * @returns the regions for the service and account
60
+ */
52
61
  function regionsForService(service, account, configs, allRegions) {
53
62
  let regions = allRegions;
54
63
  for (const config of configs) {
55
64
  if (config.regions?.included) {
56
- regions = config.regions.included;
65
+ regions = intersection(allRegions, config.regions.included);
57
66
  }
58
67
  if (config.regions?.excluded) {
59
- regions = regions.filter((region) => !config.regions.excluded?.includes(region));
68
+ regions = difference(regions, config.regions.excluded);
60
69
  }
61
70
  const serviceConfig = config.serviceConfigs?.[service];
62
71
  if (serviceConfig) {
63
72
  if (serviceConfig.regions?.included) {
64
- regions = serviceConfig.regions.included;
73
+ regions = intersection(allRegions, serviceConfig.regions.included);
65
74
  }
66
75
  if (serviceConfig.regions?.excluded) {
67
- regions = regions.filter((region) => !serviceConfig.regions.excluded?.includes(region));
76
+ regions = difference(regions, serviceConfig.regions.excluded);
68
77
  }
69
78
  }
70
79
  const accountConfig = config.accountConfigs?.[account];
71
80
  if (accountConfig) {
72
81
  if (accountConfig.regions?.included) {
73
- regions = accountConfig.regions.included;
82
+ regions = intersection(allRegions, accountConfig.regions.included);
74
83
  }
75
84
  if (accountConfig.regions?.excluded) {
76
- regions = regions.filter((region) => !accountConfig.regions.excluded?.includes(region));
85
+ regions = difference(regions, accountConfig.regions.excluded);
77
86
  }
78
87
  const accountServices = accountConfig.serviceConfigs?.[service];
79
88
  if (accountServices) {
80
89
  if (accountServices.regions?.included) {
81
- regions = accountServices.regions.included;
90
+ regions = intersection(allRegions, accountServices.regions.included);
82
91
  }
83
92
  if (accountServices.regions?.excluded) {
84
- regions = regions.filter((region) => !accountServices.regions.excluded?.includes(region));
93
+ regions = difference(regions, accountServices.regions.excluded);
85
94
  }
86
95
  }
87
96
  }
@@ -101,7 +110,7 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
101
110
  const serviceConfig = config.serviceConfigs?.[service];
102
111
  if (serviceConfig) {
103
112
  if (serviceConfig.auth) {
104
- result.auth = { ...result.auth, ...serviceConfig.auth };
113
+ result.auth = mergeAuthConfigs(result.auth, serviceConfig.auth);
105
114
  }
106
115
  if (serviceConfig.endpoint) {
107
116
  result.endpoint = serviceConfig.endpoint;
@@ -109,7 +118,7 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
109
118
  const regionConfig = serviceConfig.regionConfigs?.[region];
110
119
  if (regionConfig) {
111
120
  if (regionConfig.auth) {
112
- result.auth = { ...result.auth, ...regionConfig.auth };
121
+ result.auth = mergeAuthConfigs(result.auth, regionConfig.auth);
113
122
  }
114
123
  if (regionConfig.endpoint) {
115
124
  result.endpoint = regionConfig.endpoint;
@@ -119,12 +128,12 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
119
128
  const accountConfig = config.accountConfigs?.[accountId];
120
129
  if (accountConfig) {
121
130
  if (accountConfig.auth) {
122
- result.auth = accountConfig.auth;
131
+ result.auth = mergeAuthConfigs(result.auth, accountConfig.auth);
123
132
  }
124
133
  const accountServiceConfig = accountConfig.serviceConfigs?.[service];
125
134
  if (accountServiceConfig) {
126
135
  if (accountServiceConfig.auth) {
127
- result.auth = { ...result.auth, ...accountServiceConfig.auth };
136
+ result.auth = mergeAuthConfigs(result.auth, accountServiceConfig.auth);
128
137
  }
129
138
  if (accountServiceConfig.endpoint) {
130
139
  result.endpoint = accountServiceConfig.endpoint;
@@ -132,7 +141,7 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
132
141
  const accountRegionConfig = accountServiceConfig.regionConfigs?.[region];
133
142
  if (accountRegionConfig) {
134
143
  if (accountRegionConfig.auth) {
135
- result.auth = { ...result.auth, ...accountRegionConfig.auth };
144
+ result.auth = mergeAuthConfigs(result.auth, accountRegionConfig.auth);
136
145
  }
137
146
  if (accountRegionConfig.endpoint) {
138
147
  result.endpoint = accountRegionConfig.endpoint;
@@ -158,7 +167,7 @@ function getAccountAuthConfig(accountId, configs) {
158
167
  }
159
168
  const accountConfig = config.accountConfigs?.[accountId];
160
169
  if (accountConfig?.auth) {
161
- result = { ...(result || {}), ...accountConfig.auth };
170
+ result = mergeAuthConfigs(result, accountConfig.auth);
162
171
  }
163
172
  }
164
173
  return result;
@@ -228,4 +237,34 @@ function getConfiguredAccounts(configs) {
228
237
  }
229
238
  return [];
230
239
  }
240
+ function mergeAuthConfigs(initialConfig, newConfig) {
241
+ if (!initialConfig) {
242
+ initialConfig = {};
243
+ }
244
+ if (!newConfig) {
245
+ return initialConfig;
246
+ }
247
+ if ('profile' in newConfig) {
248
+ initialConfig.profile = newConfig.profile;
249
+ }
250
+ if ('initialRole' in newConfig) {
251
+ initialConfig.initialRole = {
252
+ ...(initialConfig.initialRole || {}),
253
+ ...newConfig.initialRole
254
+ };
255
+ }
256
+ if ('role' in newConfig) {
257
+ initialConfig.role = {
258
+ ...(initialConfig.role || {}),
259
+ ...newConfig.role
260
+ };
261
+ }
262
+ return initialConfig;
263
+ }
264
+ function intersection(a, b) {
265
+ return a.filter((value) => b.includes(value));
266
+ }
267
+ function difference(a, b) {
268
+ return a.filter((value) => !b.includes(value));
269
+ }
231
270
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":";;AA6IA,oDASC;AAED,gDA+BC;AAED,8CA+CC;AAED,gEAiEC;AASD,oDAeC;AAED,4CAUC;AAcD,oDAiCC;AAQD,sDAQC;AAvQD;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,OAAyB;IAC5D,+EAA+E;IAC/E,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAA;QACnB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAAe,EACf,OAAyB,EACzB,WAAqB;IAErB,IAAI,QAAQ,GAAG,WAAW,CAAA;IAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC9B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;QACrC,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC9B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QACxF,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAA;QAClE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAC7B,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;oBAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAC7B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;YACvF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAA8B,CAAA;AACvC,CAAC;AAED,SAAgB,iBAAiB,CAC/B,OAAe,EACf,OAAe,EACf,OAAyB,EACzB,UAAoB;IAEpB,IAAI,OAAO,GAAG,UAAU,CAAA;IACxB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAA;QACnC,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QACnF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACpC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAA;YAC1C,CAAC;YACD,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACpC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,OAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1F,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACpC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAA;YAC1C,CAAC;YACD,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACpC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,OAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1F,CAAC;YAED,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAA;YAC/D,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACtC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAA;gBAC5C,CAAC;gBACD,IAAI,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACtC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,OAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC5F,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAgB,0BAA0B,CACxC,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,OAAyB;IAEzB,IAAI,MAAM,GAAuC;QAC/C,SAAS,EAAE,SAAS;QACpB,OAAO;QACP,MAAM;KACP,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QAC3B,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,CAAA;YACzD,CAAC;YACD,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;YAC1C,CAAC;YAED,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAA;YAC1D,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,CAAA;gBACxD,CAAC;gBACD,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC1B,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAA;YAClC,CAAC;YAED,MAAM,oBAAoB,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAA;YACpE,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IAAI,oBAAoB,CAAC,IAAI,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAA;gBAChE,CAAC;gBACD,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAA;gBACjD,CAAC;gBAED,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAA;gBACxE,IAAI,mBAAmB,EAAE,CAAC;oBACxB,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAA;oBAC/D,CAAC;oBACD,IAAI,mBAAmB,CAAC,QAAQ,EAAE,CAAC;wBACjC,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAA;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAClC,SAAiB,EACjB,OAAyB;IAEzB,IAAI,MAAM,GAA2B,SAAS,CAAA;IAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAA;QACtB,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,aAAa,EAAE,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,CAAA;QACvD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAyB;IACxD,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;IAC7C,+DAA+D;IAC/D,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,OAAO,CAAA;QACvB,CAAC;IACH,CAAC;IACD,iDAAiD;IACjD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAClC,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,OAAyB,EACzB,MAAc;IAEd,2CAA2C;IAC3C,4CAA4C;IAC5C,6CAA6C;IAC7C,iCAAiC;IACjC,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,oBAAoB,GACxB,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;QACxF,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;gBAC3C,OAAO,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;QAC/E,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtD,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACpC,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,OAAyB;IAC7D,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AA0GD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
1
+ {"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAwGD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
@@ -44,11 +44,9 @@ const defaultConfig = `
44
44
  "prefix": "iam-data/",
45
45
  "region": "us-west-2",
46
46
  "endpoint": "https://s3.us-west-2.amazonaws.com", // Optional endpoint if using a specific VPC endpoint
47
- //Optional auth configuration, see https://github.com/cloud-copilot/iam-collect/docs/Authentication.md
47
+ //Optional auth configuration, see https://github.com/cloud-copilot/iam-collect/docs/Storage.md
48
48
  "auth": {
49
- //The type of authentication to use
50
- // Can include accountId
51
- "accountId": "123456789012"
49
+ // See https://github.com/cloud-copilot/iam-collect/docs/Storage.md
52
50
  }
53
51
  },
54
52
  */
@@ -120,7 +118,7 @@ const defaultConfig = `
120
118
 
121
119
  // Optional block for authentication, see , see https://github.com/cloud-copilot/iam-collect/docs/Authentication.md
122
120
  // "auth": {
123
- // //The type of authentication to use
121
+ // //The type of authentication to use before connecting to any individual accounts
124
122
  // }
125
123
 
126
124
 
@@ -1 +1 @@
1
- {"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAMD,kDAEC;AA0GD,4CAGC;AAlID,2BAA+B;AAC/B,+BAA8B;AAC9B,2DAAuD;AAE1C,QAAA,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,eAAU,EAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGrB,CAAA;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,GAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAMD,kDAEC;AAwGD,4CAGC;AAhID,2BAA+B;AAC/B,+BAA8B;AAC9B,2DAAuD;AAE1C,QAAA,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,eAAU,EAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGrB,CAAA;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,GAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAA;AAGrE,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,iCAAiC,GAC7C,OAAO,CAAC,MAAM,EAAE,CAAC,CAUnB"}
1
+ {"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAA;AAIrE,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,iCAAiC,GAC7C,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBnB"}
@@ -2,14 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getEnabledRegions = getEnabledRegions;
4
4
  const client_account_1 = require("@aws-sdk/client-account");
5
+ const typedSync_js_1 = require("./syncs/typedSync.js");
5
6
  const types_js_1 = require("./utils/types.js");
6
7
  async function getEnabledRegions(credentials) {
7
8
  const accountClient = new client_account_1.AccountClient({ credentials });
8
- const getRegionsCommand = new client_account_1.ListRegionsCommand({
9
+ const enabledRegions = await (0, typedSync_js_1.paginateResource)(accountClient, client_account_1.ListRegionsCommand, 'Regions', {
10
+ inputKey: 'NextToken',
11
+ outputKey: 'NextToken'
12
+ }, {
9
13
  RegionOptStatusContains: [client_account_1.RegionOptStatus.ENABLED, client_account_1.RegionOptStatus.ENABLED_BY_DEFAULT]
10
14
  });
11
- const result = await accountClient.send(getRegionsCommand);
12
- const regions = result.Regions?.map((r) => r.RegionName).filter(types_js_1.isDefined) || [];
15
+ const regions = enabledRegions.map((r) => r.RegionName).filter(types_js_1.isDefined) || [];
13
16
  return regions;
14
17
  }
15
18
  //# sourceMappingURL=regions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":";;AAIA,8CAYC;AAhBD,4DAA4F;AAE5F,+CAA4C;AAErC,KAAK,UAAU,iBAAiB,CACrC,WAA8C;IAE9C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACxD,MAAM,iBAAiB,GAAG,IAAI,mCAAkB,CAAC;QAC/C,uBAAuB,EAAE,CAAC,gCAAe,CAAC,OAAO,EAAE,gCAAe,CAAC,kBAAkB,CAAC;KACvF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,EAAE,CAAA;IAEjF,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":";;AAKA,8CAqBC;AA1BD,4DAA4F;AAE5F,uDAAuD;AACvD,+CAA4C;AAErC,KAAK,UAAU,iBAAiB,CACrC,WAA8C;IAE9C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAExD,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAgB,EAC3C,aAAa,EACb,mCAAkB,EAClB,SAAS,EACT;QACE,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB,EACD;QACE,uBAAuB,EAAE,CAAC,gCAAe,CAAC,OAAO,EAAE,gCAAe,CAAC,kBAAkB,CAAC;KACvF,CACF,CAAA;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,EAAE,CAAA;IAEhF,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AwsCredentialIdentity } from '@aws-sdk/types';
2
- import { AuthConfig, RootAuthConfig } from '../config/config.js';
2
+ import { AuthConfig } from '../config/config.js';
3
3
  /**
4
4
  * Credentials with additional metadata, including the AWS account ID and partition.
5
5
  */
@@ -41,5 +41,5 @@ export declare function getNewCredentials(accountId: string, authConfig: AuthCon
41
41
  * @param logInfo any additional information to log while getting the credentials
42
42
  * @returns new credentials based on the provided auth configuration
43
43
  */
44
- export declare function getNewInitialCredentials(authConfig: RootAuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
44
+ export declare function getNewInitialCredentials(authConfig: AuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
45
45
  //# sourceMappingURL=coreAuth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAKhE;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAwC5C;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,iCAAiC,CAAC,CA6C5C"}
1
+ {"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAKhD;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAwC5C;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,iCAAiC,CAAC,CA6C5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
@@ -4,22 +4,6 @@ export interface AuthConfig {
4
4
  * The profile to use when authenticating with AWS. If not present, the default AWS SDK credential resolution chain will be used.
5
5
  */
6
6
  profile?: string;
7
- role?: {
8
- /**
9
- * The path and name of the role to assume. Required if using a role.
10
- */
11
- pathAndName: string;
12
- /**
13
- * Optional, the external id to use when assuming the role.
14
- */
15
- externalId?: string;
16
- /**
17
- * Optional, the session name to use when assuming the role.
18
- */
19
- sessionName?: string;
20
- };
21
- }
22
- export interface RootAuthConfig extends AuthConfig {
23
7
  /**
24
8
  * An optional initial Role to assume in the first phase of the authentication process before
25
9
  * assuming any roles in the target accounts.
@@ -48,6 +32,27 @@ export interface RootAuthConfig extends AuthConfig {
48
32
  */
49
33
  sessionName?: string;
50
34
  };
35
+ role?: {
36
+ /**
37
+ * The path and name of the role to assume. Required if using a role.
38
+ */
39
+ pathAndName: string;
40
+ /**
41
+ * Optional, the external id to use when assuming the role.
42
+ */
43
+ externalId?: string;
44
+ /**
45
+ * Optional, the session name to use when assuming the role.
46
+ */
47
+ sessionName?: string;
48
+ };
49
+ }
50
+ /**
51
+ * An AuthConfig that is completely optional for all fields.
52
+ * This is used to allow for partial auth configs in the account/service/region configs.
53
+ */
54
+ export interface OptionalAuthConfig extends Omit<AuthConfig, 'role'> {
55
+ role?: Partial<AuthConfig['role']>;
51
56
  }
52
57
  export interface FileSystemStorageConfig {
53
58
  type: 'file';
@@ -59,7 +64,7 @@ export interface S3StorageConfig {
59
64
  prefix?: string;
60
65
  region: string;
61
66
  endpoint?: string;
62
- auth?: RootAuthConfig;
67
+ auth?: AuthConfig;
63
68
  }
64
69
  export type StorageConfig = FileSystemStorageConfig | S3StorageConfig;
65
70
  interface BaseConfig {
@@ -73,10 +78,11 @@ interface BaseConfig {
73
78
  };
74
79
  auth?: AuthConfig;
75
80
  }
76
- interface ServiceConfig extends BaseConfig {
81
+ interface ServiceConfig extends Omit<BaseConfig, 'auth'> {
77
82
  endpoint?: string;
78
83
  regionConfigs?: Record<string, Omit<ServiceConfig, 'regionConfigs'>>;
79
84
  syncConfigs?: Record<string, SyncConfig>;
85
+ auth?: OptionalAuthConfig;
80
86
  }
81
87
  interface SyncConfig {
82
88
  regions?: {
@@ -85,14 +91,15 @@ interface SyncConfig {
85
91
  };
86
92
  auth?: AuthConfig;
87
93
  }
88
- interface AccountConfig extends BaseConfig {
94
+ interface AccountConfig extends Omit<BaseConfig, 'auth'> {
89
95
  serviceConfigs?: Record<string, ServiceConfig>;
96
+ auth?: OptionalAuthConfig;
90
97
  }
91
98
  export interface TopLevelConfig extends BaseConfig {
92
99
  name?: string;
93
100
  iamCollectVersion: string;
94
101
  storage?: StorageConfig;
95
- auth?: RootAuthConfig;
102
+ auth?: AuthConfig;
96
103
  accounts?: {
97
104
  included?: string[];
98
105
  };
@@ -114,8 +121,17 @@ export interface ResolvedAccountServiceRegionConfig {
114
121
  * @param configs the configs to search for the default auth config
115
122
  * @returns the default auth config, or an empty object if none found
116
123
  */
117
- export declare function getDefaultAuthConfig(configs: TopLevelConfig[]): RootAuthConfig;
124
+ export declare function getDefaultAuthConfig(configs: TopLevelConfig[]): AuthConfig;
118
125
  export declare function servicesForAccount(account: string, configs: TopLevelConfig[], allServices: string[]): ServicesForAccount;
126
+ /**
127
+ * Get the regions for a specific service and account.
128
+ *
129
+ * @param service the service to get the regions for
130
+ * @param account the account to get the regions for
131
+ * @param configs the configs to search
132
+ * @param allRegions the list of all regions to filter from
133
+ * @returns the regions for the service and account
134
+ */
119
135
  export declare function regionsForService(service: string, account: string, configs: TopLevelConfig[], allRegions: string[]): RegionsForAccountService;
120
136
  export declare function accountServiceRegionConfig(service: string, accountId: string, region: string, configs: TopLevelConfig[]): ResolvedAccountServiceRegionConfig;
121
137
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -18,60 +18,69 @@ export function servicesForAccount(account, configs, allServices) {
18
18
  let services = allServices;
19
19
  for (const config of configs) {
20
20
  if (config.services?.included) {
21
- services = config.services.included;
21
+ services = intersection(allServices, config.services.included);
22
22
  }
23
23
  if (config.services?.excluded) {
24
- services = services.filter((service) => !config.services.excluded?.includes(service));
24
+ services = difference(services, config.services.excluded);
25
25
  }
26
26
  const accountServices = config.accountConfigs?.[account]?.services;
27
27
  if (accountServices) {
28
28
  if (accountServices.included) {
29
29
  for (const service of accountServices.included) {
30
- if (!services.includes(service)) {
30
+ if (!services.includes(service) && allServices.includes(service)) {
31
31
  services.push(service);
32
32
  }
33
33
  }
34
34
  }
35
35
  if (accountServices.excluded) {
36
- services = services.filter((service) => !accountServices.excluded?.includes(service));
36
+ services = difference(services, accountServices.excluded);
37
37
  }
38
38
  }
39
39
  }
40
40
  return services;
41
41
  }
42
+ /**
43
+ * Get the regions for a specific service and account.
44
+ *
45
+ * @param service the service to get the regions for
46
+ * @param account the account to get the regions for
47
+ * @param configs the configs to search
48
+ * @param allRegions the list of all regions to filter from
49
+ * @returns the regions for the service and account
50
+ */
42
51
  export function regionsForService(service, account, configs, allRegions) {
43
52
  let regions = allRegions;
44
53
  for (const config of configs) {
45
54
  if (config.regions?.included) {
46
- regions = config.regions.included;
55
+ regions = intersection(allRegions, config.regions.included);
47
56
  }
48
57
  if (config.regions?.excluded) {
49
- regions = regions.filter((region) => !config.regions.excluded?.includes(region));
58
+ regions = difference(regions, config.regions.excluded);
50
59
  }
51
60
  const serviceConfig = config.serviceConfigs?.[service];
52
61
  if (serviceConfig) {
53
62
  if (serviceConfig.regions?.included) {
54
- regions = serviceConfig.regions.included;
63
+ regions = intersection(allRegions, serviceConfig.regions.included);
55
64
  }
56
65
  if (serviceConfig.regions?.excluded) {
57
- regions = regions.filter((region) => !serviceConfig.regions.excluded?.includes(region));
66
+ regions = difference(regions, serviceConfig.regions.excluded);
58
67
  }
59
68
  }
60
69
  const accountConfig = config.accountConfigs?.[account];
61
70
  if (accountConfig) {
62
71
  if (accountConfig.regions?.included) {
63
- regions = accountConfig.regions.included;
72
+ regions = intersection(allRegions, accountConfig.regions.included);
64
73
  }
65
74
  if (accountConfig.regions?.excluded) {
66
- regions = regions.filter((region) => !accountConfig.regions.excluded?.includes(region));
75
+ regions = difference(regions, accountConfig.regions.excluded);
67
76
  }
68
77
  const accountServices = accountConfig.serviceConfigs?.[service];
69
78
  if (accountServices) {
70
79
  if (accountServices.regions?.included) {
71
- regions = accountServices.regions.included;
80
+ regions = intersection(allRegions, accountServices.regions.included);
72
81
  }
73
82
  if (accountServices.regions?.excluded) {
74
- regions = regions.filter((region) => !accountServices.regions.excluded?.includes(region));
83
+ regions = difference(regions, accountServices.regions.excluded);
75
84
  }
76
85
  }
77
86
  }
@@ -91,7 +100,7 @@ export function accountServiceRegionConfig(service, accountId, region, configs)
91
100
  const serviceConfig = config.serviceConfigs?.[service];
92
101
  if (serviceConfig) {
93
102
  if (serviceConfig.auth) {
94
- result.auth = { ...result.auth, ...serviceConfig.auth };
103
+ result.auth = mergeAuthConfigs(result.auth, serviceConfig.auth);
95
104
  }
96
105
  if (serviceConfig.endpoint) {
97
106
  result.endpoint = serviceConfig.endpoint;
@@ -99,7 +108,7 @@ export function accountServiceRegionConfig(service, accountId, region, configs)
99
108
  const regionConfig = serviceConfig.regionConfigs?.[region];
100
109
  if (regionConfig) {
101
110
  if (regionConfig.auth) {
102
- result.auth = { ...result.auth, ...regionConfig.auth };
111
+ result.auth = mergeAuthConfigs(result.auth, regionConfig.auth);
103
112
  }
104
113
  if (regionConfig.endpoint) {
105
114
  result.endpoint = regionConfig.endpoint;
@@ -109,12 +118,12 @@ export function accountServiceRegionConfig(service, accountId, region, configs)
109
118
  const accountConfig = config.accountConfigs?.[accountId];
110
119
  if (accountConfig) {
111
120
  if (accountConfig.auth) {
112
- result.auth = accountConfig.auth;
121
+ result.auth = mergeAuthConfigs(result.auth, accountConfig.auth);
113
122
  }
114
123
  const accountServiceConfig = accountConfig.serviceConfigs?.[service];
115
124
  if (accountServiceConfig) {
116
125
  if (accountServiceConfig.auth) {
117
- result.auth = { ...result.auth, ...accountServiceConfig.auth };
126
+ result.auth = mergeAuthConfigs(result.auth, accountServiceConfig.auth);
118
127
  }
119
128
  if (accountServiceConfig.endpoint) {
120
129
  result.endpoint = accountServiceConfig.endpoint;
@@ -122,7 +131,7 @@ export function accountServiceRegionConfig(service, accountId, region, configs)
122
131
  const accountRegionConfig = accountServiceConfig.regionConfigs?.[region];
123
132
  if (accountRegionConfig) {
124
133
  if (accountRegionConfig.auth) {
125
- result.auth = { ...result.auth, ...accountRegionConfig.auth };
134
+ result.auth = mergeAuthConfigs(result.auth, accountRegionConfig.auth);
126
135
  }
127
136
  if (accountRegionConfig.endpoint) {
128
137
  result.endpoint = accountRegionConfig.endpoint;
@@ -148,7 +157,7 @@ export function getAccountAuthConfig(accountId, configs) {
148
157
  }
149
158
  const accountConfig = config.accountConfigs?.[accountId];
150
159
  if (accountConfig?.auth) {
151
- result = { ...(result || {}), ...accountConfig.auth };
160
+ result = mergeAuthConfigs(result, accountConfig.auth);
152
161
  }
153
162
  }
154
163
  return result;
@@ -218,4 +227,34 @@ export function getConfiguredAccounts(configs) {
218
227
  }
219
228
  return [];
220
229
  }
230
+ function mergeAuthConfigs(initialConfig, newConfig) {
231
+ if (!initialConfig) {
232
+ initialConfig = {};
233
+ }
234
+ if (!newConfig) {
235
+ return initialConfig;
236
+ }
237
+ if ('profile' in newConfig) {
238
+ initialConfig.profile = newConfig.profile;
239
+ }
240
+ if ('initialRole' in newConfig) {
241
+ initialConfig.initialRole = {
242
+ ...(initialConfig.initialRole || {}),
243
+ ...newConfig.initialRole
244
+ };
245
+ }
246
+ if ('role' in newConfig) {
247
+ initialConfig.role = {
248
+ ...(initialConfig.role || {}),
249
+ ...newConfig.role
250
+ };
251
+ }
252
+ return initialConfig;
253
+ }
254
+ function intersection(a, b) {
255
+ return a.filter((value) => b.includes(value));
256
+ }
257
+ function difference(a, b) {
258
+ return a.filter((value) => !b.includes(value));
259
+ }
221
260
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AA0GD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
1
+ {"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAwGD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
@@ -38,11 +38,9 @@ const defaultConfig = `
38
38
  "prefix": "iam-data/",
39
39
  "region": "us-west-2",
40
40
  "endpoint": "https://s3.us-west-2.amazonaws.com", // Optional endpoint if using a specific VPC endpoint
41
- //Optional auth configuration, see https://github.com/cloud-copilot/iam-collect/docs/Authentication.md
41
+ //Optional auth configuration, see https://github.com/cloud-copilot/iam-collect/docs/Storage.md
42
42
  "auth": {
43
- //The type of authentication to use
44
- // Can include accountId
45
- "accountId": "123456789012"
43
+ // See https://github.com/cloud-copilot/iam-collect/docs/Storage.md
46
44
  }
47
45
  },
48
46
  */
@@ -114,7 +112,7 @@ const defaultConfig = `
114
112
 
115
113
  // Optional block for authentication, see , see https://github.com/cloud-copilot/iam-collect/docs/Authentication.md
116
114
  // "auth": {
117
- // //The type of authentication to use
115
+ // //The type of authentication to use before connecting to any individual accounts
118
116
  // }
119
117
 
120
118
 
@@ -1 +1 @@
1
- {"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGrB,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGrB,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAA;AAGrE,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,iCAAiC,GAC7C,OAAO,CAAC,MAAM,EAAE,CAAC,CAUnB"}
1
+ {"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAA;AAIrE,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,iCAAiC,GAC7C,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBnB"}
@@ -1,12 +1,15 @@
1
1
  import { AccountClient, ListRegionsCommand, RegionOptStatus } from '@aws-sdk/client-account';
2
+ import { paginateResource } from './syncs/typedSync.js';
2
3
  import { isDefined } from './utils/types.js';
3
4
  export async function getEnabledRegions(credentials) {
4
5
  const accountClient = new AccountClient({ credentials });
5
- const getRegionsCommand = new ListRegionsCommand({
6
+ const enabledRegions = await paginateResource(accountClient, ListRegionsCommand, 'Regions', {
7
+ inputKey: 'NextToken',
8
+ outputKey: 'NextToken'
9
+ }, {
6
10
  RegionOptStatusContains: [RegionOptStatus.ENABLED, RegionOptStatus.ENABLED_BY_DEFAULT]
7
11
  });
8
- const result = await accountClient.send(getRegionsCommand);
9
- const regions = result.Regions?.map((r) => r.RegionName).filter(isDefined) || [];
12
+ const regions = enabledRegions.map((r) => r.RegionName).filter(isDefined) || [];
10
13
  return regions;
11
14
  }
12
15
  //# sourceMappingURL=regions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE5F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAA8C;IAE9C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACxD,MAAM,iBAAiB,GAAG,IAAI,kBAAkB,CAAC;QAC/C,uBAAuB,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC;KACvF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAEjF,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAA8C;IAE9C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAExD,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAC3C,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT;QACE,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB,EACD;QACE,uBAAuB,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC;KACvF,CACF,CAAA;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAEhF,OAAO,OAAO,CAAA;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloud-copilot/iam-collect",
3
- "version": "0.1.57",
3
+ "version": "0.1.58",
4
4
  "description": "Collect IAM information from AWS Accounts",
5
5
  "repository": {
6
6
  "type": "git",