diff --git a/src/rules/__snapshots__/index.test.ts.snap b/src/rules/__snapshots__/index.test.ts.snap index ae50f210..ed04638b 100644 --- a/src/rules/__snapshots__/index.test.ts.snap +++ b/src/rules/__snapshots__/index.test.ts.snap @@ -42,6 +42,7 @@ exports[`all > should match everything 1`] = ` "aws.elasticache", "aws.fargate", "aws.glacier", + "aws.glue", "aws.kinesis", "aws.kms", "aws.lambda", diff --git a/src/rules/etl/aws.glue.ts b/src/rules/etl/aws.glue.ts new file mode 100644 index 00000000..32b067e1 --- /dev/null +++ b/src/rules/etl/aws.glue.ts @@ -0,0 +1,19 @@ +import { register } from '../../register.js'; + +register({ + tech: 'aws.glue', + name: 'AWS Glue', + type: 'etl', + dependencies: [ + { type: 'npm', name: '@aws-sdk/client-glue' }, + { type: 'npm', name: '@aws-cdk/aws-glue' }, + { type: 'rust', name: 'aws-sdk-glue' }, + { type: 'ruby', name: 'aws-sdk-glue' }, + { type: 'golang', name: 'github.com/aws/aws-sdk-go-v2/service/glue' }, + { + type: 'terraform.resource', + name: /^aws_glue_/, + example: 'aws_glue_crawler', + }, + ], +}); diff --git a/src/rules/etl/index.ts b/src/rules/etl/index.ts index 41997216..8f3f6bcb 100644 --- a/src/rules/etl/index.ts +++ b/src/rules/etl/index.ts @@ -2,6 +2,7 @@ import './airbyte.js'; import './apache_airflow.js'; import './apache_flink.js'; import './apache_storm.js'; +import './aws.glue.js'; import './databricks.js'; import './dataiku.js'; import './gcp.dataproc.js'; diff --git a/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap b/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap index bec8c951..d265a406 100644 --- a/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap +++ b/src/rules/spec/golang/__snapshots__/lockfile.test.ts.snap @@ -19,6 +19,7 @@ exports[`golang (lockfile) > should match everything 1`] = ` "aws.eks", "aws.elasticache", "aws.glacier", + "aws.glue", "aws.kinesis", "aws.kms", "aws.lambda", @@ -321,6 +322,11 @@ exports[`golang (lockfile) > should match everything 2`] = ` "github.com/aws/aws-sdk-go-v2/service/glacier", "v1.0.0", ], + [ + "golang", + "github.com/aws/aws-sdk-go-v2/service/glue", + "v1.0.0", + ], [ "golang", "github.com/aws/aws-sdk-go-v2/service/kinesis", diff --git a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap index b9e4c3ab..9f6d14bc 100644 --- a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap @@ -27,6 +27,7 @@ exports[`npm > should match everything 1`] = ` "aws.eks", "aws.elasticache", "aws.glacier", + "aws.glue", "aws.kinesis", "aws.kms", "aws.lambda", @@ -309,6 +310,11 @@ exports[`npm > should match everything 2`] = ` "@aws-cdk/aws-firehose", "0.0.0", ], + [ + "npm", + "@aws-cdk/aws-glue", + "0.0.0", + ], [ "npm", "@aws-cdk/aws-kinesis", @@ -499,6 +505,11 @@ exports[`npm > should match everything 2`] = ` "@aws-sdk/client-glacier", "0.0.0", ], + [ + "npm", + "@aws-sdk/client-glue", + "0.0.0", + ], [ "npm", "@aws-sdk/client-kinesis", diff --git a/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap b/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap index e336b2d6..834d6f2e 100644 --- a/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap +++ b/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap @@ -21,6 +21,7 @@ exports[`ruby (component) > should match everything 1`] = ` "aws.eks", "aws.elasticache", "aws.glacier", + "aws.glue", "aws.kinesis", "aws.kms", "aws.lambda", @@ -248,6 +249,11 @@ exports[`ruby (component) > should match everything 2`] = ` "aws-sdk-glacier", "1.0.0", ], + [ + "ruby", + "aws-sdk-glue", + "1.0.0", + ], [ "ruby", "aws-sdk-kinesis", diff --git a/src/rules/spec/rust/__snapshots__/component.test.ts.snap b/src/rules/spec/rust/__snapshots__/component.test.ts.snap index 99578334..b3e0eac0 100644 --- a/src/rules/spec/rust/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/rust/__snapshots__/component.test.ts.snap @@ -23,6 +23,7 @@ exports[`rust (component) > should match everything 1`] = ` "aws.eks", "aws.elasticache", "aws.glacier", + "aws.glue", "aws.kinesis", "aws.kms", "aws.lambda", @@ -192,6 +193,11 @@ exports[`rust (component) > should match everything 2`] = ` "aws-sdk-glacier", "1.0.0", ], + [ + "rust", + "aws-sdk-glue", + "1.0.0", + ], [ "rust", "aws-sdk-kinesis", diff --git a/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap b/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap index f8cb14a9..eb12bb15 100644 --- a/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap +++ b/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap @@ -21,6 +21,7 @@ exports[`terraform (resource) > should match everything 1`] = ` "aws.eks", "aws.elasticache", "aws.glacier", + "aws.glue", "aws.kinesis", "aws.kms", "aws.lambda", diff --git a/src/types/techs.ts b/src/types/techs.ts index 5e616f90..f2c0a047 100644 --- a/src/types/techs.ts +++ b/src/types/techs.ts @@ -54,6 +54,7 @@ export type AllowedKeys = | 'aws.elasticache' | 'aws.fargate' | 'aws.glacier' + | 'aws.glue' | 'aws.kinesis' | 'aws.kms' | 'aws.lambda'