Skip to content

Commit ad2bcff

Browse files
committed
⭐ Add AWS Route 53 resources
Add comprehensive Route 53 support with 8 new resource types: - aws.route53: Top-level resource with access to hosted zones, health checks, delegation sets, traffic policies, query logging configs, and DNSSEC keys - aws.route53.hostedZone: DNS zones with records, VPCs, tags, DNSSEC status, nameservers, query logging, and traffic policy instances - aws.route53.record: DNS record sets with support for alias records, weighted/ latency/failover/geolocation routing policies, and health check associations - aws.route53.healthCheck: HTTP/HTTPS/TCP/calculated/CloudWatch health checks with full configuration, tags, and status - aws.route53.delegationSet: Reusable delegation sets with nameservers - aws.route53.trafficPolicy: Traffic policies with document and instances - aws.route53.trafficPolicyInstance: Traffic policy instances linked to zones - aws.route53.queryLoggingConfig: Query logging configs with CloudWatch targets - aws.route53.keySigningKey: DNSSEC key signing keys with KMS key references Includes Route 53 client caching in the AWS connection layer and cross-resource references (records -> health checks, KSKs -> KMS keys, instances -> zones). Signed-off-by: Tim Smith <tsmith84@gmail.com>
1 parent 779ff93 commit ad2bcff

File tree

9 files changed

+3365
-210
lines changed

9 files changed

+3365
-210
lines changed

.github/actions/spelling/expect.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
aad
22
ACCOUNTADMIN
3-
Adddays
43
advancedthreatprotection
54
alloydb
65
antispam
@@ -44,6 +43,7 @@ dfw
4443
dlp
4544
dlq
4645
dlv
46+
dnskey
4747
eas
4848
eip
4949
ekm
@@ -69,6 +69,7 @@ gvnic
6969
headerorder
7070
Hns
7171
hostkeys
72+
hostedzone
7273
hotlink
7374
hvm
7475
iana
@@ -86,6 +87,7 @@ istio
8687
jira
8788
jsonbody
8889
kqueue
90+
KSK
8991
labelmatchstatement
9092
lfs
9193
liveanalytics

