208 lines
7.1 KiB
TypeScript
208 lines
7.1 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { Format } from '../abstract-action.handler';
|
|
import { Action } from '../action.enum';
|
|
import { AwsSharedEntitiesModule } from '../aws-shared-entities/aws-shared-entities.module';
|
|
import { DefaultActionHandlerProvider } from '../default-action-handler/default-action-handler.provider';
|
|
import { ExistingActionHandlersProvider } from '../default-action-handler/existing-action-handlers.provider';
|
|
import { AttachRolePolicyHandler } from './attach-role-policy.handler';
|
|
import { CreatePolicyVersionHandler } from './create-policy-version.handler';
|
|
import { CreatePolicyHandler } from './create-policy.handler';
|
|
import { CreateRoleHandler } from './create-role.handler';
|
|
import { GetPolicyVersionHandler } from './get-policy-version.handler';
|
|
import { GetPolicyHandler } from './get-policy.handler';
|
|
import { GetRoleHandler } from './get-role.handler';
|
|
import { IamPolicy } from './iam-policy.entity';
|
|
import { IamRolePolicyAttachment } from './iam-role-policy-attachment.entity';
|
|
import { IamRole } from './iam-role.entity';
|
|
import { IAMHandlers } from './iam.constants';
|
|
import { ListAttachedRolePoliciesHandler } from './list-attached-role-policies';
|
|
import { ListRolePoliciesHandler } from './list-role-policies.handler';
|
|
|
|
const handlers = [
|
|
AttachRolePolicyHandler,
|
|
CreatePolicyHandler,
|
|
CreatePolicyVersionHandler,
|
|
CreateRoleHandler,
|
|
GetPolicyHandler,
|
|
GetRoleHandler,
|
|
GetPolicyVersionHandler,
|
|
ListAttachedRolePoliciesHandler,
|
|
ListRolePoliciesHandler,
|
|
]
|
|
|
|
const actions = [
|
|
Action.IamAddClientIDToOpenIDConnectProvider,
|
|
Action.IamAddRoleToInstanceProfile,
|
|
Action.IamAddUserToGroup,
|
|
Action.IamAttachGroupPolicy,
|
|
Action.IamAttachRolePolicy,
|
|
Action.IamAttachUserPolicy,
|
|
Action.IamChangePassword,
|
|
Action.IamCreateAccessKey,
|
|
Action.IamCreateAccountAlias,
|
|
Action.IamCreateGroup,
|
|
Action.IamCreateInstanceProfile,
|
|
Action.IamCreateLoginProfile,
|
|
Action.IamCreateOpenIDConnectProvider,
|
|
Action.IamCreatePolicy,
|
|
Action.IamCreatePolicyVersion,
|
|
Action.IamCreateRole,
|
|
Action.IamCreateSAMLProvider,
|
|
Action.IamCreateServiceLinkedRole,
|
|
Action.IamCreateServiceSpecificCredential,
|
|
Action.IamCreateUser,
|
|
Action.IamCreateVirtualMFADevice,
|
|
Action.IamDeactivateMFADevice,
|
|
Action.IamDeleteAccessKey,
|
|
Action.IamDeleteAccountAlias,
|
|
Action.IamDeleteAccountPasswordPolicy,
|
|
Action.IamDeleteGroup,
|
|
Action.IamDeleteGroupPolicy,
|
|
Action.IamDeleteInstanceProfile,
|
|
Action.IamDeleteLoginProfile,
|
|
Action.IamDeleteOpenIDConnectProvider,
|
|
Action.IamDeletePolicy,
|
|
Action.IamDeletePolicyVersion,
|
|
Action.IamDeleteRole,
|
|
Action.IamDeleteRolePermissionsBoundary,
|
|
Action.IamDeleteRolePolicy,
|
|
Action.IamDeleteSAMLProvider,
|
|
Action.IamDeleteServerCertificate,
|
|
Action.IamDeleteServiceLinkedRole,
|
|
Action.IamDeleteServiceSpecificCredential,
|
|
Action.IamDeleteSigningCertificate,
|
|
Action.IamDeleteSSHPublicKey,
|
|
Action.IamDeleteUser,
|
|
Action.IamDeleteUserPermissionsBoundary,
|
|
Action.IamDeleteUserPolicy,
|
|
Action.IamDeleteVirtualMFADevice,
|
|
Action.IamDetachGroupPolicy,
|
|
Action.IamDetachRolePolicy,
|
|
Action.IamDetachUserPolicy,
|
|
Action.IamEnableMFADevice,
|
|
Action.IamGenerateCredentialReport,
|
|
Action.IamGenerateOrganizationsAccessReport,
|
|
Action.IamGenerateServiceLastAccessedDetails,
|
|
Action.IamGetAccessKeyLastUsed,
|
|
Action.IamGetAccountAuthorizationDetails,
|
|
Action.IamGetAccountPasswordPolicy,
|
|
Action.IamGetAccountSummary,
|
|
Action.IamGetContextKeysForCustomPolicy,
|
|
Action.IamGetContextKeysForPrincipalPolicy,
|
|
Action.IamGetCredentialReport,
|
|
Action.IamGetGroup,
|
|
Action.IamGetGroupPolicy,
|
|
Action.IamGetInstanceProfile,
|
|
Action.IamGetLoginProfile,
|
|
Action.IamGetOpenIDConnectProvider,
|
|
Action.IamGetOrganizationsAccessReport,
|
|
Action.IamGetPolicy,
|
|
Action.IamGetPolicyVersion,
|
|
Action.IamGetRole,
|
|
Action.IamGetRolePolicy,
|
|
Action.IamGetSAMLProvider,
|
|
Action.IamGetServerCertificate,
|
|
Action.IamGetServiceLastAccessedDetails,
|
|
Action.IamGetServiceLastAccessedDetailsWithEntities,
|
|
Action.IamGetServiceLinkedRoleDeletionStatus,
|
|
Action.IamGetSSHPublicKey,
|
|
Action.IamGetUser,
|
|
Action.IamGetUserPolicy,
|
|
Action.IamListAccessKeys,
|
|
Action.IamListAccountAliases,
|
|
Action.IamListAttachedGroupPolicies,
|
|
Action.IamListAttachedRolePolicies,
|
|
Action.IamListAttachedUserPolicies,
|
|
Action.IamListEntitiesForPolicy,
|
|
Action.IamListGroupPolicies,
|
|
Action.IamListGroups,
|
|
Action.IamListGroupsForUser,
|
|
Action.IamListInstanceProfiles,
|
|
Action.IamListInstanceProfilesForRole,
|
|
Action.IamListInstanceProfileTags,
|
|
Action.IamListMFADevices,
|
|
Action.IamListMFADeviceTags,
|
|
Action.IamListOpenIDConnectProviders,
|
|
Action.IamListOpenIDConnectProviderTags,
|
|
Action.IamListPolicies,
|
|
Action.IamListPoliciesGrantingServiceAccess,
|
|
Action.IamListPolicyTags,
|
|
Action.IamListPolicyVersions,
|
|
Action.IamListRolePolicies,
|
|
Action.IamListRoles,
|
|
Action.IamListRoleTags,
|
|
Action.IamListSAMLProviders,
|
|
Action.IamListSAMLProviderTags,
|
|
Action.IamListServerCertificates,
|
|
Action.IamListServerCertificateTags,
|
|
Action.IamListServiceSpecificCredentials,
|
|
Action.IamListSigningCertificates,
|
|
Action.IamListSSHPublicKeys,
|
|
Action.IamListUserPolicies,
|
|
Action.IamListUsers,
|
|
Action.IamListUserTags,
|
|
Action.IamListVirtualMFADevices,
|
|
Action.IamPutGroupPolicy,
|
|
Action.IamPutRolePermissionsBoundary,
|
|
Action.IamPutRolePolicy,
|
|
Action.IamPutUserPermissionsBoundary,
|
|
Action.IamPutUserPolicy,
|
|
Action.IamRemoveClientIDFromOpenIDConnectProvider,
|
|
Action.IamRemoveRoleFromInstanceProfile,
|
|
Action.IamRemoveUserFromGroup,
|
|
Action.IamResetServiceSpecificCredential,
|
|
Action.IamResyncMFADevice,
|
|
Action.IamSetDefaultPolicyVersion,
|
|
Action.IamSetSecurityTokenServicePreferences,
|
|
Action.IamSimulateCustomPolicy,
|
|
Action.IamSimulatePrincipalPolicy,
|
|
Action.IamTagInstanceProfile,
|
|
Action.IamTagMFADevice,
|
|
Action.IamTagOpenIDConnectProvider,
|
|
Action.IamTagPolicy,
|
|
Action.IamTagRole,
|
|
Action.IamTagSAMLProvider,
|
|
Action.IamTagServerCertificate,
|
|
Action.IamTagUser,
|
|
Action.IamUntagInstanceProfile,
|
|
Action.IamUntagMFADevice,
|
|
Action.IamUntagOpenIDConnectProvider,
|
|
Action.IamUntagPolicy,
|
|
Action.IamUntagRole,
|
|
Action.IamUntagSAMLProvider,
|
|
Action.IamUntagServerCertificate,
|
|
Action.IamUntagUser,
|
|
Action.IamUpdateAccessKey,
|
|
Action.IamUpdateAccountPasswordPolicy,
|
|
Action.IamUpdateAssumeRolePolicy,
|
|
Action.IamUpdateGroup,
|
|
Action.IamUpdateLoginProfile,
|
|
Action.IamUpdateOpenIDConnectProviderThumbprint,
|
|
Action.IamUpdateRole,
|
|
Action.IamUpdateRoleDescription,
|
|
Action.IamUpdateSAMLProvider,
|
|
Action.IamUpdateServerCertificate,
|
|
Action.IamUpdateServiceSpecificCredential,
|
|
Action.IamUpdateSigningCertificate,
|
|
Action.IamUpdateSSHPublicKey,
|
|
Action.IamUpdateUser,
|
|
Action.IamUploadServerCertificate,
|
|
Action.IamUploadSigningCertificate,
|
|
Action.IamUploadSSHPublicKey,
|
|
]
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([IamPolicy, IamRole, IamRolePolicyAttachment]),
|
|
AwsSharedEntitiesModule,
|
|
],
|
|
providers: [
|
|
...handlers,
|
|
ExistingActionHandlersProvider(handlers),
|
|
DefaultActionHandlerProvider(IAMHandlers, Format.Xml, actions),
|
|
],
|
|
exports: [IAMHandlers],
|
|
})
|
|
export class IamModule {}
|