@quadnix/octo-aws-cdk 0.0.13 → 0.0.14
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
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ANodeAction, type Diff, type IResourceAction } from '@quadnix/octo';
|
|
2
|
+
import { Subnet } from '../subnet.resource.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare class ValidateSubnetResourceAction extends ANodeAction implements IResourceAction<Subnet> {
|
|
7
|
+
constructor();
|
|
8
|
+
filter(diff: Diff): boolean;
|
|
9
|
+
handle(diff: Diff<Subnet>): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare class ValidateSubnetResourceActionFactory {
|
|
15
|
+
private static instance;
|
|
16
|
+
static create(): Promise<ValidateSubnetResourceAction>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
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 { DescribeSubnetsCommand, EC2Client } from '@aws-sdk/client-ec2';
|
|
11
|
+
import { ANodeAction, Action, DiffAction, Factory, TransactionError, hasNodeName, } from '@quadnix/octo';
|
|
12
|
+
import { EC2ClientFactory } from '../../../factories/aws-client.factory.js';
|
|
13
|
+
import { Subnet } from '../subnet.resource.js';
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
let ValidateSubnetResourceAction = class ValidateSubnetResourceAction extends ANodeAction {
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
filter(diff) {
|
|
22
|
+
return (diff.action === DiffAction.VALIDATE &&
|
|
23
|
+
diff.node instanceof Subnet &&
|
|
24
|
+
hasNodeName(diff.node, 'subnet') &&
|
|
25
|
+
diff.field === 'resourceId');
|
|
26
|
+
}
|
|
27
|
+
async handle(diff) {
|
|
28
|
+
// Get properties.
|
|
29
|
+
const subnet = diff.node;
|
|
30
|
+
const properties = subnet.properties;
|
|
31
|
+
const response = subnet.response;
|
|
32
|
+
const subnetVpc = subnet.parents[0];
|
|
33
|
+
// Get instances.
|
|
34
|
+
const ec2Client = await this.container.get(EC2Client, {
|
|
35
|
+
args: [properties.awsAccountId, properties.awsRegionId],
|
|
36
|
+
metadata: { package: '@octo' },
|
|
37
|
+
});
|
|
38
|
+
// Check if Subnet exists.
|
|
39
|
+
const describeSubnetsResult = await ec2Client.send(new DescribeSubnetsCommand({
|
|
40
|
+
SubnetIds: [response.SubnetId],
|
|
41
|
+
}));
|
|
42
|
+
if (!describeSubnetsResult.Subnets || describeSubnetsResult.Subnets.length === 0) {
|
|
43
|
+
throw new TransactionError(`Subnet with ID ${response.SubnetId} does not exist!`);
|
|
44
|
+
}
|
|
45
|
+
// Validate Subnet CIDR block.
|
|
46
|
+
const actualSubnet = describeSubnetsResult.Subnets[0];
|
|
47
|
+
if (actualSubnet.CidrBlock !== properties.CidrBlock) {
|
|
48
|
+
throw new TransactionError(`Subnet CIDR block mismatch. Expected: ${properties.CidrBlock}, Actual: ${actualSubnet.CidrBlock || 'undefined'}`);
|
|
49
|
+
}
|
|
50
|
+
// Validate Subnet availability zone.
|
|
51
|
+
if (actualSubnet.AvailabilityZone !== properties.AvailabilityZone) {
|
|
52
|
+
throw new TransactionError(`Subnet availability zone mismatch. Expected: ${properties.AvailabilityZone}, Actual: ${actualSubnet.AvailabilityZone || 'undefined'}`);
|
|
53
|
+
}
|
|
54
|
+
// Validate Subnet VPC (parent).
|
|
55
|
+
const expectedVpcId = subnetVpc.getSchemaInstanceInResourceAction().response.VpcId;
|
|
56
|
+
if (actualSubnet.VpcId !== expectedVpcId) {
|
|
57
|
+
throw new TransactionError(`Subnet VPC mismatch. Expected: ${expectedVpcId}, Actual: ${actualSubnet.VpcId || 'undefined'}`);
|
|
58
|
+
}
|
|
59
|
+
// Validate Subnet owner (AWS account).
|
|
60
|
+
if (actualSubnet.OwnerId !== properties.awsAccountId) {
|
|
61
|
+
throw new TransactionError(`Subnet account ID mismatch. Expected: ${properties.awsAccountId}, Actual: ${actualSubnet.OwnerId || 'undefined'}`);
|
|
62
|
+
}
|
|
63
|
+
// Validate Subnet ARN format (region should match).
|
|
64
|
+
const expectedArnPrefix = `arn:aws:ec2:${properties.awsRegionId}:${properties.awsAccountId}:subnet/`;
|
|
65
|
+
if (!response.SubnetArn.startsWith(expectedArnPrefix)) {
|
|
66
|
+
throw new TransactionError(`Subnet ARN region/account mismatch. Expected prefix: ${expectedArnPrefix}, Actual: ${response.SubnetArn}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
ValidateSubnetResourceAction = __decorate([
|
|
71
|
+
Action(Subnet),
|
|
72
|
+
__metadata("design:paramtypes", [])
|
|
73
|
+
], ValidateSubnetResourceAction);
|
|
74
|
+
export { ValidateSubnetResourceAction };
|
|
75
|
+
/**
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
let ValidateSubnetResourceActionFactory = class ValidateSubnetResourceActionFactory {
|
|
79
|
+
static async create() {
|
|
80
|
+
if (!this.instance) {
|
|
81
|
+
this.instance = new ValidateSubnetResourceAction();
|
|
82
|
+
}
|
|
83
|
+
return this.instance;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
ValidateSubnetResourceActionFactory = __decorate([
|
|
87
|
+
Factory(ValidateSubnetResourceAction)
|
|
88
|
+
], ValidateSubnetResourceActionFactory);
|
|
89
|
+
export { ValidateSubnetResourceActionFactory };
|
|
90
|
+
//# sourceMappingURL=validate-subnet.resource.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-subnet.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/subnet/actions/validate-subnet.resource.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import './actions/add-subnet.resource.action.js';
|
|
2
2
|
import './actions/delete-subnet.resource.action.js';
|
|
3
3
|
import './actions/update-subnet-tags.resource.action.js';
|
|
4
|
+
import './actions/validate-subnet.resource.action.js';
|
|
4
5
|
export { Subnet } from './subnet.resource.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/subnet/index.ts"],"names":[],"mappings":"AAAA,OAAO,yCAAyC,CAAC;AACjD,OAAO,4CAA4C,CAAC;AACpD,OAAO,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/subnet/index.ts"],"names":[],"mappings":"AAAA,OAAO,yCAAyC,CAAC;AACjD,OAAO,4CAA4C,CAAC;AACpD,OAAO,iDAAiD,CAAC;AACzD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -8,8 +8,8 @@ export declare class AddVpcResourceAction implements IResourceAction<Vpc> {
|
|
|
8
8
|
private readonly container;
|
|
9
9
|
constructor(container: Container);
|
|
10
10
|
filter(diff: Diff): boolean;
|
|
11
|
-
handle(diff: Diff<Vpc>): Promise<
|
|
12
|
-
mock(diff: Diff<Vpc>, capture: Partial<VpcSchema['response']>): Promise<
|
|
11
|
+
handle(diff: Diff<Vpc>): Promise<VpcSchema['response']>;
|
|
12
|
+
mock(diff: Diff<Vpc>, capture: Partial<VpcSchema['response']>): Promise<VpcSchema['response']>;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* @internal
|
|
@@ -28,7 +28,6 @@ let AddVpcResourceAction = class AddVpcResourceAction {
|
|
|
28
28
|
// Get properties.
|
|
29
29
|
const vpc = diff.node;
|
|
30
30
|
const properties = vpc.properties;
|
|
31
|
-
const response = vpc.response;
|
|
32
31
|
const tags = vpc.tags;
|
|
33
32
|
// Get instances.
|
|
34
33
|
const ec2Client = await this.container.get(EC2Client, {
|
|
@@ -55,25 +54,18 @@ let AddVpcResourceAction = class AddVpcResourceAction {
|
|
|
55
54
|
},
|
|
56
55
|
VpcId: vpcOutput.Vpc.VpcId,
|
|
57
56
|
}));
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
return {
|
|
58
|
+
VpcArn: `arn:aws:ec2:${properties.awsRegionId}:${properties.awsAccountId}:vpc/${vpcOutput.Vpc.VpcId}`,
|
|
59
|
+
VpcId: vpcOutput.Vpc.VpcId,
|
|
60
|
+
};
|
|
61
61
|
}
|
|
62
62
|
async mock(diff, capture) {
|
|
63
63
|
// Get properties.
|
|
64
64
|
const vpc = diff.node;
|
|
65
65
|
const properties = vpc.properties;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
});
|
|
70
|
-
ec2Client.send = async (instance) => {
|
|
71
|
-
if (instance instanceof CreateVpcCommand) {
|
|
72
|
-
return { Vpc: { VpcId: capture.VpcId } };
|
|
73
|
-
}
|
|
74
|
-
else if (instance instanceof ModifyVpcAttributeCommand) {
|
|
75
|
-
return {};
|
|
76
|
-
}
|
|
66
|
+
return {
|
|
67
|
+
VpcArn: `arn:aws:ec2:${properties.awsRegionId}:${properties.awsAccountId}:vpc/${capture.VpcId}`,
|
|
68
|
+
VpcId: capture.VpcId,
|
|
77
69
|
};
|
|
78
70
|
}
|
|
79
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-vpc.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/vpc/actions/add-vpc.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;GAEG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,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,GAAG;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC1B,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,
|
|
1
|
+
{"version":3,"file":"add-vpc.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/vpc/actions/add-vpc.resource.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,20 +39,6 @@ let DeleteVpcResourceAction = class DeleteVpcResourceAction {
|
|
|
39
39
|
VpcId: response.VpcId,
|
|
40
40
|
}));
|
|
41
41
|
}
|
|
42
|
-
async mock(diff) {
|
|
43
|
-
// Get properties.
|
|
44
|
-
const vpc = diff.node;
|
|
45
|
-
const properties = vpc.properties;
|
|
46
|
-
const ec2Client = await this.container.get(EC2Client, {
|
|
47
|
-
args: [properties.awsAccountId, properties.awsRegionId],
|
|
48
|
-
metadata: { package: '@octo' },
|
|
49
|
-
});
|
|
50
|
-
ec2Client.send = async (instance) => {
|
|
51
|
-
if (instance instanceof DeleteVpcCommand) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
42
|
};
|
|
57
43
|
DeleteVpcResourceAction = __decorate([
|
|
58
44
|
Action(Vpc),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-vpc.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/vpc/actions/delete-vpc.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;GAEG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,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,GAAG;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC1B,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,cAAc;QACd,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,gBAAgB,CAAC;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CACH,CAAC;IACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-vpc.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/vpc/actions/delete-vpc.resource.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,UAAU,EAAE,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;GAEG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,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,GAAG;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,CAAC,KAAK,KAAK,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC1B,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAqC,SAAS,EAAE;YACxF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,cAAc;QACd,MAAM,SAAS,CAAC,IAAI,CAClB,IAAI,gBAAgB,CAAC;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,uBAAuB;IADnC,MAAM,CAAC,GAAG,CAAC;qCAE8B,SAAS;GADtC,uBAAuB,CA+BnC;;AAED;;GAEG;AAEI,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGzC,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,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF,CAAA;AAVY,8BAA8B;IAD1C,OAAO,CAA0B,uBAAuB,CAAC;GAC7C,8BAA8B,CAU1C"}
|
|
@@ -8,7 +8,6 @@ export declare class UpdateVpcTagsResourceAction extends GenericResourceTaggingA
|
|
|
8
8
|
constructor(container: Container);
|
|
9
9
|
filter(diff: Diff): boolean;
|
|
10
10
|
handle(diff: Diff<Vpc, DiffValueTypeTagUpdate>): Promise<void>;
|
|
11
|
-
mock(diff: Diff<Vpc, DiffValueTypeTagUpdate>): Promise<void>;
|
|
12
11
|
}
|
|
13
12
|
/**
|
|
14
13
|
* @internal
|
|
@@ -27,12 +27,6 @@ let UpdateVpcTagsResourceAction = class UpdateVpcTagsResourceAction extends Gene
|
|
|
27
27
|
const response = vpc.response;
|
|
28
28
|
await super.handle(diff, { ...properties, resourceArn: response.VpcArn });
|
|
29
29
|
}
|
|
30
|
-
async mock(diff) {
|
|
31
|
-
// Get properties.
|
|
32
|
-
const vpc = diff.node;
|
|
33
|
-
const properties = vpc.properties;
|
|
34
|
-
await super.mock(diff, properties);
|
|
35
|
-
}
|
|
36
30
|
};
|
|
37
31
|
UpdateVpcTagsResourceAction = __decorate([
|
|
38
32
|
Action(Vpc),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-vpc-tags.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/vpc/actions/update-vpc-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,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;GAEG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,4BAA4B;IAC3E,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,IAAuC;QAC3D,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;
|
|
1
|
+
{"version":3,"file":"update-vpc-tags.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/vpc/actions/update-vpc-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,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;GAEG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,4BAA4B;IAC3E,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,IAAuC;QAC3D,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;CACF,CAAA;AAjBY,2BAA2B;IADvC,MAAM,CAAC,GAAG,CAAC;qCAEa,SAAS;GADrB,2BAA2B,CAiBvC;;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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ANodeAction, type Diff, type IResourceAction } from '@quadnix/octo';
|
|
2
|
+
import { Vpc } from '../vpc.resource.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare class ValidateVpcResourceAction extends ANodeAction implements IResourceAction<Vpc> {
|
|
7
|
+
constructor();
|
|
8
|
+
filter(diff: Diff): boolean;
|
|
9
|
+
handle(diff: Diff<Vpc>): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare class ValidateVpcResourceActionFactory {
|
|
15
|
+
private static instance;
|
|
16
|
+
static create(): Promise<ValidateVpcResourceAction>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
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 { DescribeVpcAttributeCommand, DescribeVpcsCommand, EC2Client, } from '@aws-sdk/client-ec2';
|
|
11
|
+
import { ANodeAction, Action, DiffAction, Factory, TransactionError, hasNodeName, } from '@quadnix/octo';
|
|
12
|
+
import { EC2ClientFactory } from '../../../factories/aws-client.factory.js';
|
|
13
|
+
import { Vpc } from '../vpc.resource.js';
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
let ValidateVpcResourceAction = class ValidateVpcResourceAction extends ANodeAction {
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
filter(diff) {
|
|
22
|
+
return (diff.action === DiffAction.VALIDATE &&
|
|
23
|
+
diff.node instanceof Vpc &&
|
|
24
|
+
hasNodeName(diff.node, 'vpc') &&
|
|
25
|
+
diff.field === 'resourceId');
|
|
26
|
+
}
|
|
27
|
+
async handle(diff) {
|
|
28
|
+
// Get properties.
|
|
29
|
+
const vpc = diff.node;
|
|
30
|
+
const properties = vpc.properties;
|
|
31
|
+
const response = vpc.response;
|
|
32
|
+
// Get instances.
|
|
33
|
+
const ec2Client = await this.container.get(EC2Client, {
|
|
34
|
+
args: [properties.awsAccountId, properties.awsRegionId],
|
|
35
|
+
metadata: { package: '@octo' },
|
|
36
|
+
});
|
|
37
|
+
// Check if VPC exists.
|
|
38
|
+
const describeVpcsResult = await ec2Client.send(new DescribeVpcsCommand({
|
|
39
|
+
VpcIds: [response.VpcId],
|
|
40
|
+
}));
|
|
41
|
+
if (!describeVpcsResult.Vpcs || describeVpcsResult.Vpcs.length === 0) {
|
|
42
|
+
throw new TransactionError(`VPC with ID ${response.VpcId} does not exist!`);
|
|
43
|
+
}
|
|
44
|
+
// Validate VPC CIDR block.
|
|
45
|
+
const actualVpc = describeVpcsResult.Vpcs[0];
|
|
46
|
+
if (actualVpc.CidrBlock !== properties.CidrBlock) {
|
|
47
|
+
throw new TransactionError(`VPC CIDR block mismatch. Expected: ${properties.CidrBlock}, Actual: ${actualVpc.CidrBlock || 'undefined'}`);
|
|
48
|
+
}
|
|
49
|
+
// Validate VPC instance tenancy.
|
|
50
|
+
if (actualVpc.InstanceTenancy !== properties.InstanceTenancy) {
|
|
51
|
+
throw new TransactionError(`VPC instance tenancy mismatch. Expected: ${properties.InstanceTenancy}, Actual: ${actualVpc.InstanceTenancy || 'undefined'}`);
|
|
52
|
+
}
|
|
53
|
+
// Validate VPC owner (AWS account).
|
|
54
|
+
if (actualVpc.OwnerId !== properties.awsAccountId) {
|
|
55
|
+
throw new TransactionError(`VPC account ID mismatch. Expected: ${properties.awsAccountId}, Actual: ${actualVpc.OwnerId || 'undefined'}`);
|
|
56
|
+
}
|
|
57
|
+
// Validate DNS hostname support.
|
|
58
|
+
const dnsHostnamesResult = await ec2Client.send(new DescribeVpcAttributeCommand({
|
|
59
|
+
Attribute: 'enableDnsHostnames',
|
|
60
|
+
VpcId: response.VpcId,
|
|
61
|
+
}));
|
|
62
|
+
if (dnsHostnamesResult.EnableDnsHostnames?.Value !== true) {
|
|
63
|
+
throw new TransactionError(`VPC DNS hostnames not enabled. Expected: true, Actual: ${dnsHostnamesResult.EnableDnsHostnames?.Value || 'undefined'}`);
|
|
64
|
+
}
|
|
65
|
+
// Validate DNS support.
|
|
66
|
+
const dnsSupportResult = await ec2Client.send(new DescribeVpcAttributeCommand({
|
|
67
|
+
Attribute: 'enableDnsSupport',
|
|
68
|
+
VpcId: response.VpcId,
|
|
69
|
+
}));
|
|
70
|
+
if (dnsSupportResult.EnableDnsSupport?.Value !== true) {
|
|
71
|
+
throw new TransactionError(`VPC DNS support not enabled. Expected: true, Actual: ${dnsSupportResult.EnableDnsSupport?.Value || 'undefined'}`);
|
|
72
|
+
}
|
|
73
|
+
// Validate VPC ARN format (region should match).
|
|
74
|
+
const expectedArnPrefix = `arn:aws:ec2:${properties.awsRegionId}:${properties.awsAccountId}:vpc/`;
|
|
75
|
+
if (!response.VpcArn.startsWith(expectedArnPrefix)) {
|
|
76
|
+
throw new TransactionError(`VPC ARN region/account mismatch. Expected prefix: ${expectedArnPrefix}, Actual: ${response.VpcArn}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
ValidateVpcResourceAction = __decorate([
|
|
81
|
+
Action(Vpc),
|
|
82
|
+
__metadata("design:paramtypes", [])
|
|
83
|
+
], ValidateVpcResourceAction);
|
|
84
|
+
export { ValidateVpcResourceAction };
|
|
85
|
+
/**
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
let ValidateVpcResourceActionFactory = class ValidateVpcResourceActionFactory {
|
|
89
|
+
static async create() {
|
|
90
|
+
if (!this.instance) {
|
|
91
|
+
this.instance = new ValidateVpcResourceAction();
|
|
92
|
+
}
|
|
93
|
+
return this.instance;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
ValidateVpcResourceActionFactory = __decorate([
|
|
97
|
+
Factory(ValidateVpcResourceAction)
|
|
98
|
+
], ValidateVpcResourceActionFactory);
|
|
99
|
+
export { ValidateVpcResourceActionFactory };
|
|
100
|
+
//# sourceMappingURL=validate-vpc.resource.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-vpc.resource.action.js","sourceRoot":"","sources":["../../../../src/resources/vpc/actions/validate-vpc.resource.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import './actions/add-vpc.resource.action.js';
|
|
2
2
|
import './actions/delete-vpc.resource.action.js';
|
|
3
3
|
import './actions/update-vpc-tags.resource.action.js';
|
|
4
|
+
import './actions/validate-vpc.resource.action.js';
|
|
4
5
|
export { Vpc } from './vpc.resource.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/vpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yCAAyC,CAAC;AACjD,OAAO,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/vpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yCAAyC,CAAC;AACjD,OAAO,8CAA8C,CAAC;AACtD,OAAO,2CAA2C,CAAC;AAEnD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -10,9 +10,5 @@ export declare class GenericResourceTaggingAction {
|
|
|
10
10
|
awsAccountId: string;
|
|
11
11
|
awsRegionId: string;
|
|
12
12
|
resourceArn: string;
|
|
13
|
-
}): Promise<
|
|
14
|
-
mock(_diff: Diff, properties: {
|
|
15
|
-
awsAccountId: string;
|
|
16
|
-
awsRegionId: string;
|
|
17
|
-
}): Promise<void>;
|
|
13
|
+
}): Promise<any>;
|
|
18
14
|
}
|
|
@@ -30,20 +30,5 @@ export class GenericResourceTaggingAction {
|
|
|
30
30
|
}));
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
async mock(_diff, properties) {
|
|
34
|
-
// Get instances.
|
|
35
|
-
const resourceGroupsTaggingApiClient = await this.container.get(ResourceGroupsTaggingAPIClient, {
|
|
36
|
-
args: [properties.awsAccountId, properties.awsRegionId],
|
|
37
|
-
metadata: { package: '@octo' },
|
|
38
|
-
});
|
|
39
|
-
resourceGroupsTaggingApiClient.send = async (instance) => {
|
|
40
|
-
if (instance instanceof TagResourcesCommand) {
|
|
41
|
-
return {};
|
|
42
|
-
}
|
|
43
|
-
else if (instance instanceof UntagResourcesCommand) {
|
|
44
|
-
return {};
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
33
|
}
|
|
49
34
|
//# sourceMappingURL=generic-resource-tagging.action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-resource-tagging.action.js","sourceRoot":"","sources":["../../../src/utilities/actions/generic-resource-tagging.action.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAA6B,UAAU,EAA+B,MAAM,eAAe,CAAC;AACnG,OAAO,EAA8C,MAAM,uCAAuC,CAAC;AAEnG;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAuC,EACvC,UAA8E;QAE9E,iBAAiB;QACjB,MAAM,8BAA8B,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAG7D,8BAA8B,EAAE;YAChC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,8BAA8B,CAAC,IAAI,CACvC,IAAI,qBAAqB,CAAC;gBACxB,eAAe,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;aAC3B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxF,MAAM,8BAA8B,CAAC,IAAI,CACvC,IAAI,mBAAmB,CAAC;gBACtB,eAAe,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;gBACzC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;aAClD,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;
|
|
1
|
+
{"version":3,"file":"generic-resource-tagging.action.js","sourceRoot":"","sources":["../../../src/utilities/actions/generic-resource-tagging.action.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAA6B,UAAU,EAA+B,MAAM,eAAe,CAAC;AACnG,OAAO,EAA8C,MAAM,uCAAuC,CAAC;AAEnG;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAuC,EACvC,UAA8E;QAE9E,iBAAiB;QACjB,MAAM,8BAA8B,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAG7D,8BAA8B,EAAE;YAChC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,8BAA8B,CAAC,IAAI,CACvC,IAAI,qBAAqB,CAAC;gBACxB,eAAe,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;aAC3B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxF,MAAM,8BAA8B,CAAC,IAAI,CACvC,IAAI,mBAAmB,CAAC;gBACtB,eAAe,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;gBACzC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;aAClD,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
+
export type S3BucketPolicy = {
|
|
2
|
+
Statement: {
|
|
3
|
+
Action: string | string[];
|
|
4
|
+
Effect: string;
|
|
5
|
+
Principal: string;
|
|
6
|
+
Resource: string | string[];
|
|
7
|
+
Sid: string;
|
|
8
|
+
}[];
|
|
9
|
+
Version: string;
|
|
10
|
+
};
|
|
1
11
|
/**
|
|
2
12
|
* @internal
|
|
3
13
|
*/
|
|
4
14
|
export declare class PolicyUtility {
|
|
5
15
|
static getSafeSid(subject: string): string;
|
|
16
|
+
static isS3BucketPolicyEqual(policy1: S3BucketPolicy, policy2: S3BucketPolicy): boolean;
|
|
6
17
|
}
|
|
@@ -5,5 +5,51 @@ export class PolicyUtility {
|
|
|
5
5
|
static getSafeSid(subject) {
|
|
6
6
|
return subject.replace(new RegExp(/[^0-9A-Za-z]/, 'ig'), '');
|
|
7
7
|
}
|
|
8
|
+
static isS3BucketPolicyEqual(policy1, policy2) {
|
|
9
|
+
if (policy1.Version !== policy2.Version) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
// Check if both policies have the same number of statements.
|
|
13
|
+
if (policy1.Statement.length !== policy2.Statement.length) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
// Helper function to normalize and sort arrays for comparison.
|
|
17
|
+
const normalizeArray = (value) => {
|
|
18
|
+
return Array.isArray(value) ? [...value].sort() : [value];
|
|
19
|
+
};
|
|
20
|
+
// Helper function to compare arrays (order-independent).
|
|
21
|
+
const arraysEqual = (arr1, arr2) => {
|
|
22
|
+
if (arr1.length !== arr2.length) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const sorted1 = [...arr1].sort();
|
|
26
|
+
const sorted2 = [...arr2].sort();
|
|
27
|
+
return sorted1.every((val, idx) => val === sorted2[idx]);
|
|
28
|
+
};
|
|
29
|
+
return policy1.Statement.every((p1s) => {
|
|
30
|
+
const p2s = policy2.Statement.find((p) => p.Sid === p1s.Sid);
|
|
31
|
+
if (!p2s) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
// Compare Effect.
|
|
35
|
+
if (p1s.Effect !== p2s.Effect) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
// Compare Principal.
|
|
39
|
+
if (p1s.Principal !== p2s.Principal) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
// Compare Action (order-independent).
|
|
43
|
+
const p1Actions = normalizeArray(p1s.Action);
|
|
44
|
+
const p2Actions = normalizeArray(p2s.Action);
|
|
45
|
+
if (!arraysEqual(p1Actions, p2Actions)) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
// Compare Resource (order-independent).
|
|
49
|
+
const p1Resources = normalizeArray(p1s.Resource);
|
|
50
|
+
const p2Resources = normalizeArray(p2s.Resource);
|
|
51
|
+
return arraysEqual(p1Resources, p2Resources);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
8
54
|
}
|
|
9
55
|
//# sourceMappingURL=policy.utility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.utility.js","sourceRoot":"","sources":["../../../src/utilities/policy/policy.utility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"policy.utility.js","sourceRoot":"","sources":["../../../src/utilities/policy/policy.utility.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,UAAU,CAAC,OAAe;QAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,OAAuB,EAAE,OAAuB;QAC3E,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+DAA+D;QAC/D,MAAM,cAAc,GAAG,CAAI,KAAc,EAAO,EAAE;YAChD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,yDAAyD;QACzD,MAAM,WAAW,GAAG,CAAI,IAAS,EAAE,IAAS,EAAW,EAAE;YACvD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEF,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,KAAK,CAAC;YACf,CAAC;YAED,kBAAkB;YAClB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,qBAAqB;YACrB,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,sCAAsC;YACtC,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,wCAAwC;YACxC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"@aws-sdk/client-sts": "~3.743.0",
|
|
15
15
|
"@aws-sdk/credential-providers": "~3.743.0",
|
|
16
16
|
"@aws-sdk/lib-storage": "~3.743.0",
|
|
17
|
-
"@quadnix/octo": "~0.0.
|
|
17
|
+
"@quadnix/octo": "~0.0.25",
|
|
18
18
|
"fast-cidr-tools": "~0.3.2",
|
|
19
19
|
"mime": "~4.0.6",
|
|
20
20
|
"p-limit": "~6.2.0"
|
|
@@ -164,5 +164,5 @@
|
|
|
164
164
|
},
|
|
165
165
|
"type": "module",
|
|
166
166
|
"types": "./dist/index.d.ts",
|
|
167
|
-
"version": "0.0.
|
|
167
|
+
"version": "0.0.14"
|
|
168
168
|
}
|