providers/aws/connection/clients.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import (
4646
"github.com/aws/aws-sdk-go-v2/service/organizations"
4747
"github.com/aws/aws-sdk-go-v2/service/rds"
4848
"github.com/aws/aws-sdk-go-v2/service/redshift"
49+
"github.com/aws/aws-sdk-go-v2/service/route53"
4950
"github.com/aws/aws-sdk-go-v2/service/s3"
5051
"github.com/aws/aws-sdk-go-v2/service/s3control"
5152
"github.com/aws/aws-sdk-go-v2/service/sagemaker"
@@ -807,6 +808,30 @@ func (t *AwsConnection) Redshift(region string) *redshift.Client {
807808
return client
808809
}
809810

811+
func (t *AwsConnection) Route53(region string) *route53.Client {
812+
// if no region value is sent in, use the configured region
813+
if len(region) == 0 {
814+
region = t.cfg.Region
815+
}
816+
cacheVal := "_route53_" + region
817+
818+
// check for cached client and return it if it exists
819+
c, ok := t.clientcache.Load(cacheVal)
820+
if ok {
821+
log.Debug().Msg("use cached route53 client")
822+
return c.Data.(*route53.Client)
823+
}
824+
825+
// create the client
826+
cfg := t.cfg.Copy()
827+
cfg.Region = region
828+
client := route53.NewFromConfig(cfg)
829+
830+
// cache it
831+
t.clientcache.Store(cacheVal, &CacheEntry{Data: client})
832+
return client
833+
}
834+
810835
func (t *AwsConnection) Neptune(region string) *neptune.Client {
811836
// if no region value is sent in, use the configured region
812837
if len(region) == 0 {

providers/aws/go.mod

Lines changed: 70 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -5,63 +5,64 @@ replace go.mondoo.com/mql/v13 => ../..
55
go 1.25.1
66

77
require (
8-
github.com/aws/aws-sdk-go-v2 v1.41.1
9-
github.com/aws/aws-sdk-go-v2/config v1.32.7
10-
github.com/aws/aws-sdk-go-v2/credentials v1.19.7
11-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.17
12-
github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.45.8
13-
github.com/aws/aws-sdk-go-v2/service/account v1.30.1
14-
github.com/aws/aws-sdk-go-v2/service/acm v1.37.19
15-
github.com/aws/aws-sdk-go-v2/service/apigateway v1.38.4
16-
github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.41.10
17-
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.64.0
18-
github.com/aws/aws-sdk-go-v2/service/backup v1.54.6
19-
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.59.0
20-
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.55.5
21-
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.53.1
22-
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.63.1
23-
github.com/aws/aws-sdk-go-v2/service/codebuild v1.68.9
24-
github.com/aws/aws-sdk-go-v2/service/codedeploy v1.35.9
25-
github.com/aws/aws-sdk-go-v2/service/configservice v1.61.0
26-
github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.61.5
27-
github.com/aws/aws-sdk-go-v2/service/drs v1.36.9
28-
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.54.0
29-
github.com/aws/aws-sdk-go-v2/service/ec2 v1.289.0
30-
github.com/aws/aws-sdk-go-v2/service/ecr v1.55.1
31-
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.9
32-
github.com/aws/aws-sdk-go-v2/service/ecs v1.71.0
33-
github.com/aws/aws-sdk-go-v2/service/efs v1.41.10
34-
github.com/aws/aws-sdk-go-v2/service/eks v1.77.0
35-
github.com/aws/aws-sdk-go-v2/service/elasticache v1.51.9
36-
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.33.19
37-
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.54.6
38-
github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.37.19
39-
github.com/aws/aws-sdk-go-v2/service/emr v1.57.5
40-
github.com/aws/aws-sdk-go-v2/service/fsx v1.65.3
41-
github.com/aws/aws-sdk-go-v2/service/guardduty v1.73.0
42-
github.com/aws/aws-sdk-go-v2/service/iam v1.53.2
43-
github.com/aws/aws-sdk-go-v2/service/inspector2 v1.46.2
44-
github.com/aws/aws-sdk-go-v2/service/kms v1.49.5
45-
github.com/aws/aws-sdk-go-v2/service/lambda v1.87.1
46-
github.com/aws/aws-sdk-go-v2/service/macie2 v1.50.9
47-
github.com/aws/aws-sdk-go-v2/service/neptune v1.43.9
48-
github.com/aws/aws-sdk-go-v2/service/opensearch v1.57.1
49-
github.com/aws/aws-sdk-go-v2/service/organizations v1.50.1
50-
github.com/aws/aws-sdk-go-v2/service/rds v1.114.0
51-
github.com/aws/aws-sdk-go-v2/service/redshift v1.62.0
52-
github.com/aws/aws-sdk-go-v2/service/s3 v1.95.1
53-
github.com/aws/aws-sdk-go-v2/service/s3control v1.67.3
54-
github.com/aws/aws-sdk-go-v2/service/sagemaker v1.230.1
55-
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.1
56-
github.com/aws/aws-sdk-go-v2/service/securityhub v1.67.3
57-
github.com/aws/aws-sdk-go-v2/service/sns v1.39.11
58-
github.com/aws/aws-sdk-go-v2/service/sqs v1.42.21
59-
github.com/aws/aws-sdk-go-v2/service/ssm v1.67.8
60-
github.com/aws/aws-sdk-go-v2/service/sts v1.41.6
61-
github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.18.1
62-
github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.35.16
63-
github.com/aws/aws-sdk-go-v2/service/wafv2 v1.70.7
64-
github.com/aws/smithy-go v1.24.0
8+
github.com/aws/aws-sdk-go-v2 v1.41.2
9+
github.com/aws/aws-sdk-go-v2/config v1.32.10
10+
github.com/aws/aws-sdk-go-v2/credentials v1.19.10
11+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.18
12+
github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.45.9
13+
github.com/aws/aws-sdk-go-v2/service/account v1.30.2
14+
github.com/aws/aws-sdk-go-v2/service/acm v1.37.20
15+
github.com/aws/aws-sdk-go-v2/service/apigateway v1.38.5
16+
github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.41.11
17+
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.64.1
18+
github.com/aws/aws-sdk-go-v2/service/backup v1.54.7
19+
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.60.1
20+
github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.55.6
21+
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.55.0
22+
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.63.2
23+
github.com/aws/aws-sdk-go-v2/service/codebuild v1.68.10
24+
github.com/aws/aws-sdk-go-v2/service/codedeploy v1.35.10
25+
github.com/aws/aws-sdk-go-v2/service/configservice v1.61.1
26+
github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.61.6
27+
github.com/aws/aws-sdk-go-v2/service/drs v1.36.10
28+
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.56.0
29+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.293.0
30+
github.com/aws/aws-sdk-go-v2/service/ecr v1.55.3
31+
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.10
32+
github.com/aws/aws-sdk-go-v2/service/ecs v1.73.0
33+
github.com/aws/aws-sdk-go-v2/service/efs v1.41.11
34+
github.com/aws/aws-sdk-go-v2/service/eks v1.80.1
35+
github.com/aws/aws-sdk-go-v2/service/elasticache v1.51.10
36+
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.33.20
37+
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.54.7
38+
github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.38.0
39+
github.com/aws/aws-sdk-go-v2/service/emr v1.57.6
40+
github.com/aws/aws-sdk-go-v2/service/fsx v1.65.4
41+
github.com/aws/aws-sdk-go-v2/service/guardduty v1.73.1
42+
github.com/aws/aws-sdk-go-v2/service/iam v1.53.3
43+
github.com/aws/aws-sdk-go-v2/service/inspector2 v1.47.1
44+
github.com/aws/aws-sdk-go-v2/service/kms v1.50.1
45+
github.com/aws/aws-sdk-go-v2/service/lambda v1.88.1
46+
github.com/aws/aws-sdk-go-v2/service/macie2 v1.50.10
47+
github.com/aws/aws-sdk-go-v2/service/neptune v1.44.0
48+
github.com/aws/aws-sdk-go-v2/service/opensearch v1.58.0
49+
github.com/aws/aws-sdk-go-v2/service/organizations v1.50.3
50+
github.com/aws/aws-sdk-go-v2/service/rds v1.116.1
51+
github.com/aws/aws-sdk-go-v2/service/redshift v1.62.2
52+
github.com/aws/aws-sdk-go-v2/service/route53 v1.62.2
53+
github.com/aws/aws-sdk-go-v2/service/s3 v1.96.2
54+
github.com/aws/aws-sdk-go-v2/service/s3control v1.68.1
55+
github.com/aws/aws-sdk-go-v2/service/sagemaker v1.233.1
56+
github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.41.2
57+
github.com/aws/aws-sdk-go-v2/service/securityhub v1.68.0
58+
github.com/aws/aws-sdk-go-v2/service/sns v1.39.12
59+
github.com/aws/aws-sdk-go-v2/service/sqs v1.42.22
60+
github.com/aws/aws-sdk-go-v2/service/ssm v1.68.1
61+
github.com/aws/aws-sdk-go-v2/service/sts v1.41.7
62+
github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.18.2
63+
github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.35.17
64+
github.com/aws/aws-sdk-go-v2/service/wafv2 v1.71.0
65+
github.com/aws/smithy-go v1.24.1
6566
github.com/cockroachdb/errors v1.12.0
6667
github.com/google/uuid v1.6.0
6768
github.com/hashicorp/go-retryablehttp v0.7.8
@@ -105,20 +106,20 @@ require (
105106
github.com/StackExchange/wmi v1.2.1 // indirect
106107
github.com/agext/levenshtein v1.2.3 // indirect
107108
github.com/anchore/go-struct-converter v0.1.0 // indirect
108-
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 // indirect
109-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.17 // indirect
110-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.17 // indirect
109+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.5 // indirect
110+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.18 // indirect
111+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.18 // indirect
111112
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
112-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17 // indirect
113+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.18 // indirect
113114
github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect v1.32.16 // indirect
114-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 // indirect
115-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8 // indirect
116-
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.17 // indirect
117-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.17 // indirect
118-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17 // indirect
119-
github.com/aws/aws-sdk-go-v2/service/signin v1.0.5 // indirect
120-
github.com/aws/aws-sdk-go-v2/service/sso v1.30.9 // indirect
121-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.13 // indirect
115+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.5 // indirect
116+
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.10 // indirect
117+
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.18 // indirect
118+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.18 // indirect
119+
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.18 // indirect
120+
github.com/aws/aws-sdk-go-v2/service/signin v1.0.6 // indirect
121+
github.com/aws/aws-sdk-go-v2/service/sso v1.30.11 // indirect
122+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.15 // indirect
122123
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 // indirect
123124
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
124125
github.com/beorn7/perks v1.0.1 // indirect

0 commit comments

Comments
 (0)