diff --git a/src/rules/__snapshots__/index.test.ts.snap b/src/rules/__snapshots__/index.test.ts.snap index 21c1cd8c..f291e4d0 100644 --- a/src/rules/__snapshots__/index.test.ts.snap +++ b/src/rules/__snapshots__/index.test.ts.snap @@ -34,6 +34,7 @@ exports[`all > should match everything 1`] = ` "aws.dynamodb", "aws.ebs", "aws.ec2", + "aws.ecr", "aws.ecs", "aws.efs", "aws.eks", diff --git a/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap b/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap index 80a1396d..45f4295b 100644 --- a/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap @@ -7,6 +7,7 @@ exports[`docker > should match all dependencies 1`] = ` "aws", "aws.cloudfront", "aws.ec2", + "aws.ecr", "aws.fargate", "aws.lambda", "aws.s3", @@ -184,6 +185,11 @@ exports[`docker > should match all dependencies 2`] = ` "atlassian/gajira-transition", "1", ], + [ + "githubAction", + "aws-actions/amazon-ecr-login", + "1", + ], [ "githubAction", "aws-actions/amazon-eks-fargate", diff --git a/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap b/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap index 6c7b090d..f6d697a1 100644 --- a/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap +++ b/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap @@ -12,6 +12,7 @@ exports[`golang (lockfile) > should match everything 1`] = ` "aws.dynamodb", "aws.ebs", "aws.ec2", + "aws.ecr", "aws.ecs", "aws.efs", "aws.eks", @@ -278,6 +279,11 @@ exports[`golang (lockfile) > should match everything 2`] = ` "github.com/aws/aws-sdk-go-v2/service/ec2", "v1.0.0", ], + [ + "golang", + "github.com/aws/aws-sdk-go-v2/service/ecr", + "v1.0.0", + ], [ "golang", "github.com/aws/aws-sdk-go-v2/service/ecs", diff --git a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap index 06e8dd0a..4e2f8671 100644 --- a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap @@ -20,6 +20,7 @@ exports[`npm > should match everything 1`] = ` "aws.dynamodb", "aws.ebs", "aws.ec2", + "aws.ecr", "aws.ecs", "aws.efs", "aws.eks", @@ -271,6 +272,11 @@ exports[`npm > should match everything 2`] = ` "@aws-cdk/aws-ec2", "0.0.0", ], + [ + "npm", + "@aws-cdk/aws-ecr", + "0.0.0", + ], [ "npm", "@aws-cdk/aws-ecs", @@ -441,6 +447,11 @@ exports[`npm > should match everything 2`] = ` "@aws-sdk/client-ec2", "0.0.0", ], + [ + "npm", + "@aws-sdk/client-ecr", + "0.0.0", + ], [ "npm", "@aws-sdk/client-ecs", diff --git a/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap b/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap index b814d8da..a86a1fbb 100644 --- a/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap +++ b/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap @@ -14,6 +14,7 @@ exports[`ruby (component) > should match everything 1`] = ` "aws.dynamodb", "aws.ebs", "aws.ec2", + "aws.ecr", "aws.ecs", "aws.efs", "aws.eks", @@ -200,6 +201,11 @@ exports[`ruby (component) > should match everything 2`] = ` "aws-sdk-ec2", "1.0.0", ], + [ + "ruby", + "aws-sdk-ecr", + "1.0.0", + ], [ "ruby", "aws-sdk-ecs", diff --git a/src/rules/spec/rust/__snapshots__/component.test.ts.snap b/src/rules/spec/rust/__snapshots__/component.test.ts.snap index 776758d3..857ac90a 100644 --- a/src/rules/spec/rust/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/rust/__snapshots__/component.test.ts.snap @@ -16,6 +16,7 @@ exports[`rust (component) > should match everything 1`] = ` "aws.dynamodb", "aws.ebs", "aws.ec2", + "aws.ecr", "aws.ecs", "aws.efs", "aws.eks", @@ -144,6 +145,11 @@ exports[`rust (component) > should match everything 2`] = ` "aws-sdk-ec2", "1.0.0", ], + [ + "rust", + "aws-sdk-ecr", + "1.0.0", + ], [ "rust", "aws-sdk-ecs", diff --git a/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap b/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap index d21bd765..2e32e276 100644 --- a/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap +++ b/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap @@ -14,6 +14,7 @@ exports[`terraform (resource) > should match everything 1`] = ` "aws.dynamodb", "aws.ebs", "aws.ec2", + "aws.ecr", "aws.ecs", "aws.efs", "aws.eks", diff --git a/src/rules/storage/aws.ecr.ts b/src/rules/storage/aws.ecr.ts new file mode 100644 index 00000000..627f5ed3 --- /dev/null +++ b/src/rules/storage/aws.ecr.ts @@ -0,0 +1,20 @@ +import { register } from '../../register.js'; + +register({ + tech: 'aws.ecr', + name: 'AWS ECR', + type: 'storage', + dependencies: [ + { type: 'npm', name: '@aws-cdk/aws-ecr' }, + { type: 'npm', name: '@aws-sdk/client-ecr' }, + { type: 'rust', name: 'aws-sdk-ecr' }, + { type: 'ruby', name: 'aws-sdk-ecr' }, + { type: 'golang', name: 'github.com/aws/aws-sdk-go-v2/service/ecr' }, + { + type: 'terraform.resource', + name: /^aws_ecr_/, + example: 'aws_ecr_repository', + }, + { type: 'githubAction', name: 'aws-actions/amazon-ecr-login' }, + ], +}); diff --git a/src/rules/storage/index.ts b/src/rules/storage/index.ts index f35a32f5..44d6c71e 100644 --- a/src/rules/storage/index.ts +++ b/src/rules/storage/index.ts @@ -1,5 +1,6 @@ import './aws.cloudfront.js'; import './aws.ebs.js'; +import './aws.ecr.js'; import './aws.efs.js'; import './aws.glacier.js'; import './aws.s3.js'; diff --git a/src/types/techs.ts b/src/types/techs.ts index 7e3d411d..c59c5167 100644 --- a/src/types/techs.ts +++ b/src/types/techs.ts @@ -46,6 +46,7 @@ export type AllowedKeys = | 'aws.dynamodb' | 'aws.ebs' | 'aws.ec2' + | 'aws.ecr' | 'aws.ecs' | 'aws.efs' | 'aws.eks'