Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pkg/iac/adapters/terraform/google/compute/networks.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,11 @@
for _, subnetworkBlock := range modules.GetResourcesByType("google_compute_subnetwork") {

subnetwork := compute.SubNetwork{
Metadata: subnetworkBlock.GetMetadata(),

Check failure on line 32 in pkg/iac/adapters/terraform/google/compute/networks.go

View workflow job for this annotation

GitHub Actions / Test (ubuntu-latest)

File is not properly formatted (gci)
Name: subnetworkBlock.GetAttribute("name").AsStringValueOrDefault("", subnetworkBlock),
Purpose: subnetworkBlock.GetAttribute("purpose").AsStringValueOrDefault(defaultSubnetPurpose, subnetworkBlock),
EnableFlowLogs: iacTypes.BoolDefault(false, subnetworkBlock.GetMetadata()),
PrivateIPGoogleAccess: subnetworkBlock.GetAttribute("private_ip_google_access").AsBoolValueOrDefault(false, subnetworkBlock),
}

// logging
Expand Down
28 changes: 28 additions & 0 deletions pkg/iac/adapters/terraform/google/compute/networks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,34 @@ func Test_adaptNetworks(t *testing.T) {
},
},
},
{
name: "private_ip_google_access_enabled",
terraform: `
resource "google_compute_subnetwork" "example" {
name = "test-subnetwork"
network = google_compute_network.example.id
private_ip_google_access = true
}
resource "google_compute_network" "example" {
name = "test-network"
}
`,
expected: []compute.Network{
{
Metadata: iacTypes.NewTestMetadata(),
Firewall: nil,
Subnetworks: []compute.SubNetwork{
{
Metadata: iacTypes.NewTestMetadata(),
Name: iacTypes.String("test-subnetwork", iacTypes.NewTestMetadata()),
Purpose: iacTypes.StringDefault("PRIVATE_RFC_1918", iacTypes.NewTestMetadata()),
EnableFlowLogs: iacTypes.Bool(false, iacTypes.NewTestMetadata()),
PrivateIPGoogleAccess: iacTypes.Bool(true, iacTypes.NewTestMetadata()),
},
},
},
},
},
}

for _, test := range tests {
Expand Down
1 change: 1 addition & 0 deletions pkg/iac/providers/google/compute/subnetwork.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
)

type SubNetwork struct {
Metadata iacTypes.Metadata

Check failure on line 8 in pkg/iac/providers/google/compute/subnetwork.go

View workflow job for this annotation

GitHub Actions / Test (ubuntu-latest)

File is not properly formatted (gofmt)
Name iacTypes.StringValue
Purpose iacTypes.StringValue
EnableFlowLogs iacTypes.BoolValue
PrivateIPGoogleAccess iacTypes.BoolValue
}
93 changes: 4 additions & 89 deletions pkg/iac/rego/schemas/cloud.json
Original file line number Diff line number Diff line change
Expand Up @@ -3924,19 +3924,6 @@
}
}
},
"github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.aws.sam.AccessLogging": {
"type": "object",
"properties": {
"__defsec_metadata": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.Metadata"
},
"cloudwatchloggrouparn": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.StringValue"
}
}
},
"github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.aws.sam.Application": {
"type": "object",
"properties": {
Expand Down Expand Up @@ -5521,19 +5508,6 @@
}
}
},
"github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.azure.synapse.Workspace": {
"type": "object",
"properties": {
"__defsec_metadata": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.Metadata"
},
"enablemanagedvirtualnetwork": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.BoolValue"
}
}
},
"github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.cloudstack.CloudStack": {
"type": "object",
"properties": {
Expand Down Expand Up @@ -6318,30 +6292,6 @@
}
}
},
"github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.google.compute.ServiceAccount": {
"type": "object",
"properties": {
"__defsec_metadata": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.Metadata"
},
"email": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.StringValue"
},
"isdefault": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.BoolValue"
},
"scopes": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.StringValue"
}
}
}
},
"github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.google.compute.ShieldedVMConfig": {
"type": "object",
"properties": {
Expand Down Expand Up @@ -6381,6 +6331,10 @@
"purpose": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.StringValue"
},
"privateipgoogleaccess": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.BoolValue"
}
}
},
Expand Down Expand Up @@ -7111,45 +7065,6 @@
}
}
},
"github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.google.storage.Bucket": {
"type": "object",
"properties": {
"__defsec_metadata": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.Metadata"
},
"bindings": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.google.iam.Binding"
}
},
"enableuniformbucketlevelaccess": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.BoolValue"
},
"encryption": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.google.storage.BucketEncryption"
},
"location": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.StringValue"
},
"members": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.google.iam.Member"
}
},
"name": {
"type": "object",
"$ref": "#/definitions/github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.types.StringValue"
}
}
},
"github.zerozr99.workers.dev.aquasecurity.trivy.pkg.iac.providers.google.storage.BucketEncryption": {
"type": "object",
"properties": {
Expand Down
Loading