UNPKG

@cloud-copilot/iam-collect

Version:

Collect IAM information from AWS Accounts

70 lines 2.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IdentityProviderSyncs = void 0; const client_iam_1 = require("@aws-sdk/client-iam"); const typedSync_js_1 = require("../typedSync.js"); exports.IdentityProviderSyncs = [ (0, typedSync_js_1.createTypedSyncOperation)('iam', 'oidcProviders', (0, typedSync_js_1.createResourceSyncType)({ globalResourceType: true, client: client_iam_1.IAMClient, command: client_iam_1.ListOpenIDConnectProvidersCommand, key: 'OpenIDConnectProviderList', paginationConfig: '::no-pagination::', arn: (provider) => provider.Arn, resourceTypeParts: (account, region) => ({ service: 'iam', account, resourceType: 'oidc-provider' }), extraFields: { details: async (client, provider) => { const command = new client_iam_1.GetOpenIDConnectProviderCommand({ OpenIDConnectProviderArn: provider.Arn }); const result = await client.send(command); return result; } }, tags: (provider) => provider.extraFields.details?.Tags, results: (provider) => ({ metadata: { audiences: provider.extraFields.details?.ClientIDList, thumbprints: provider.extraFields.details?.ThumbprintList, url: provider.extraFields.details?.Url } }) })), (0, typedSync_js_1.createTypedSyncOperation)('iam', 'samlProviders', (0, typedSync_js_1.createResourceSyncType)({ globalResourceType: true, client: client_iam_1.IAMClient, command: client_iam_1.ListSAMLProvidersCommand, key: 'SAMLProviderList', paginationConfig: '::no-pagination::', arn: (provider) => provider.Arn, resourceTypeParts: (account, region) => ({ service: 'iam', account, resourceType: 'saml-provider' }), extraFields: { details: async (client, provider) => { const command = new client_iam_1.GetSAMLProviderCommand({ SAMLProviderArn: provider.Arn }); const result = await client.send(command); return result; } }, tags: (provider) => provider.extraFields.details?.Tags, results: (provider) => ({ metadata: { assertEncryption: provider.extraFields.details?.AssertionEncryptionMode, 'metadata-document': provider.extraFields.details?.SAMLMetadataDocument, privateKeys: provider.extraFields.details?.PrivateKeyList, uuid: provider.extraFields.details?.SAMLProviderUUID, validUntil: provider.extraFields.details?.ValidUntil } }) })) ]; //# sourceMappingURL=identityProviders.js.map