Skip to content

Commit

Permalink
Merge branch 'main' into cs3
Browse files Browse the repository at this point in the history
  • Loading branch information
jdinh8124 authored Aug 6, 2024
2 parents d496d4c + 23088b5 commit 8fdf265
Show file tree
Hide file tree
Showing 6 changed files with 677 additions and 597 deletions.
16 changes: 9 additions & 7 deletions lib/local-aspects/iam-path/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { IAspect } from "aws-cdk-lib";
import { IConstruct } from "constructs";
import * as iam from "aws-cdk-lib/aws-iam";
import { isCfnRole, isCfnUser, isCfnGroup } from "shared-utils";

export class IamPathAspect implements IAspect {
private readonly iamPath: string;
Expand All @@ -11,16 +10,19 @@ export class IamPathAspect implements IAspect {
}

public visit(node: IConstruct): void {
if (node instanceof iam.Role && isCfnRole(node.node.defaultChild)) {
node.node.defaultChild?.addPropertyOverride("Path", this.iamPath);
if (node instanceof iam.Role) {
const roleResource = node.node.defaultChild as iam.CfnRole;
roleResource.addPropertyOverride("Path", this.iamPath);
}

if (node instanceof iam.User && isCfnUser(node.node.defaultChild)) {
node.node.defaultChild.addPropertyOverride("Path", this.iamPath);
if (node instanceof iam.User) {
const userResource = node.node.defaultChild as iam.CfnUser;
userResource.addPropertyOverride("Path", this.iamPath);
}

if (node instanceof iam.Group && isCfnGroup(node.node.defaultChild)) {
node.node.defaultChild.addPropertyOverride("Path", this.iamPath);
if (node instanceof iam.Group) {
const groupResource = node.node.defaultChild as iam.CfnGroup;
groupResource.addPropertyOverride("Path", this.iamPath);
}
}
}
9 changes: 3 additions & 6 deletions lib/local-aspects/iam-permissions-boundary/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { IAspect } from "aws-cdk-lib";
import { IConstruct } from "constructs";
import * as iam from "aws-cdk-lib/aws-iam";
import { isCfnRole } from "shared-utils";

export class IamPermissionsBoundaryAspect implements IAspect {
private readonly permissionsBoundaryArn: string;
Expand All @@ -11,11 +10,9 @@ export class IamPermissionsBoundaryAspect implements IAspect {
}

public visit(node: IConstruct): void {
if (node instanceof iam.Role && isCfnRole(node.node.defaultChild)) {
node.node.defaultChild.addPropertyOverride(
"PermissionsBoundary",
this.permissionsBoundaryArn,
);
if (node instanceof iam.Role) {
const roleResource = node.node.defaultChild as iam.CfnRole;
roleResource.addPropertyOverride("Path", this.permissionsBoundaryArn);
}
}
}
Loading

0 comments on commit 8fdf265

Please sign in to comment.