diff --git a/providers/gcp/resources/discovery.go b/providers/gcp/resources/discovery.go index 5c0d8138ee..044a752f77 100644 --- a/providers/gcp/resources/discovery.go +++ b/providers/gcp/resources/discovery.go @@ -75,6 +75,7 @@ func Discover(runtime *plugin.Runtime) (*inventory.Inventory, error) { Title: "GCP Project", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: map[string]string{}, Connections: []*inventory.Config{conn.Conf.Clone(inventory.WithoutDiscovery())}, @@ -142,6 +143,7 @@ func discoverOrganization(conn *connection.GcpConnection, gcpOrg *mqlGcpOrganiza Title: "GCP Project " + project.Name.Data, Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: map[string]string{}, Connections: []*inventory.Config{projectConf}, // pass-in the parent connection config @@ -192,6 +194,7 @@ func discoverProject(conn *connection.GcpConnection, gcpProject *mqlGcpProject) Title: "GCP Compute Instance", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: labels, // TODO: the current connection handling does not work well for instances @@ -225,6 +228,7 @@ func discoverProject(conn *connection.GcpConnection, gcpProject *mqlGcpProject) Title: "GCP Compute Image", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: labels, Connections: []*inventory.Config{conn.Conf.Clone(inventory.WithoutDiscovery())}, // pass-in the parent connection config @@ -252,6 +256,7 @@ func discoverProject(conn *connection.GcpConnection, gcpProject *mqlGcpProject) Title: "GCP Compute Network", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: map[string]string{}, Connections: []*inventory.Config{conn.Conf.Clone(inventory.WithoutDiscovery())}, // pass-in the parent connection config @@ -283,6 +288,7 @@ func discoverProject(conn *connection.GcpConnection, gcpProject *mqlGcpProject) Title: "GCP Compute Subnetwork", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: map[string]string{}, Connections: []*inventory.Config{conn.Conf.Clone(inventory.WithoutDiscovery())}, // pass-in the parent connection config @@ -310,6 +316,7 @@ func discoverProject(conn *connection.GcpConnection, gcpProject *mqlGcpProject) Title: "GCP Compute Firewall", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: map[string]string{}, Connections: []*inventory.Config{conn.Conf.Clone(inventory.WithoutDiscovery())}, // pass-in the parent connection config @@ -337,6 +344,7 @@ func discoverProject(conn *connection.GcpConnection, gcpProject *mqlGcpProject) Title: "GCP GKE Cluster", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: map[string]string{}, Connections: []*inventory.Config{conn.Conf.Clone(inventory.WithoutDiscovery())}, // pass-in the parent connection config @@ -364,6 +372,7 @@ func discoverProject(conn *connection.GcpConnection, gcpProject *mqlGcpProject) Title: "GCP Storage Bucket", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: map[string]string{}, Connections: []*inventory.Config{conn.Conf.Clone(inventory.WithoutDiscovery())}, // pass-in the parent connection config @@ -391,6 +400,7 @@ func discoverProject(conn *connection.GcpConnection, gcpProject *mqlGcpProject) Title: "GCP BigQuery Dataset", Runtime: "gcp", Kind: "gcp-object", + Family: []string{"google"}, }, Labels: map[string]string{}, Connections: []*inventory.Config{conn.Conf.Clone(inventory.WithoutDiscovery())}, // pass-in the parent connection config diff --git a/providers/gcp/resources/logging.go b/providers/gcp/resources/logging.go index 20f882831a..162890f437 100644 --- a/providers/gcp/resources/logging.go +++ b/providers/gcp/resources/logging.go @@ -6,11 +6,12 @@ package resources import ( "context" "fmt" + "strings" + "go.mondoo.com/cnquery/llx" "go.mondoo.com/cnquery/providers-sdk/v1/util/convert" "go.mondoo.com/cnquery/providers/gcp/connection" "go.mondoo.com/cnquery/types" - "strings" "cloud.google.com/go/logging/logadmin" "google.golang.org/api/iterator" @@ -27,7 +28,6 @@ func (g *mqlGcpProjectLoggingservice) id() (string, error) { } func (g *mqlGcpProject) logging() (*mqlGcpProjectLoggingservice, error) { - if g.Id.Error != nil { return nil, g.Id.Error } @@ -263,17 +263,22 @@ func (g *mqlGcpProjectLoggingservice) sinks() ([]interface{}, error) { if err != nil { return nil, err } - sink, err := CreateResource(g.MqlRuntime, "gcp.project.loggingservice.sink", map[string]*llx.RawData{ + args := map[string]*llx.RawData{ "id": llx.StringData(s.ID), "projectId": llx.StringData(projectId), "destination": llx.StringData(s.Destination), "filter": llx.StringData(s.Filter), "writerIdentity": llx.StringData(s.WriterIdentity), "includeChildren": llx.BoolData(s.IncludeChildren), - }) + } + if !strings.HasPrefix(s.Destination, "storage.googleapis.com/") { + args["storageBucket"] = llx.NilData + } + sink, err := CreateResource(g.MqlRuntime, "gcp.project.loggingservice.sink", args) if err != nil { return nil, err } + sinks = append(sinks, sink) } return sinks, nil