@quadnix/octo-aws-cdk 0.0.13 → 0.0.15
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/dist/modules/account/aws-credentials-account/aws-credentials-account.module.js +1 -0
- package/dist/modules/account/aws-credentials-account/aws-credentials-account.module.js.map +1 -1
- package/dist/modules/account/aws-ini-account/aws-ini-account.module.js +1 -0
- package/dist/modules/account/aws-ini-account/aws-ini-account.module.js.map +1 -1
- package/dist/modules/account/aws-localstack-account/aws-localstack-account.module.js +1 -0
- package/dist/modules/account/aws-localstack-account/aws-localstack-account.module.js.map +1 -1
- package/dist/modules/account/aws-moto-account/aws-moto-account.module.js +1 -0
- package/dist/modules/account/aws-moto-account/aws-moto-account.module.js.map +1 -1
- package/dist/modules/service/aws-s3-static-website-service/aws-s3-static-website-service.module.d.ts +3 -0
- package/dist/modules/service/aws-s3-static-website-service/aws-s3-static-website-service.module.js +27 -1
- package/dist/modules/service/aws-s3-static-website-service/aws-s3-static-website-service.module.js.map +1 -1
- package/dist/resources/alb/actions/add-alb.resource.action.d.ts +2 -2
- package/dist/resources/alb/actions/add-alb.resource.action.js +8 -23
- package/dist/resources/alb/actions/add-alb.resource.action.js.map +1 -1
- package/dist/resources/alb/actions/delete-alb.resource.action.d.ts +0 -1
- package/dist/resources/alb/actions/delete-alb.resource.action.js +0 -17
- package/dist/resources/alb/actions/delete-alb.resource.action.js.map +1 -1
- package/dist/resources/alb/actions/update-alb-tags.resource.action.d.ts +0 -1
- package/dist/resources/alb/actions/update-alb-tags.resource.action.js +0 -6
- package/dist/resources/alb/actions/update-alb-tags.resource.action.js.map +1 -1
- package/dist/resources/alb/actions/validate-alb.resource.action.d.ts +17 -0
- package/dist/resources/alb/actions/validate-alb.resource.action.js +129 -0
- package/dist/resources/alb/actions/validate-alb.resource.action.js.map +1 -0
- package/dist/resources/alb/index.d.ts +1 -0
- package/dist/resources/alb/index.js +1 -0
- package/dist/resources/alb/index.js.map +1 -1
- package/dist/resources/alb-listener/actions/add-alb-listener.resource.action.d.ts +2 -2
- package/dist/resources/alb-listener/actions/add-alb-listener.resource.action.js +8 -22
- package/dist/resources/alb-listener/actions/add-alb-listener.resource.action.js.map +1 -1
- package/dist/resources/alb-listener/actions/delete-alb-listener.resource.action.d.ts +0 -1
- package/dist/resources/alb-listener/actions/delete-alb-listener.resource.action.js +0 -14
- package/dist/resources/alb-listener/actions/delete-alb-listener.resource.action.js.map +1 -1
- package/dist/resources/alb-listener/actions/update-alb-listener-rule.resource.action.d.ts +2 -2
- package/dist/resources/alb-listener/actions/update-alb-listener-rule.resource.action.js +51 -37
- package/dist/resources/alb-listener/actions/update-alb-listener-rule.resource.action.js.map +1 -1
- package/dist/resources/alb-listener/actions/update-alb-listener-tags.resource.action.d.ts +0 -1
- package/dist/resources/alb-listener/actions/update-alb-listener-tags.resource.action.js +0 -6
- package/dist/resources/alb-listener/actions/update-alb-listener-tags.resource.action.js.map +1 -1
- package/dist/resources/alb-listener/actions/update-alb-listener.resource.action.d.ts +0 -2
- package/dist/resources/alb-listener/actions/update-alb-listener.resource.action.js +1 -21
- package/dist/resources/alb-listener/actions/update-alb-listener.resource.action.js.map +1 -1
- package/dist/resources/alb-listener/actions/validate-alb-listener.resource.action.d.ts +17 -0
- package/dist/resources/alb-listener/actions/validate-alb-listener.resource.action.js +347 -0
- package/dist/resources/alb-listener/actions/validate-alb-listener.resource.action.js.map +1 -0
- package/dist/resources/alb-listener/index.d.ts +1 -0
- package/dist/resources/alb-listener/index.js +1 -0
- package/dist/resources/alb-listener/index.js.map +1 -1
- package/dist/resources/alb-target-group/actions/add-alb-target-group.resource.action.d.ts +2 -2
- package/dist/resources/alb-target-group/actions/add-alb-target-group.resource.action.js +6 -21
- package/dist/resources/alb-target-group/actions/add-alb-target-group.resource.action.js.map +1 -1
- package/dist/resources/alb-target-group/actions/delete-alb-target-group.resource.action.d.ts +0 -1
- package/dist/resources/alb-target-group/actions/delete-alb-target-group.resource.action.js +0 -14
- package/dist/resources/alb-target-group/actions/delete-alb-target-group.resource.action.js.map +1 -1
- package/dist/resources/alb-target-group/actions/update-alb-target-group-tags.resource.action.d.ts +0 -1
- package/dist/resources/alb-target-group/actions/update-alb-target-group-tags.resource.action.js +0 -6
- package/dist/resources/alb-target-group/actions/update-alb-target-group-tags.resource.action.js.map +1 -1
- package/dist/resources/alb-target-group/actions/update-alb-target-group.resource.action.d.ts +0 -1
- package/dist/resources/alb-target-group/actions/update-alb-target-group.resource.action.js +0 -14
- package/dist/resources/alb-target-group/actions/update-alb-target-group.resource.action.js.map +1 -1
- package/dist/resources/alb-target-group/actions/validate-alb-target-group.resource.action.d.ts +17 -0
- package/dist/resources/alb-target-group/actions/validate-alb-target-group.resource.action.js +151 -0
- package/dist/resources/alb-target-group/actions/validate-alb-target-group.resource.action.js.map +1 -0
- package/dist/resources/alb-target-group/index.d.ts +1 -0
- package/dist/resources/alb-target-group/index.js +1 -0
- package/dist/resources/alb-target-group/index.js.map +1 -1
- package/dist/resources/ecr/actions/add-ecr-image.resource.action.d.ts +2 -2
- package/dist/resources/ecr/actions/add-ecr-image.resource.action.js +12 -25
- package/dist/resources/ecr/actions/add-ecr-image.resource.action.js.map +1 -1
- package/dist/resources/ecr/actions/delete-ecr-image.resource.action.d.ts +0 -1
- package/dist/resources/ecr/actions/delete-ecr-image.resource.action.js +1 -14
- package/dist/resources/ecr/actions/delete-ecr-image.resource.action.js.map +1 -1
- package/dist/resources/ecr/actions/update-ecr-image-tags.resource.action.d.ts +0 -1
- package/dist/resources/ecr/actions/update-ecr-image-tags.resource.action.js +0 -6
- package/dist/resources/ecr/actions/update-ecr-image-tags.resource.action.js.map +1 -1
- package/dist/resources/ecr/actions/validate-ecr-image.resource.action.d.ts +17 -0
- package/dist/resources/ecr/actions/validate-ecr-image.resource.action.js +111 -0
- package/dist/resources/ecr/actions/validate-ecr-image.resource.action.js.map +1 -0
- package/dist/resources/ecr/index.d.ts +1 -0
- package/dist/resources/ecr/index.js +1 -0
- package/dist/resources/ecr/index.js.map +1 -1
- package/dist/resources/ecs-cluster/actions/add-ecs-cluster.resource.action.d.ts +2 -2
- package/dist/resources/ecs-cluster/actions/add-ecs-cluster.resource.action.js +6 -15
- package/dist/resources/ecs-cluster/actions/add-ecs-cluster.resource.action.js.map +1 -1
- package/dist/resources/ecs-cluster/actions/delete-ecs-cluster.resource.action.d.ts +0 -1
- package/dist/resources/ecs-cluster/actions/delete-ecs-cluster.resource.action.js +1 -14
- package/dist/resources/ecs-cluster/actions/delete-ecs-cluster.resource.action.js.map +1 -1
- package/dist/resources/ecs-cluster/actions/update-ecs-cluster-tags.resource.action.d.ts +0 -1
- package/dist/resources/ecs-cluster/actions/update-ecs-cluster-tags.resource.action.js +0 -6
- package/dist/resources/ecs-cluster/actions/update-ecs-cluster-tags.resource.action.js.map +1 -1
- package/dist/resources/ecs-cluster/actions/validate-ecs-cluster.resource.action.d.ts +17 -0
- package/dist/resources/ecs-cluster/actions/validate-ecs-cluster.resource.action.js +89 -0
- package/dist/resources/ecs-cluster/actions/validate-ecs-cluster.resource.action.js.map +1 -0
- package/dist/resources/ecs-cluster/index.d.ts +1 -0
- package/dist/resources/ecs-cluster/index.js +1 -0
- package/dist/resources/ecs-cluster/index.js.map +1 -1
- package/dist/resources/ecs-service/actions/add-ecs-service.resource.action.d.ts +2 -2
- package/dist/resources/ecs-service/actions/add-ecs-service.resource.action.js +6 -15
- package/dist/resources/ecs-service/actions/add-ecs-service.resource.action.js.map +1 -1
- package/dist/resources/ecs-service/actions/delete-ecs-service.resource.action.d.ts +0 -1
- package/dist/resources/ecs-service/actions/delete-ecs-service.resource.action.js +1 -20
- package/dist/resources/ecs-service/actions/delete-ecs-service.resource.action.js.map +1 -1
- package/dist/resources/ecs-service/actions/update-ecs-service-tags.resource.action.d.ts +0 -1
- package/dist/resources/ecs-service/actions/update-ecs-service-tags.resource.action.js +0 -6
- package/dist/resources/ecs-service/actions/update-ecs-service-tags.resource.action.js.map +1 -1
- package/dist/resources/ecs-service/actions/update-ecs-service.resource.action.d.ts +2 -2
- package/dist/resources/ecs-service/actions/update-ecs-service.resource.action.js +6 -15
- package/dist/resources/ecs-service/actions/update-ecs-service.resource.action.js.map +1 -1
- package/dist/resources/ecs-service/actions/validate-ecs-service.resource.action.d.ts +17 -0
- package/dist/resources/ecs-service/actions/validate-ecs-service.resource.action.js +153 -0
- package/dist/resources/ecs-service/actions/validate-ecs-service.resource.action.js.map +1 -0
- package/dist/resources/ecs-service/index.d.ts +1 -0
- package/dist/resources/ecs-service/index.js +1 -0
- package/dist/resources/ecs-service/index.js.map +1 -1
- package/dist/resources/ecs-task-definition/actions/add-ecs-task-definition.resource.action.d.ts +2 -2
- package/dist/resources/ecs-task-definition/actions/add-ecs-task-definition.resource.action.js +8 -16
- package/dist/resources/ecs-task-definition/actions/add-ecs-task-definition.resource.action.js.map +1 -1
- package/dist/resources/ecs-task-definition/actions/delete-ecs-task-definition.resource.action.d.ts +0 -1
- package/dist/resources/ecs-task-definition/actions/delete-ecs-task-definition.resource.action.js +0 -17
- package/dist/resources/ecs-task-definition/actions/delete-ecs-task-definition.resource.action.js.map +1 -1
- package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition-tags.resource.action.d.ts +0 -1
- package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition-tags.resource.action.js +0 -6
- package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition-tags.resource.action.js.map +1 -1
- package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition.resource.action.d.ts +2 -2
- package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition.resource.action.js +8 -21
- package/dist/resources/ecs-task-definition/actions/update-ecs-task-definition.resource.action.js.map +1 -1
- package/dist/resources/ecs-task-definition/actions/validate-ecs-task-definition.resource.action.d.ts +17 -0
- package/dist/resources/ecs-task-definition/actions/validate-ecs-task-definition.resource.action.js +192 -0
- package/dist/resources/ecs-task-definition/actions/validate-ecs-task-definition.resource.action.js.map +1 -0
- package/dist/resources/ecs-task-definition/index.d.ts +1 -0
- package/dist/resources/ecs-task-definition/index.js +1 -0
- package/dist/resources/ecs-task-definition/index.js.map +1 -1
- package/dist/resources/efs/actions/add-efs.resource.action.d.ts +2 -2
- package/dist/resources/efs/actions/add-efs.resource.action.js +8 -19
- package/dist/resources/efs/actions/add-efs.resource.action.js.map +1 -1
- package/dist/resources/efs/actions/delete-efs.resource.action.d.ts +0 -2
- package/dist/resources/efs/actions/delete-efs.resource.action.js +0 -17
- package/dist/resources/efs/actions/delete-efs.resource.action.js.map +1 -1
- package/dist/resources/efs/actions/update-efs-tags.resource.action.d.ts +0 -1
- package/dist/resources/efs/actions/update-efs-tags.resource.action.js +0 -6
- package/dist/resources/efs/actions/update-efs-tags.resource.action.js.map +1 -1
- package/dist/resources/efs/actions/validate-efs.resource.action.d.ts +17 -0
- package/dist/resources/efs/actions/validate-efs.resource.action.js +102 -0
- package/dist/resources/efs/actions/validate-efs.resource.action.js.map +1 -0
- package/dist/resources/efs/index.d.ts +1 -0
- package/dist/resources/efs/index.js +1 -0
- package/dist/resources/efs/index.js.map +1 -1
- package/dist/resources/efs-mount-target/actions/add-efs-mount-target.resource.action.d.ts +2 -2
- package/dist/resources/efs-mount-target/actions/add-efs-mount-target.resource.action.js +8 -27
- package/dist/resources/efs-mount-target/actions/add-efs-mount-target.resource.action.js.map +1 -1
- package/dist/resources/efs-mount-target/actions/delete-efs-mount-target.resource.action.d.ts +0 -1
- package/dist/resources/efs-mount-target/actions/delete-efs-mount-target.resource.action.js +0 -25
- package/dist/resources/efs-mount-target/actions/delete-efs-mount-target.resource.action.js.map +1 -1
- package/dist/resources/efs-mount-target/actions/update-efs-mount-target-tags.resource.action.d.ts +0 -1
- package/dist/resources/efs-mount-target/actions/update-efs-mount-target-tags.resource.action.js +0 -1
- package/dist/resources/efs-mount-target/actions/update-efs-mount-target-tags.resource.action.js.map +1 -1
- package/dist/resources/efs-mount-target/actions/validate-efs-mount-target.resource.action.d.ts +17 -0
- package/dist/resources/efs-mount-target/actions/validate-efs-mount-target.resource.action.js +104 -0
- package/dist/resources/efs-mount-target/actions/validate-efs-mount-target.resource.action.js.map +1 -0
- package/dist/resources/efs-mount-target/index.d.ts +1 -0
- package/dist/resources/efs-mount-target/index.js +1 -0
- package/dist/resources/efs-mount-target/index.js.map +1 -1
- package/dist/resources/iam-role/actions/add-iam-role.resource.action.d.ts +2 -2
- package/dist/resources/iam-role/actions/add-iam-role.resource.action.js +12 -21
- package/dist/resources/iam-role/actions/add-iam-role.resource.action.js.map +1 -1
- package/dist/resources/iam-role/actions/delete-iam-role.resource.action.d.ts +0 -1
- package/dist/resources/iam-role/actions/delete-iam-role.resource.action.js +0 -14
- package/dist/resources/iam-role/actions/delete-iam-role.resource.action.js.map +1 -1
- package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.d.ts +0 -1
- package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.js +1 -14
- package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.js.map +1 -1
- package/dist/resources/iam-role/actions/update-iam-role-tags.resource.action.d.ts +0 -1
- package/dist/resources/iam-role/actions/update-iam-role-tags.resource.action.js +0 -7
- package/dist/resources/iam-role/actions/update-iam-role-tags.resource.action.js.map +1 -1
- package/dist/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.d.ts +3 -2
- package/dist/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.js +34 -20
- package/dist/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.js.map +1 -1
- package/dist/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.d.ts +2 -2
- package/dist/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.js +33 -26
- package/dist/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.js.map +1 -1
- package/dist/resources/iam-role/actions/validate-iam-role.resource.action.d.ts +17 -0
- package/dist/resources/iam-role/actions/validate-iam-role.resource.action.js +207 -0
- package/dist/resources/iam-role/actions/validate-iam-role.resource.action.js.map +1 -0
- package/dist/resources/iam-role/index.d.ts +1 -0
- package/dist/resources/iam-role/index.js +1 -0
- package/dist/resources/iam-role/index.js.map +1 -1
- package/dist/resources/iam-user/actions/add-iam-user.resource.action.d.ts +2 -2
- package/dist/resources/iam-user/actions/add-iam-user.resource.action.js +12 -20
- package/dist/resources/iam-user/actions/add-iam-user.resource.action.js.map +1 -1
- package/dist/resources/iam-user/actions/delete-iam-user.resource.action.d.ts +0 -1
- package/dist/resources/iam-user/actions/delete-iam-user.resource.action.js +0 -13
- package/dist/resources/iam-user/actions/delete-iam-user.resource.action.js.map +1 -1
- package/dist/resources/iam-user/actions/update-iam-user-tags.resource.action.d.ts +0 -1
- package/dist/resources/iam-user/actions/update-iam-user-tags.resource.action.js +0 -7
- package/dist/resources/iam-user/actions/update-iam-user-tags.resource.action.js.map +1 -1
- package/dist/resources/iam-user/actions/update-iam-user-with-s3-storage-policy.resource.action.d.ts +2 -2
- package/dist/resources/iam-user/actions/update-iam-user-with-s3-storage-policy.resource.action.js +33 -26
- package/dist/resources/iam-user/actions/update-iam-user-with-s3-storage-policy.resource.action.js.map +1 -1
- package/dist/resources/iam-user/actions/validate-iam-user.resource.action.d.ts +17 -0
- package/dist/resources/iam-user/actions/validate-iam-user.resource.action.js +181 -0
- package/dist/resources/iam-user/actions/validate-iam-user.resource.action.js.map +1 -0
- package/dist/resources/iam-user/index.d.ts +1 -0
- package/dist/resources/iam-user/index.js +1 -0
- package/dist/resources/iam-user/index.js.map +1 -1
- package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.d.ts +2 -2
- package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.js +8 -16
- package/dist/resources/internet-gateway/actions/add-internet-gateway.resource.action.js.map +1 -1
- package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.d.ts +0 -1
- package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.js +0 -17
- package/dist/resources/internet-gateway/actions/delete-internet-gateway.resource.action.js.map +1 -1
- package/dist/resources/internet-gateway/actions/update-internet-gateway-tags.resource.action.d.ts +0 -1
- package/dist/resources/internet-gateway/actions/update-internet-gateway-tags.resource.action.js +0 -6
- package/dist/resources/internet-gateway/actions/update-internet-gateway-tags.resource.action.js.map +1 -1
- package/dist/resources/internet-gateway/actions/validate-internet-gateway.resource.action.d.ts +17 -0
- package/dist/resources/internet-gateway/actions/validate-internet-gateway.resource.action.js +88 -0
- package/dist/resources/internet-gateway/actions/validate-internet-gateway.resource.action.js.map +1 -0
- package/dist/resources/internet-gateway/index.d.ts +1 -0
- package/dist/resources/internet-gateway/index.js +1 -0
- package/dist/resources/internet-gateway/index.js.map +1 -1
- package/dist/resources/nat-gateway/actions/add-nat-gateway.resource.action.d.ts +2 -2
- package/dist/resources/nat-gateway/actions/add-nat-gateway.resource.action.js +9 -16
- package/dist/resources/nat-gateway/actions/add-nat-gateway.resource.action.js.map +1 -1
- package/dist/resources/nat-gateway/actions/delete-nat-gateway.resource.action.d.ts +0 -1
- package/dist/resources/nat-gateway/actions/delete-nat-gateway.resource.action.js +0 -20
- package/dist/resources/nat-gateway/actions/delete-nat-gateway.resource.action.js.map +1 -1
- package/dist/resources/nat-gateway/actions/update-eip-tags.resource.action.d.ts +0 -1
- package/dist/resources/nat-gateway/actions/update-eip-tags.resource.action.js +0 -10
- package/dist/resources/nat-gateway/actions/update-eip-tags.resource.action.js.map +1 -1
- package/dist/resources/nat-gateway/actions/update-nat-gateway-tags.resource.action.d.ts +0 -1
- package/dist/resources/nat-gateway/actions/update-nat-gateway-tags.resource.action.js +0 -6
- package/dist/resources/nat-gateway/actions/update-nat-gateway-tags.resource.action.js.map +1 -1
- package/dist/resources/nat-gateway/actions/validate-nat-gateway.resource.action.d.ts +17 -0
- package/dist/resources/nat-gateway/actions/validate-nat-gateway.resource.action.js +115 -0
- package/dist/resources/nat-gateway/actions/validate-nat-gateway.resource.action.js.map +1 -0
- package/dist/resources/nat-gateway/index.d.ts +1 -0
- package/dist/resources/nat-gateway/index.js +1 -0
- package/dist/resources/nat-gateway/index.js.map +1 -1
- package/dist/resources/network-acl/actions/add-network-acl.resource.action.d.ts +2 -2
- package/dist/resources/network-acl/actions/add-network-acl.resource.action.js +11 -31
- package/dist/resources/network-acl/actions/add-network-acl.resource.action.js.map +1 -1
- package/dist/resources/network-acl/actions/delete-network-acl.resource.action.d.ts +0 -1
- package/dist/resources/network-acl/actions/delete-network-acl.resource.action.js +0 -17
- package/dist/resources/network-acl/actions/delete-network-acl.resource.action.js.map +1 -1
- package/dist/resources/network-acl/actions/update-network-acl-entries.resource.action.d.ts +0 -1
- package/dist/resources/network-acl/actions/update-network-acl-entries.resource.action.js +0 -25
- package/dist/resources/network-acl/actions/update-network-acl-entries.resource.action.js.map +1 -1
- package/dist/resources/network-acl/actions/update-network-acl-tags.resource.action.d.ts +0 -1
- package/dist/resources/network-acl/actions/update-network-acl-tags.resource.action.js +0 -6
- package/dist/resources/network-acl/actions/update-network-acl-tags.resource.action.js.map +1 -1
- package/dist/resources/network-acl/actions/validate-network-acl.resource.action.d.ts +17 -0
- package/dist/resources/network-acl/actions/validate-network-acl.resource.action.js +126 -0
- package/dist/resources/network-acl/actions/validate-network-acl.resource.action.js.map +1 -0
- package/dist/resources/network-acl/index.d.ts +1 -0
- package/dist/resources/network-acl/index.js +1 -0
- package/dist/resources/network-acl/index.js.map +1 -1
- package/dist/resources/route-table/actions/add-route-table.resource.action.d.ts +2 -2
- package/dist/resources/route-table/actions/add-route-table.resource.action.js +9 -19
- package/dist/resources/route-table/actions/add-route-table.resource.action.js.map +1 -1
- package/dist/resources/route-table/actions/delete-route-table.resource.action.d.ts +0 -1
- package/dist/resources/route-table/actions/delete-route-table.resource.action.js +0 -17
- package/dist/resources/route-table/actions/delete-route-table.resource.action.js.map +1 -1
- package/dist/resources/route-table/actions/update-nat-gateway-parent-in-route-table.resource.action.d.ts +0 -1
- package/dist/resources/route-table/actions/update-nat-gateway-parent-in-route-table.resource.action.js +0 -17
- package/dist/resources/route-table/actions/update-nat-gateway-parent-in-route-table.resource.action.js.map +1 -1
- package/dist/resources/route-table/actions/update-route-table-tags.resource.action.d.ts +0 -1
- package/dist/resources/route-table/actions/update-route-table-tags.resource.action.js +0 -6
- package/dist/resources/route-table/actions/update-route-table-tags.resource.action.js.map +1 -1
- package/dist/resources/route-table/actions/validate-route-table.resource.action.d.ts +17 -0
- package/dist/resources/route-table/actions/validate-route-table.resource.action.js +124 -0
- package/dist/resources/route-table/actions/validate-route-table.resource.action.js.map +1 -0
- package/dist/resources/route-table/index.d.ts +1 -0
- package/dist/resources/route-table/index.js +1 -0
- package/dist/resources/route-table/index.js.map +1 -1
- package/dist/resources/s3-storage/actions/add-s3-storage.resource.action.d.ts +3 -2
- package/dist/resources/s3-storage/actions/add-s3-storage.resource.action.js +5 -11
- package/dist/resources/s3-storage/actions/add-s3-storage.resource.action.js.map +1 -1
- package/dist/resources/s3-storage/actions/delete-s3-storage.resource.action.d.ts +0 -1
- package/dist/resources/s3-storage/actions/delete-s3-storage.resource.action.js +0 -20
- package/dist/resources/s3-storage/actions/delete-s3-storage.resource.action.js.map +1 -1
- package/dist/resources/s3-storage/actions/update-parent-in-s3-storage.resource.action.d.ts +0 -1
- package/dist/resources/s3-storage/actions/update-parent-in-s3-storage.resource.action.js +0 -1
- package/dist/resources/s3-storage/actions/update-parent-in-s3-storage.resource.action.js.map +1 -1
- package/dist/resources/s3-storage/actions/update-permissions-in-s3-storage.resource.action.d.ts +0 -1
- package/dist/resources/s3-storage/actions/update-permissions-in-s3-storage.resource.action.js +0 -17
- package/dist/resources/s3-storage/actions/update-permissions-in-s3-storage.resource.action.js.map +1 -1
- package/dist/resources/s3-storage/actions/update-s3-storage-tags.resource.action.d.ts +0 -1
- package/dist/resources/s3-storage/actions/update-s3-storage-tags.resource.action.js +0 -6
- package/dist/resources/s3-storage/actions/update-s3-storage-tags.resource.action.js.map +1 -1
- package/dist/resources/s3-storage/actions/validate-s3-storage.resource.action.d.ts +17 -0
- package/dist/resources/s3-storage/actions/validate-s3-storage.resource.action.js +181 -0
- package/dist/resources/s3-storage/actions/validate-s3-storage.resource.action.js.map +1 -0
- package/dist/resources/s3-storage/index.d.ts +1 -0
- package/dist/resources/s3-storage/index.js +1 -0
- package/dist/resources/s3-storage/index.js.map +1 -1
- package/dist/resources/s3-website/actions/add-s3-website.resource.action.d.ts +3 -2
- package/dist/resources/s3-website/actions/add-s3-website.resource.action.js +7 -21
- package/dist/resources/s3-website/actions/add-s3-website.resource.action.js.map +1 -1
- package/dist/resources/s3-website/actions/delete-s3-website.resource.action.d.ts +0 -1
- package/dist/resources/s3-website/actions/delete-s3-website.resource.action.js +0 -20
- package/dist/resources/s3-website/actions/delete-s3-website.resource.action.js.map +1 -1
- package/dist/resources/s3-website/actions/update-s3-website-tags.resource.action.d.ts +0 -1
- package/dist/resources/s3-website/actions/update-s3-website-tags.resource.action.js +0 -6
- package/dist/resources/s3-website/actions/update-s3-website-tags.resource.action.js.map +1 -1
- package/dist/resources/s3-website/actions/update-source-paths-in-s3-website.resource.action.d.ts +0 -1
- package/dist/resources/s3-website/actions/update-source-paths-in-s3-website.resource.action.js +0 -14
- package/dist/resources/s3-website/actions/update-source-paths-in-s3-website.resource.action.js.map +1 -1
- package/dist/resources/s3-website/actions/validate-s3-website.resource.action.d.ts +17 -0
- package/dist/resources/s3-website/actions/validate-s3-website.resource.action.js +154 -0
- package/dist/resources/s3-website/actions/validate-s3-website.resource.action.js.map +1 -0
- package/dist/resources/s3-website/index.d.ts +1 -0
- package/dist/resources/s3-website/index.js +1 -0
- package/dist/resources/s3-website/index.js.map +1 -1
- package/dist/resources/security-group/actions/add-security-group.resource.action.d.ts +2 -2
- package/dist/resources/security-group/actions/add-security-group.resource.action.js +18 -26
- package/dist/resources/security-group/actions/add-security-group.resource.action.js.map +1 -1
- package/dist/resources/security-group/actions/delete-security-group.resource.action.d.ts +0 -1
- package/dist/resources/security-group/actions/delete-security-group.resource.action.js +0 -15
- package/dist/resources/security-group/actions/delete-security-group.resource.action.js.map +1 -1
- package/dist/resources/security-group/actions/update-security-group-rules.resource.action.d.ts +2 -2
- package/dist/resources/security-group/actions/update-security-group-rules.resource.action.js +17 -27
- package/dist/resources/security-group/actions/update-security-group-rules.resource.action.js.map +1 -1
- package/dist/resources/security-group/actions/update-security-group-tags.resource.action.d.ts +0 -1
- package/dist/resources/security-group/actions/update-security-group-tags.resource.action.js +0 -6
- package/dist/resources/security-group/actions/update-security-group-tags.resource.action.js.map +1 -1
- package/dist/resources/security-group/actions/validate-security-group.resource.action.d.ts +17 -0
- package/dist/resources/security-group/actions/validate-security-group.resource.action.js +132 -0
- package/dist/resources/security-group/actions/validate-security-group.resource.action.js.map +1 -0
- package/dist/resources/security-group/index.d.ts +1 -0
- package/dist/resources/security-group/index.js +1 -0
- package/dist/resources/security-group/index.js.map +1 -1
- package/dist/resources/subnet/actions/add-subnet.resource.action.d.ts +2 -2
- package/dist/resources/subnet/actions/add-subnet.resource.action.js +7 -12
- package/dist/resources/subnet/actions/add-subnet.resource.action.js.map +1 -1
- package/dist/resources/subnet/actions/delete-subnet.resource.action.d.ts +0 -1
- package/dist/resources/subnet/actions/delete-subnet.resource.action.js +0 -14
- package/dist/resources/subnet/actions/delete-subnet.resource.action.js.map +1 -1
- package/dist/resources/subnet/actions/update-subnet-tags.resource.action.d.ts +0 -1
- package/dist/resources/subnet/actions/update-subnet-tags.resource.action.js +0 -6
- package/dist/resources/subnet/actions/update-subnet-tags.resource.action.js.map +1 -1
- package/dist/resources/subnet/actions/validate-subnet.resource.action.d.ts +17 -0
- package/dist/resources/subnet/actions/validate-subnet.resource.action.js +90 -0
- package/dist/resources/subnet/actions/validate-subnet.resource.action.js.map +1 -0
- package/dist/resources/subnet/index.d.ts +1 -0
- package/dist/resources/subnet/index.js +1 -0
- package/dist/resources/subnet/index.js.map +1 -1
- package/dist/resources/vpc/actions/add-vpc.resource.action.d.ts +2 -2
- package/dist/resources/vpc/actions/add-vpc.resource.action.js +7 -15
- package/dist/resources/vpc/actions/add-vpc.resource.action.js.map +1 -1
- package/dist/resources/vpc/actions/delete-vpc.resource.action.d.ts +0 -1
- package/dist/resources/vpc/actions/delete-vpc.resource.action.js +0 -14
- package/dist/resources/vpc/actions/delete-vpc.resource.action.js.map +1 -1
- package/dist/resources/vpc/actions/update-vpc-tags.resource.action.d.ts +0 -1
- package/dist/resources/vpc/actions/update-vpc-tags.resource.action.js +0 -6
- package/dist/resources/vpc/actions/update-vpc-tags.resource.action.js.map +1 -1
- package/dist/resources/vpc/actions/validate-vpc.resource.action.d.ts +17 -0
- package/dist/resources/vpc/actions/validate-vpc.resource.action.js +100 -0
- package/dist/resources/vpc/actions/validate-vpc.resource.action.js.map +1 -0
- package/dist/resources/vpc/index.d.ts +1 -0
- package/dist/resources/vpc/index.js +1 -0
- package/dist/resources/vpc/index.js.map +1 -1
- package/dist/utilities/actions/generic-resource-tagging.action.d.ts +1 -5
- package/dist/utilities/actions/generic-resource-tagging.action.js +0 -15
- package/dist/utilities/actions/generic-resource-tagging.action.js.map +1 -1
- package/dist/utilities/policy/policy.utility.d.ts +11 -0
- package/dist/utilities/policy/policy.utility.js +46 -0
- package/dist/utilities/policy/policy.utility.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-iam-role.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/add-iam-role.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD;;GAEG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG;YAC9B,IAAI,CAAC,IAAI,YAAY,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,
|
|
1
|
+
{"version":3,"file":"add-iam-role.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/add-iam-role.resource.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ export declare class DeleteIamRoleResourceAction implements IResourceAction<IamR
|
|
|
8
8
|
constructor(container: Container);
|
|
9
9
|
filter(diff: Diff): boolean;
|
|
10
10
|
handle(diff: Diff<IamRole>): Promise<void>;
|
|
11
|
-
mock(diff: Diff<IamRole>): Promise<void>;
|
|
12
11
|
}
|
|
13
12
|
/**
|
|
14
13
|
* @internal
|
|
@@ -38,20 +38,6 @@ let DeleteIamRoleResourceAction = class DeleteIamRoleResourceAction {
|
|
|
38
38
|
RoleName: response.RoleName,
|
|
39
39
|
}));
|
|
40
40
|
}
|
|
41
|
-
async mock(diff) {
|
|
42
|
-
// Get properties.
|
|
43
|
-
const iamRole = diff.node;
|
|
44
|
-
const properties = iamRole.properties;
|
|
45
|
-
const iamClient = await this.container.get(IAMClient, {
|
|
46
|
-
args: [properties.awsAccountId],
|
|
47
|
-
metadata: { package: '@octo' },
|
|
48
|
-
});
|
|
49
|
-
iamClient.send = async (instance) => {
|
|
50
|
-
if (instance instanceof DeleteRoleCommand) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
41
|
};
|
|
56
42
|
DeleteIamRoleResourceAction = __decorate([
|
|
57
43
|
Action(IamRole),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-iam-role.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/delete-iam-role.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACtC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,iBAAiB,CAAC;YACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-iam-role.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/delete-iam-role.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACtC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,iBAAiB,CAAC;YACpB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,2BAA2B;IADvC,MAAM,CAAC,OAAO,CAAC;qCAE0B,SAAS;GADtC,2BAA2B,CA+BvC;;AAED;;GAEG;AAEI,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAG7C,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,kCAAkC;IAD9C,OAAO,CAA8B,2BAA2B,CAAC;GACrD,kCAAkC,CAU9C"}
|
package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export declare class UpdateIamRoleAssumeRolePolicyResourceAction implements IRes
|
|
|
8
8
|
constructor(container: Container);
|
|
9
9
|
filter(diff: Diff): boolean;
|
|
10
10
|
handle(diff: Diff<IamRole>): Promise<void>;
|
|
11
|
-
mock(diff: Diff<IamRole>): Promise<void>;
|
|
12
11
|
}
|
|
13
12
|
/**
|
|
14
13
|
* @internal
|
package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.js
CHANGED
|
@@ -27,6 +27,7 @@ let UpdateIamRoleAssumeRolePolicyResourceAction = class UpdateIamRoleAssumeRoleP
|
|
|
27
27
|
// Get properties.
|
|
28
28
|
const iamRole = diff.node;
|
|
29
29
|
const properties = iamRole.properties;
|
|
30
|
+
const response = iamRole.response;
|
|
30
31
|
// Get instances.
|
|
31
32
|
const iamClient = await this.container.get(IAMClient, {
|
|
32
33
|
args: [properties.awsAccountId],
|
|
@@ -54,20 +55,6 @@ let UpdateIamRoleAssumeRolePolicyResourceAction = class UpdateIamRoleAssumeRoleP
|
|
|
54
55
|
RoleName: properties.rolename,
|
|
55
56
|
}));
|
|
56
57
|
}
|
|
57
|
-
async mock(diff) {
|
|
58
|
-
// Get properties.
|
|
59
|
-
const iamRole = diff.node;
|
|
60
|
-
const properties = iamRole.properties;
|
|
61
|
-
const iamClient = await this.container.get(IAMClient, {
|
|
62
|
-
args: [properties.awsAccountId],
|
|
63
|
-
metadata: { package: '@octo' },
|
|
64
|
-
});
|
|
65
|
-
iamClient.send = async (instance) => {
|
|
66
|
-
if (instance instanceof UpdateAssumeRolePolicyCommand) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
58
|
};
|
|
72
59
|
UpdateIamRoleAssumeRolePolicyResourceAction = __decorate([
|
|
73
60
|
Action(IamRole),
|
package/dist/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-iam-role-assume-role-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,2CAA2C,GAAjD,MAAM,2CAA2C;IACtD,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,oBAAoB,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"update-iam-role-assume-role-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-assume-role-policy.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,2CAA2C,GAAjD,MAAM,2CAA2C;IACtD,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,oBAAoB,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAC/B,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,cAAc,GAA0E,EAAE,CAAC;QAEjG,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oBAAoB,CAAC,CAAC;QACpG,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;gBAChD,cAAc,CAAC,IAAI,CAAC;oBAClB,MAAM,EAAE,gBAAgB;oBACxB,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE;wBACT,OAAO,EAAE,yBAAyB;qBACnC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,6BAA6B,CAAC;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC7B,SAAS,EAAE,cAAc;gBACzB,OAAO,EAAE,YAAY;aACtB,CAAC;YACF,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AAlDY,2CAA2C;IADvD,MAAM,CAAC,OAAO,CAAC;qCAE0B,SAAS;GADtC,2CAA2C,CAkDvD;;AAED;;GAEG;AAEI,IAAM,kDAAkD,GAAxD,MAAM,kDAAkD;IAG7D,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,2CAA2C,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,kDAAkD;IAD9D,OAAO,CAA8C,2CAA2C,CAAC;GACrF,kDAAkD,CAU9D"}
|
|
@@ -8,7 +8,6 @@ export declare class UpdateIamRoleTagsResourceAction extends GenericResourceTagg
|
|
|
8
8
|
constructor(container: Container);
|
|
9
9
|
filter(diff: Diff): boolean;
|
|
10
10
|
handle(diff: Diff<IamRole, DiffValueTypeTagUpdate>): Promise<void>;
|
|
11
|
-
mock(diff: Diff<IamRole, DiffValueTypeTagUpdate>): Promise<void>;
|
|
12
11
|
}
|
|
13
12
|
/**
|
|
14
13
|
* @internal
|
|
@@ -28,13 +28,6 @@ let UpdateIamRoleTagsResourceAction = class UpdateIamRoleTagsResourceAction exte
|
|
|
28
28
|
// `us-east-1` is the recommended region for global resources.
|
|
29
29
|
await super.handle(diff, { ...properties, awsRegionId: 'us-east-1', resourceArn: response.Arn });
|
|
30
30
|
}
|
|
31
|
-
async mock(diff) {
|
|
32
|
-
// Get properties.
|
|
33
|
-
const role = diff.node;
|
|
34
|
-
const properties = role.properties;
|
|
35
|
-
// `us-east-1` is the recommended region for global resources.
|
|
36
|
-
await super.mock(diff, { ...properties, awsRegionId: 'us-east-1' });
|
|
37
|
-
}
|
|
38
31
|
};
|
|
39
32
|
UpdateIamRoleTagsResourceAction = __decorate([
|
|
40
33
|
Action(IamRole),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-iam-role-tags.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-tags.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,SAAS,EAGT,OAAO,GAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,4BAA4B;IAC/E,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAEQ,MAAM,CAAC,IAAU;QACxB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,IAA2C;QAC/D,kBAAkB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,8DAA8D;QAC9D,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAI,EAAE,CAAC,CAAC;IACpG,CAAC;
|
|
1
|
+
{"version":3,"file":"update-iam-role-tags.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-tags.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,SAAS,EAGT,OAAO,GAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;GAEG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,4BAA4B;IAC/E,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IAEQ,MAAM,CAAC,IAAU;QACxB,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,IAA2C;QAC/D,kBAAkB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,8DAA8D;QAC9D,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAI,EAAE,CAAC,CAAC;IACpG,CAAC;CACF,CAAA;AAlBY,+BAA+B;IAD3C,MAAM,CAAC,OAAO,CAAC;qCAES,SAAS;GADrB,+BAA+B,CAkB3C;;AAED;;GAEG;AAEI,IAAM,sCAAsC,GAA5C,MAAM,sCAAsC;IAGjD,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,sCAAsC;IADlD,OAAO,CAAkC,+BAA+B,CAAC;GAC7D,sCAAsC,CAUlD"}
|
package/dist/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Container, type Diff, type IResourceAction } from '@quadnix/octo';
|
|
2
2
|
import { type IIamRolePolicyDiff, IamRole } from '../iam-role.resource.js';
|
|
3
|
+
import type { IamRoleSchema } from '../index.schema.js';
|
|
3
4
|
/**
|
|
4
5
|
* @internal
|
|
5
6
|
*/
|
|
@@ -7,8 +8,8 @@ export declare class UpdateIamRoleWithAwsPolicyResourceAction implements IResour
|
|
|
7
8
|
private readonly container;
|
|
8
9
|
constructor(container: Container);
|
|
9
10
|
filter(diff: Diff): boolean;
|
|
10
|
-
handle(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<
|
|
11
|
-
mock(diff: Diff<IamRole>): Promise<
|
|
11
|
+
handle(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<IamRoleSchema['response']>;
|
|
12
|
+
mock(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<IamRoleSchema['response']>;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* @internal
|
|
@@ -26,9 +26,9 @@ let UpdateIamRoleWithAwsPolicyResourceAction = class UpdateIamRoleWithAwsPolicyR
|
|
|
26
26
|
async handle(diff) {
|
|
27
27
|
// Get properties.
|
|
28
28
|
const iamRole = diff.node;
|
|
29
|
-
const iamRolePolicyDiff = diff.value;
|
|
30
29
|
const properties = iamRole.properties;
|
|
31
30
|
const response = iamRole.response;
|
|
31
|
+
const iamRolePolicyDiff = diff.value;
|
|
32
32
|
// Get instances.
|
|
33
33
|
const iamClient = await this.container.get(IAMClient, {
|
|
34
34
|
args: [properties.awsAccountId],
|
|
@@ -40,36 +40,50 @@ let UpdateIamRoleWithAwsPolicyResourceAction = class UpdateIamRoleWithAwsPolicyR
|
|
|
40
40
|
PolicyArn: iamRolePolicyDiff.policy,
|
|
41
41
|
RoleName: response.RoleName,
|
|
42
42
|
}));
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const policies = response.policies ? { ...response.policies } : {};
|
|
44
|
+
policies[iamRolePolicyDiff.policyId] = [iamRolePolicyDiff.policy];
|
|
45
|
+
return {
|
|
46
|
+
...response,
|
|
47
|
+
policies,
|
|
48
|
+
};
|
|
45
49
|
}
|
|
46
50
|
else if (isDeletePolicyDiff(iamRolePolicyDiff)) {
|
|
47
51
|
await iamClient.send(new DetachRolePolicyCommand({
|
|
48
52
|
PolicyArn: iamRolePolicyDiff.policyId,
|
|
49
53
|
RoleName: response.RoleName,
|
|
50
54
|
}));
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
const policies = { ...response.policies };
|
|
56
|
+
delete policies[iamRolePolicyDiff.policyId];
|
|
57
|
+
return {
|
|
58
|
+
...response,
|
|
59
|
+
policies,
|
|
60
|
+
};
|
|
55
61
|
}
|
|
62
|
+
return response;
|
|
56
63
|
}
|
|
57
64
|
async mock(diff) {
|
|
58
65
|
// Get properties.
|
|
59
66
|
const iamRole = diff.node;
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
const response = iamRole.response;
|
|
68
|
+
const iamRolePolicyDiff = diff.value;
|
|
69
|
+
// Attach AWS policies to IAM Role.
|
|
70
|
+
if (isAddPolicyDiff(iamRolePolicyDiff)) {
|
|
71
|
+
const policies = response.policies ? { ...response.policies } : {};
|
|
72
|
+
policies[iamRolePolicyDiff.policyId] = [iamRolePolicyDiff.policy];
|
|
73
|
+
return {
|
|
74
|
+
...response,
|
|
75
|
+
policies,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
else if (isDeletePolicyDiff(iamRolePolicyDiff)) {
|
|
79
|
+
const policies = { ...response.policies };
|
|
80
|
+
delete policies[iamRolePolicyDiff.policyId];
|
|
81
|
+
return {
|
|
82
|
+
...response,
|
|
83
|
+
policies,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
return response;
|
|
73
87
|
}
|
|
74
88
|
};
|
|
75
89
|
UpdateIamRoleWithAwsPolicyResourceAction = __decorate([
|
package/dist/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-iam-role-with-aws-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAA2B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"update-iam-role-with-aws-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-with-aws-policy.resource.action.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ export declare class UpdateIamRoleWithS3StoragePolicyResourceAction implements I
|
|
|
8
8
|
private readonly container;
|
|
9
9
|
constructor(container: Container);
|
|
10
10
|
filter(diff: Diff): boolean;
|
|
11
|
-
handle(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<
|
|
12
|
-
mock(diff: Diff<IamRole, IIamRolePolicyDiff>, capture: Partial<IamRoleSchema['response']>): Promise<
|
|
11
|
+
handle(diff: Diff<IamRole, IIamRolePolicyDiff>): Promise<IamRoleSchema['response']>;
|
|
12
|
+
mock(diff: Diff<IamRole, IIamRolePolicyDiff>, capture: Partial<IamRoleSchema['response']>): Promise<IamRoleSchema['response']>;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* @internal
|
package/dist/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.js
CHANGED
|
@@ -27,9 +27,9 @@ let UpdateIamRoleWithS3StoragePolicyResourceAction = class UpdateIamRoleWithS3St
|
|
|
27
27
|
async handle(diff) {
|
|
28
28
|
// Get properties.
|
|
29
29
|
const iamRole = diff.node;
|
|
30
|
-
const iamRolePolicyDiff = diff.value;
|
|
31
30
|
const properties = iamRole.properties;
|
|
32
31
|
const response = iamRole.response;
|
|
32
|
+
const iamRolePolicyDiff = diff.value;
|
|
33
33
|
// Get instances.
|
|
34
34
|
const iamClient = await this.container.get(IAMClient, {
|
|
35
35
|
args: [properties.awsAccountId],
|
|
@@ -81,8 +81,12 @@ let UpdateIamRoleWithS3StoragePolicyResourceAction = class UpdateIamRoleWithS3St
|
|
|
81
81
|
PolicyArn: data.Policy.Arn,
|
|
82
82
|
RoleName: response.RoleName,
|
|
83
83
|
}));
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
const policies = response.policies ? { ...response.policies } : {};
|
|
85
|
+
policies[iamRolePolicyDiff.policyId] = [data.Policy.Arn];
|
|
86
|
+
return {
|
|
87
|
+
...response,
|
|
88
|
+
policies,
|
|
89
|
+
};
|
|
86
90
|
}
|
|
87
91
|
else if (isDeletePolicyDiff(iamRolePolicyDiff)) {
|
|
88
92
|
const policyARNs = response.policies[iamRolePolicyDiff.policyId] || [];
|
|
@@ -95,35 +99,38 @@ let UpdateIamRoleWithS3StoragePolicyResourceAction = class UpdateIamRoleWithS3St
|
|
|
95
99
|
PolicyArn: policyArn,
|
|
96
100
|
}));
|
|
97
101
|
}));
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
const policies = { ...response.policies };
|
|
103
|
+
delete policies[iamRolePolicyDiff.policyId];
|
|
104
|
+
return {
|
|
105
|
+
...response,
|
|
106
|
+
policies,
|
|
107
|
+
};
|
|
102
108
|
}
|
|
109
|
+
return response;
|
|
103
110
|
}
|
|
104
111
|
async mock(diff, capture) {
|
|
105
112
|
// Get properties.
|
|
106
113
|
const iamRole = diff.node;
|
|
114
|
+
const response = iamRole.response;
|
|
107
115
|
const iamRolePolicyDiff = diff.value;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
};
|
|
116
|
+
// Attach policies to IAM Role to read/write from bucket.
|
|
117
|
+
if (isAddPolicyDiff(iamRolePolicyDiff)) {
|
|
118
|
+
const policies = response.policies ? { ...response.policies } : {};
|
|
119
|
+
policies[iamRolePolicyDiff.policyId] = [capture.policies[iamRolePolicyDiff.policyId][0]];
|
|
120
|
+
return {
|
|
121
|
+
...response,
|
|
122
|
+
policies,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
else if (isDeletePolicyDiff(iamRolePolicyDiff)) {
|
|
126
|
+
const policies = { ...response.policies };
|
|
127
|
+
delete policies[iamRolePolicyDiff.policyId];
|
|
128
|
+
return {
|
|
129
|
+
...response,
|
|
130
|
+
policies,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return response;
|
|
127
134
|
}
|
|
128
135
|
};
|
|
129
136
|
UpdateIamRoleWithS3StoragePolicyResourceAction = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-iam-role-with-s3-storage-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAA2B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGhH;;GAEG;AAEI,IAAM,8CAA8C,GAApD,MAAM,8CAA8C;IACzD,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YACjC,IAAI,CAAC,IAAI,YAAY,OAAO;YAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;YAClC,IAAI,CAAC,KAAK,KAAK,0BAA0B,CAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAuC;QAClD,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,MAAM,
|
|
1
|
+
{"version":3,"file":"update-iam-role-with-s3-storage-policy.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/iam-role/actions/update-iam-role-with-s3-storage-policy.resource.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ANodeAction, type Diff, type IResourceAction } from '@quadnix/octo';
|
|
2
|
+
import { IamRole } from '../iam-role.resource.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare class ValidateIamRoleResourceAction extends ANodeAction implements IResourceAction<IamRole> {
|
|
7
|
+
constructor();
|
|
8
|
+
filter(diff: Diff): boolean;
|
|
9
|
+
handle(diff: Diff<IamRole>): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare class ValidateIamRoleResourceActionFactory {
|
|
15
|
+
private static instance;
|
|
16
|
+
static create(): Promise<ValidateIamRoleResourceAction>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { GetPolicyCommand, GetPolicyVersionCommand, GetRoleCommand, IAMClient, ListAttachedRolePoliciesCommand, } from '@aws-sdk/client-iam';
|
|
11
|
+
import { ANodeAction, Action, DiffAction, Factory, TransactionError, hasNodeName, } from '@quadnix/octo';
|
|
12
|
+
import { PolicyUtility } from '../../../utilities/policy/policy.utility.js';
|
|
13
|
+
import { IamRole } from '../iam-role.resource.js';
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
let ValidateIamRoleResourceAction = class ValidateIamRoleResourceAction extends ANodeAction {
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
filter(diff) {
|
|
22
|
+
return (diff.action === DiffAction.VALIDATE &&
|
|
23
|
+
diff.node instanceof IamRole &&
|
|
24
|
+
hasNodeName(diff.node, 'iam-role') &&
|
|
25
|
+
diff.field === 'resourceId');
|
|
26
|
+
}
|
|
27
|
+
async handle(diff) {
|
|
28
|
+
// Get properties.
|
|
29
|
+
const iamRole = diff.node;
|
|
30
|
+
const properties = iamRole.properties;
|
|
31
|
+
const response = iamRole.response;
|
|
32
|
+
// Get instances.
|
|
33
|
+
const iamClient = await this.container.get(IAMClient, {
|
|
34
|
+
args: [properties.awsAccountId],
|
|
35
|
+
metadata: { package: '@octo' },
|
|
36
|
+
});
|
|
37
|
+
// Check if IAM Role exists.
|
|
38
|
+
let getRoleResult;
|
|
39
|
+
try {
|
|
40
|
+
getRoleResult = await iamClient.send(new GetRoleCommand({
|
|
41
|
+
RoleName: response.RoleName,
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (error.name === 'NoSuchEntity') {
|
|
46
|
+
throw new TransactionError(`IAM Role with name ${response.RoleName} does not exist!`);
|
|
47
|
+
}
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
const actualRole = getRoleResult.Role;
|
|
51
|
+
// Validate role name.
|
|
52
|
+
if (actualRole.RoleName !== properties.rolename) {
|
|
53
|
+
throw new TransactionError(`IAM Role name mismatch. Expected: ${properties.rolename}, Actual: ${actualRole.RoleName || 'undefined'}`);
|
|
54
|
+
}
|
|
55
|
+
// Validate role ID.
|
|
56
|
+
if (actualRole.RoleId !== response.RoleId) {
|
|
57
|
+
throw new TransactionError(`IAM Role ID mismatch. Expected: ${response.RoleId}, Actual: ${actualRole.RoleId || 'undefined'}`);
|
|
58
|
+
}
|
|
59
|
+
// Validate role ARN.
|
|
60
|
+
if (actualRole.Arn !== response.Arn) {
|
|
61
|
+
throw new TransactionError(`IAM Role ARN mismatch. Expected: ${response.Arn}, Actual: ${actualRole.Arn || 'undefined'}`);
|
|
62
|
+
}
|
|
63
|
+
// Validate ARN format (account should match).
|
|
64
|
+
const expectedArnPrefix = `arn:aws:iam::${properties.awsAccountId}:role/`;
|
|
65
|
+
if (!response.Arn.startsWith(expectedArnPrefix)) {
|
|
66
|
+
throw new TransactionError(`IAM Role ARN account mismatch. Expected prefix: ${expectedArnPrefix}, Actual: ${response.Arn}`);
|
|
67
|
+
}
|
|
68
|
+
// Validate assume role policy (trust policy).
|
|
69
|
+
const assumeRolePolicyDocument = JSON.parse(decodeURIComponent(actualRole.AssumeRolePolicyDocument));
|
|
70
|
+
const assumeRolePolicies = properties.policies.filter((p) => p.policyType === 'assume-role-policy');
|
|
71
|
+
const expectedStatements = [];
|
|
72
|
+
for (const policy of assumeRolePolicies) {
|
|
73
|
+
if (policy.policy === 'ecs-tasks.amazonaws.com') {
|
|
74
|
+
expectedStatements.push({
|
|
75
|
+
Action: 'sts:AssumeRole',
|
|
76
|
+
Effect: 'Allow',
|
|
77
|
+
Principal: {
|
|
78
|
+
Service: 'ecs-tasks.amazonaws.com',
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (assumeRolePolicyDocument.Statement?.length !== expectedStatements.length) {
|
|
84
|
+
throw new TransactionError(`IAM Role assume role policy statement count mismatch. Expected: ${expectedStatements.length}, Actual: ${assumeRolePolicyDocument.Statement?.length || 0}`);
|
|
85
|
+
}
|
|
86
|
+
for (const expectedStatement of expectedStatements) {
|
|
87
|
+
const matchingStatement = assumeRolePolicyDocument.Statement?.find((statement) => statement.Action === expectedStatement.Action &&
|
|
88
|
+
statement.Effect === expectedStatement.Effect &&
|
|
89
|
+
JSON.stringify(statement.Principal) === JSON.stringify(expectedStatement.Principal));
|
|
90
|
+
if (!matchingStatement) {
|
|
91
|
+
throw new TransactionError(`IAM Role assume role policy missing statement for service: ${expectedStatement.Principal.Service}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Validate attached policies.
|
|
95
|
+
const listAttachedPoliciesResult = await iamClient.send(new ListAttachedRolePoliciesCommand({
|
|
96
|
+
RoleName: response.RoleName,
|
|
97
|
+
}));
|
|
98
|
+
const attachedPolicies = listAttachedPoliciesResult.AttachedPolicies || [];
|
|
99
|
+
const expectedPolicyArns = new Set();
|
|
100
|
+
// Collect all expected policy ARNs from response.
|
|
101
|
+
if (response.policies) {
|
|
102
|
+
for (const policyArns of Object.values(response.policies)) {
|
|
103
|
+
for (const arn of policyArns) {
|
|
104
|
+
expectedPolicyArns.add(arn);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Validate policy count matches.
|
|
109
|
+
if (attachedPolicies.length !== expectedPolicyArns.size) {
|
|
110
|
+
throw new TransactionError(`IAM Role attached policy count mismatch. Expected: ${expectedPolicyArns.size}, Actual: ${attachedPolicies.length}`);
|
|
111
|
+
}
|
|
112
|
+
// Validate each expected policy is attached.
|
|
113
|
+
for (const expectedArn of expectedPolicyArns) {
|
|
114
|
+
const attachedPolicy = attachedPolicies.find((p) => p.PolicyArn === expectedArn);
|
|
115
|
+
if (!attachedPolicy) {
|
|
116
|
+
throw new TransactionError(`IAM Role missing attached policy: ${expectedArn}. Current policies: ${JSON.stringify(attachedPolicies.map((p) => p.PolicyArn))}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Validate S3 storage access policies in detail.
|
|
120
|
+
const s3StoragePolicies = properties.policies.filter((p) => p.policyType === 's3-storage-access-policy');
|
|
121
|
+
for (const s3Policy of s3StoragePolicies) {
|
|
122
|
+
const policyArns = response.policies?.[s3Policy.policyId];
|
|
123
|
+
if (!policyArns || policyArns.length === 0) {
|
|
124
|
+
throw new TransactionError(`IAM Role response missing policy ARN for S3 storage policy: ${s3Policy.policyId}`);
|
|
125
|
+
}
|
|
126
|
+
const policyArn = policyArns[0];
|
|
127
|
+
// Get policy version.
|
|
128
|
+
const getPolicyResult = await iamClient.send(new GetPolicyCommand({
|
|
129
|
+
PolicyArn: policyArn,
|
|
130
|
+
}));
|
|
131
|
+
const policyVersion = getPolicyResult.Policy.DefaultVersionId;
|
|
132
|
+
// Get policy document.
|
|
133
|
+
const getPolicyVersionResult = await iamClient.send(new GetPolicyVersionCommand({
|
|
134
|
+
PolicyArn: policyArn,
|
|
135
|
+
VersionId: policyVersion,
|
|
136
|
+
}));
|
|
137
|
+
const policyDocument = JSON.parse(decodeURIComponent(getPolicyVersionResult.PolicyVersion.Document));
|
|
138
|
+
const policy = s3Policy.policy;
|
|
139
|
+
// Validate policy statements.
|
|
140
|
+
const expectedS3Statements = [];
|
|
141
|
+
if (policy.allowRead) {
|
|
142
|
+
expectedS3Statements.push({
|
|
143
|
+
Action: [
|
|
144
|
+
's3:GetObject',
|
|
145
|
+
's3:GetObjectAttributes',
|
|
146
|
+
's3:GetObjectTagging',
|
|
147
|
+
's3:GetObjectVersionAcl',
|
|
148
|
+
's3:GetObjectVersionAttributes',
|
|
149
|
+
's3:GetObjectVersionTagging',
|
|
150
|
+
's3:ListBucket',
|
|
151
|
+
],
|
|
152
|
+
Effect: 'Allow',
|
|
153
|
+
Resource: policy.remoteDirectoryPath === '' || policy.remoteDirectoryPath === '/'
|
|
154
|
+
? [`arn:aws:s3:::${policy.bucketName}`, `arn:aws:s3:::${policy.bucketName}/*`]
|
|
155
|
+
: [
|
|
156
|
+
`arn:aws:s3:::${policy.bucketName}/${policy.remoteDirectoryPath}`,
|
|
157
|
+
`arn:aws:s3:::${policy.bucketName}/${policy.remoteDirectoryPath}/*`,
|
|
158
|
+
],
|
|
159
|
+
Sid: PolicyUtility.getSafeSid(`Allow read from bucket ${policy.bucketName}`),
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if (policy.allowWrite) {
|
|
163
|
+
expectedS3Statements.push({
|
|
164
|
+
Action: ['s3:PutObject', 's3:DeleteObjectVersion', 's3:DeleteObject'],
|
|
165
|
+
Effect: 'Allow',
|
|
166
|
+
Resource: policy.remoteDirectoryPath === '' || policy.remoteDirectoryPath === '/'
|
|
167
|
+
? [`arn:aws:s3:::${policy.bucketName}`, `arn:aws:s3:::${policy.bucketName}/*`]
|
|
168
|
+
: [`arn:aws:s3:::${policy.bucketName}/${policy.remoteDirectoryPath}/*`],
|
|
169
|
+
Sid: PolicyUtility.getSafeSid(`Allow write from bucket ${policy.bucketName}`),
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
if (policyDocument.Statement?.length !== expectedS3Statements.length) {
|
|
173
|
+
throw new TransactionError(`S3 storage policy ${s3Policy.policyId} statement count mismatch. Expected: ${expectedS3Statements.length}, Actual: ${policyDocument.Statement?.length || 0}`);
|
|
174
|
+
}
|
|
175
|
+
for (const expectedStatement of expectedS3Statements) {
|
|
176
|
+
const matchingStatement = policyDocument.Statement?.find((statement) => statement.Sid === expectedStatement.Sid &&
|
|
177
|
+
statement.Effect === expectedStatement.Effect &&
|
|
178
|
+
JSON.stringify(statement.Action) === JSON.stringify(expectedStatement.Action) &&
|
|
179
|
+
JSON.stringify(statement.Resource) === JSON.stringify(expectedStatement.Resource));
|
|
180
|
+
if (!matchingStatement) {
|
|
181
|
+
throw new TransactionError(`S3 storage policy ${s3Policy.policyId} missing statement with Sid: ${expectedStatement.Sid}`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
ValidateIamRoleResourceAction = __decorate([
|
|
188
|
+
Action(IamRole),
|
|
189
|
+
__metadata("design:paramtypes", [])
|
|
190
|
+
], ValidateIamRoleResourceAction);
|
|
191
|
+
export { ValidateIamRoleResourceAction };
|
|
192
|
+
/**
|
|
193
|
+
* @internal
|
|
194
|
+
*/
|
|
195
|
+
let ValidateIamRoleResourceActionFactory = class ValidateIamRoleResourceActionFactory {
|
|
196
|
+
static async create() {
|
|
197
|
+
if (!this.instance) {
|
|
198
|
+
this.instance = new ValidateIamRoleResourceAction();
|
|
199
|
+
}
|
|
200
|
+
return this.instance;
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
ValidateIamRoleResourceActionFactory = __decorate([
|
|
204
|
+
Factory(ValidateIamRoleResourceAction)
|
|
205
|
+
], ValidateIamRoleResourceActionFactory);
|
|
206
|
+
export { ValidateIamRoleResourceActionFactory };
|
|
207
|
+
//# sourceMappingURL=validate-iam-role.resource.action.js.map
|