From 526fc9e8308e5c5d1efb55db09898e1c1659b176 Mon Sep 17 00:00:00 2001 From: Christoph Hartmann Date: Sun, 11 Aug 2024 11:55:54 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=B9=20expose=20aws=20rds=20network=20t?= =?UTF-8?q?ype?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- providers/aws/resources/aws.lr | 4 ++++ providers/aws/resources/aws.lr.go | 24 ++++++++++++++++++++ providers/aws/resources/aws.lr.manifest.yaml | 4 ++++ providers/aws/resources/aws_rds.go | 2 ++ 4 files changed, 34 insertions(+) diff --git a/providers/aws/resources/aws.lr b/providers/aws/resources/aws.lr index 5c78845a36..70f1931433 100644 --- a/providers/aws/resources/aws.lr +++ b/providers/aws/resources/aws.lr @@ -2122,6 +2122,8 @@ private aws.rds.dbcluster @defaults("id region") { activityStreamStatus string // Interval, in seconds, between points when Enhanced Monitoring metrics are collected monitoringInterval int + // Network type of the DB instance + networkType string } // Amazon RDS snapshot @@ -2238,6 +2240,8 @@ private aws.rds.dbinstance @defaults("id region engine engineVersion") { activityStreamStatus string // List of pending maintenance actions for the database instance pendingMaintenanceActions() []aws.rds.pendingMaintenanceAction + // Network type of the DB instance + networkType string } // Amazon RDS pending maintenance action diff --git a/providers/aws/resources/aws.lr.go b/providers/aws/resources/aws.lr.go index ffaabe8543..4eb6ab1b9b 100644 --- a/providers/aws/resources/aws.lr.go +++ b/providers/aws/resources/aws.lr.go @@ -3204,6 +3204,9 @@ var getDataFields = map[string]func(r plugin.Resource) *plugin.DataRes{ "aws.rds.dbcluster.monitoringInterval": func(r plugin.Resource) *plugin.DataRes { return (r.(*mqlAwsRdsDbcluster).GetMonitoringInterval()).ToDataRes(types.Int) }, + "aws.rds.dbcluster.networkType": func(r plugin.Resource) *plugin.DataRes { + return (r.(*mqlAwsRdsDbcluster).GetNetworkType()).ToDataRes(types.String) + }, "aws.rds.snapshot.arn": func(r plugin.Resource) *plugin.DataRes { return (r.(*mqlAwsRdsSnapshot).GetArn()).ToDataRes(types.String) }, @@ -3366,6 +3369,9 @@ var getDataFields = map[string]func(r plugin.Resource) *plugin.DataRes{ "aws.rds.dbinstance.pendingMaintenanceActions": func(r plugin.Resource) *plugin.DataRes { return (r.(*mqlAwsRdsDbinstance).GetPendingMaintenanceActions()).ToDataRes(types.Array(types.Resource("aws.rds.pendingMaintenanceAction"))) }, + "aws.rds.dbinstance.networkType": func(r plugin.Resource) *plugin.DataRes { + return (r.(*mqlAwsRdsDbinstance).GetNetworkType()).ToDataRes(types.String) + }, "aws.rds.pendingMaintenanceAction.resourceArn": func(r plugin.Resource) *plugin.DataRes { return (r.(*mqlAwsRdsPendingMaintenanceAction).GetResourceArn()).ToDataRes(types.String) }, @@ -8328,6 +8334,10 @@ var setDataFields = map[string]func(r plugin.Resource, v *llx.RawData) bool { r.(*mqlAwsRdsDbcluster).MonitoringInterval, ok = plugin.RawToTValue[int64](v.Value, v.Error) return }, + "aws.rds.dbcluster.networkType": func(r plugin.Resource, v *llx.RawData) (ok bool) { + r.(*mqlAwsRdsDbcluster).NetworkType, ok = plugin.RawToTValue[string](v.Value, v.Error) + return + }, "aws.rds.snapshot.__id": func(r plugin.Resource, v *llx.RawData) (ok bool) { r.(*mqlAwsRdsSnapshot).__id, ok = v.Value.(string) return @@ -8552,6 +8562,10 @@ var setDataFields = map[string]func(r plugin.Resource, v *llx.RawData) bool { r.(*mqlAwsRdsDbinstance).PendingMaintenanceActions, ok = plugin.RawToTValue[[]interface{}](v.Value, v.Error) return }, + "aws.rds.dbinstance.networkType": func(r plugin.Resource, v *llx.RawData) (ok bool) { + r.(*mqlAwsRdsDbinstance).NetworkType, ok = plugin.RawToTValue[string](v.Value, v.Error) + return + }, "aws.rds.pendingMaintenanceAction.__id": func(r plugin.Resource, v *llx.RawData) (ok bool) { r.(*mqlAwsRdsPendingMaintenanceAction).__id, ok = v.Value.(string) return @@ -21202,6 +21216,7 @@ type mqlAwsRdsDbcluster struct { ActivityStreamMode plugin.TValue[string] ActivityStreamStatus plugin.TValue[string] MonitoringInterval plugin.TValue[int64] + NetworkType plugin.TValue[string] } // createAwsRdsDbcluster creates a new instance of this resource @@ -21405,6 +21420,10 @@ func (c *mqlAwsRdsDbcluster) GetMonitoringInterval() *plugin.TValue[int64] { return &c.MonitoringInterval } +func (c *mqlAwsRdsDbcluster) GetNetworkType() *plugin.TValue[string] { + return &c.NetworkType +} + // mqlAwsRdsSnapshot for the aws.rds.snapshot resource type mqlAwsRdsSnapshot struct { MqlRuntime *plugin.Runtime @@ -21566,6 +21585,7 @@ type mqlAwsRdsDbinstance struct { ActivityStreamMode plugin.TValue[string] ActivityStreamStatus plugin.TValue[string] PendingMaintenanceActions plugin.TValue[[]interface{}] + NetworkType plugin.TValue[string] } // createAwsRdsDbinstance creates a new instance of this resource @@ -21813,6 +21833,10 @@ func (c *mqlAwsRdsDbinstance) GetPendingMaintenanceActions() *plugin.TValue[[]in }) } +func (c *mqlAwsRdsDbinstance) GetNetworkType() *plugin.TValue[string] { + return &c.NetworkType +} + // mqlAwsRdsPendingMaintenanceAction for the aws.rds.pendingMaintenanceAction resource type mqlAwsRdsPendingMaintenanceAction struct { MqlRuntime *plugin.Runtime diff --git a/providers/aws/resources/aws.lr.manifest.yaml b/providers/aws/resources/aws.lr.manifest.yaml index 5990944a3f..0c28aa8451 100755 --- a/providers/aws/resources/aws.lr.manifest.yaml +++ b/providers/aws/resources/aws.lr.manifest.yaml @@ -2349,6 +2349,8 @@ resources: min_mondoo_version: 9.0.0 multiAZ: min_mondoo_version: 9.0.0 + networkType: + min_mondoo_version: 9.0.0 port: min_mondoo_version: 9.0.0 publiclyAccessible: @@ -2424,6 +2426,8 @@ resources: min_mondoo_version: 9.0.0 multiAZ: {} name: {} + networkType: + min_mondoo_version: 9.0.0 pendingMaintenanceActions: min_mondoo_version: 9.0.0 port: diff --git a/providers/aws/resources/aws_rds.go b/providers/aws/resources/aws_rds.go index 57e8f83787..836f158382 100644 --- a/providers/aws/resources/aws_rds.go +++ b/providers/aws/resources/aws_rds.go @@ -140,6 +140,7 @@ func (a *mqlAwsRds) getDbInstances(conn *connection.AwsConnection) []*jobpool.Jo "customIamInstanceProfile": llx.StringDataPtr(dbInstance.CustomIamInstanceProfile), "activityStreamMode": llx.StringData(string(dbInstance.ActivityStreamMode)), "activityStreamStatus": llx.StringData(string(dbInstance.ActivityStreamStatus)), + "networkType": llx.StringDataPtr(dbInstance.NetworkType), }) if err != nil { return nil, err @@ -521,6 +522,7 @@ func (a *mqlAwsRds) getDbClusters(conn *connection.AwsConnection) []*jobpool.Job "activityStreamMode": llx.StringData(string(cluster.ActivityStreamMode)), "activityStreamStatus": llx.StringData(string(cluster.ActivityStreamStatus)), "monitoringInterval": llx.IntDataPtr(cluster.MonitoringInterval), + "networkType": llx.StringDataPtr(cluster.NetworkType), }) if err != nil { return nil, err