diff --git a/cli/reporter/cnquery_report.pb.go b/cli/reporter/cnquery_report.pb.go index ce35415c86..9ab8159694 100644 --- a/cli/reporter/cnquery_report.pb.go +++ b/cli/reporter/cnquery_report.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: cnquery_report.proto package reporter diff --git a/explorer/cnquery_explorer.pb.go b/explorer/cnquery_explorer.pb.go index 80cb91e5a3..90b6436e42 100644 --- a/explorer/cnquery_explorer.pb.go +++ b/explorer/cnquery_explorer.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: cnquery_explorer.proto package explorer diff --git a/explorer/resources/cnquery_resources_explorer.pb.go b/explorer/resources/cnquery_resources_explorer.pb.go index c00be565c0..112b0df493 100644 --- a/explorer/resources/cnquery_resources_explorer.pb.go +++ b/explorer/resources/cnquery_resources_explorer.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: cnquery_resources_explorer.proto package resources diff --git a/explorer/scan/cnquery_explorer_scan.pb.go b/explorer/scan/cnquery_explorer_scan.pb.go index bf06486231..04cfd02f2e 100644 --- a/explorer/scan/cnquery_explorer_scan.pb.go +++ b/explorer/scan/cnquery_explorer_scan.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: cnquery_explorer_scan.proto package scan diff --git a/go.mod b/go.mod index d7c6b756a5..086ead74bb 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ module go.mondoo.com/cnquery/v11 -go 1.22 +go 1.22.0 -toolchain go1.22.0 +toolchain go1.22.4 require ( cloud.google.com/go/logging v1.10.0 @@ -83,7 +83,7 @@ require ( github.com/spdx/tools-golang v0.5.4 github.com/spf13/afero v1.11.0 github.com/spf13/cobra v1.8.0 - github.com/spf13/pflag v1.0.5 + github.com/spf13/pflag v1.0.6-0.20201009195203-85dd5c8bc61c github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.9.0 github.com/toravir/csd v0.0.0-20200911003203-13ae77ad849c @@ -105,9 +105,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 howett.net/plist v1.0.1 // pin v0.28.9 - k8s.io/apimachinery v0.28.9 + k8s.io/apimachinery v0.30.1 // pin v0.28.9 - k8s.io/client-go v0.28.9 + k8s.io/client-go v0.30.1 // pin v0.28.9 k8s.io/component-base v0.28.9 // pin v0.28.9 @@ -341,8 +341,8 @@ require ( github.com/polyfloyd/go-errorlint v1.5.2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect - github.com/prometheus/procfs v0.15.0 // indirect + github.com/prometheus/common v0.54.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/quasilyte/go-ruleguard v0.4.2 // indirect github.com/quasilyte/gogrep v0.5.0 // indirect github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect @@ -404,7 +404,7 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect honnef.co/go/tools v0.4.7 // indirect - k8s.io/api v0.28.9 // indirect + k8s.io/api v0.30.1 // indirect k8s.io/klog/v2 v2.120.1 // indirect modernc.org/libc v1.52.1 // indirect modernc.org/mathutil v1.6.0 // indirect @@ -423,7 +423,7 @@ require ( cloud.google.com/go/auth v0.5.1 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect - github.com/Crocmagnon/fatcontext v0.2.2 // indirect + github.com/Crocmagnon/fatcontext v0.3.0 // indirect github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/charmbracelet/x/ansi v0.1.2 // indirect diff --git a/go.sum b/go.sum index b865e65eb5..e30b3841da 100644 --- a/go.sum +++ b/go.sum @@ -105,8 +105,8 @@ github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6 h1:w0E0fgc1YafGEh5cROhlROMWXiNoZqApk2PDN0M1+Ns= github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6/go.mod h1:nuWgzSkT5PnyOd+272uUmV0dnAnAn42Mk7PiQC5VzN4= -github.com/Crocmagnon/fatcontext v0.2.2 h1:OrFlsDdOj9hW/oBEJBNSuH7QWf+E9WPVHw+x52bXVbk= -github.com/Crocmagnon/fatcontext v0.2.2/go.mod h1:WSn/c/+MMNiD8Pri0ahRj0o9jVpeowzavOQplBJw6u0= +github.com/Crocmagnon/fatcontext v0.3.0 h1:S6gNUYNSN9V76Tu017OFgoaOpybmMhwe6Ewh1cYd0jg= +github.com/Crocmagnon/fatcontext v0.3.0/go.mod h1:x3F9YW5CFE7vo+FGA5GzBD1SBXU4FQI0+y1ReG4Q+pY= github.com/CycloneDX/cyclonedx-go v0.9.0 h1:inaif7qD8bivyxp7XLgxUYtOXWtDez7+j72qKTMQTb8= github.com/CycloneDX/cyclonedx-go v0.9.0/go.mod h1:NE/EWvzELOFlG6+ljX/QeMlVt9VKcTwu8u0ccsACEsw= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= @@ -968,13 +968,13 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.15.0 h1:A82kmvXJq2jTu5YUhSGNlYoxh85zLnKgPz4bMZgI5Ek= -github.com/prometheus/procfs v0.15.0/go.mod h1:Y0RJ/Y5g5wJpkTisOtqwDSo4HwhGmLB4VQSw2sQJLHk= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs= github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI= github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE= @@ -1079,8 +1079,9 @@ github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.6-0.20201009195203-85dd5c8bc61c h1:zqmyTlQyufRC65JnImJ6H1Sf7BDj8bG31EV919NVEQc= +github.com/spf13/pflag v1.0.6-0.20201009195203-85dd5c8bc61c/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= @@ -1262,8 +1263,8 @@ golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuh golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20240529005216-23cca8864a10 h1:VVhuxa8N7+O4pEM7Vh5Z95pkrgl43Aty2fftxzZBjQ8= -golang.org/x/exp/typeparams v0.0.0-20240529005216-23cca8864a10/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20240531132922-fd00a4e0eefc h1:/G4UzmT1obcQpN9U5A8VSpCCwUVcwPUBv/F7mOtqIg4= +golang.org/x/exp/typeparams v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1794,12 +1795,12 @@ honnef.co/go/tools v0.4.7 h1:9MDAWxMoSnB6QoSqiVr7P5mtkT9pOc1kSxchzPCnqJs= honnef.co/go/tools v0.4.7/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0= howett.net/plist v1.0.1 h1:37GdZ8tP09Q35o9ych3ehygcsL+HqKSwzctveSlarvM= howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= -k8s.io/api v0.28.9 h1:E7VEXXCAlSrp+08zq4zgd+ko6Ttu0Mw+XoXlIkDTVW0= -k8s.io/api v0.28.9/go.mod h1:AnCsDYf3SHjfa8mPG5LGYf+iF4mie+3peLQR51MMCgw= -k8s.io/apimachinery v0.28.9 h1:aXz4Zxsw+Pk4KhBerAtKRxNN1uSMWKfciL/iOdBfXvA= -k8s.io/apimachinery v0.28.9/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o= -k8s.io/client-go v0.28.9 h1:mmMvejwc/KDjMLmDpyaxkWNzlWRCJ6ht7Qsbsnwn39Y= -k8s.io/client-go v0.28.9/go.mod h1:GFDy3rUNId++WGrr0hRaBrs+y1eZz5JtVZODEalhRMo= +k8s.io/api v0.30.1 h1:kCm/6mADMdbAxmIh0LBjS54nQBE+U4KmbCfIkF5CpJY= +k8s.io/api v0.30.1/go.mod h1:ddbN2C0+0DIiPntan/bye3SW3PdwLa11/0yqwvuRrJM= +k8s.io/apimachinery v0.30.1 h1:ZQStsEfo4n65yAdlGTfP/uSHMQSoYzU/oeEbkmF7P2U= +k8s.io/apimachinery v0.30.1/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= +k8s.io/client-go v0.30.1 h1:uC/Ir6A3R46wdkgCV3vbLyNOYyCJ8oZnjtJGKfytl/Q= +k8s.io/client-go v0.30.1/go.mod h1:wrAqLNs2trwiCH/wxxmT/x3hKVH9PuV0GGW0oDoHVqc= k8s.io/component-base v0.28.9 h1:ySM2PR8Z/xaUSG1Akd3yM6dqUezTltI7S5aV41MMuuc= k8s.io/component-base v0.28.9/go.mod h1:QtWzscEhCKRfHV24/S+11BwWjVxhC6fd3RYoEgZcWFU= k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= diff --git a/llx/llx.pb.go b/llx/llx.pb.go index 32c727abff..4f9991391b 100644 --- a/llx/llx.pb.go +++ b/llx/llx.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: llx.proto package llx diff --git a/providers-sdk/v1/inventory/inventory.pb.go b/providers-sdk/v1/inventory/inventory.pb.go index 74f64e4de3..d00d082226 100644 --- a/providers-sdk/v1/inventory/inventory.pb.go +++ b/providers-sdk/v1/inventory/inventory.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: inventory.proto package inventory diff --git a/providers-sdk/v1/plugin/plugin.pb.go b/providers-sdk/v1/plugin/plugin.pb.go index fd56e87c84..14a376b8cc 100644 --- a/providers-sdk/v1/plugin/plugin.pb.go +++ b/providers-sdk/v1/plugin/plugin.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: plugin.proto package plugin diff --git a/providers-sdk/v1/plugin/plugin_grpc.pb.go b/providers-sdk/v1/plugin/plugin_grpc.pb.go index 702df5ade2..da76a765bf 100644 --- a/providers-sdk/v1/plugin/plugin_grpc.pb.go +++ b/providers-sdk/v1/plugin/plugin_grpc.pb.go @@ -3,8 +3,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v5.26.1 +// - protoc-gen-go-grpc v1.4.0 +// - protoc v5.27.0 // source: plugin.proto package plugin @@ -18,8 +18,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.62.0 or later. +const _ = grpc.SupportPackageIsVersion8 const ( ProviderPlugin_Heartbeat_FullMethodName = "/cnquery.providers.v1.ProviderPlugin/Heartbeat" @@ -55,8 +55,9 @@ func NewProviderPluginClient(cc grpc.ClientConnInterface) ProviderPluginClient { } func (c *providerPluginClient) Heartbeat(ctx context.Context, in *HeartbeatReq, opts ...grpc.CallOption) (*HeartbeatRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(HeartbeatRes) - err := c.cc.Invoke(ctx, ProviderPlugin_Heartbeat_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderPlugin_Heartbeat_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -64,8 +65,9 @@ func (c *providerPluginClient) Heartbeat(ctx context.Context, in *HeartbeatReq, } func (c *providerPluginClient) ParseCLI(ctx context.Context, in *ParseCLIReq, opts ...grpc.CallOption) (*ParseCLIRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ParseCLIRes) - err := c.cc.Invoke(ctx, ProviderPlugin_ParseCLI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderPlugin_ParseCLI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -73,8 +75,9 @@ func (c *providerPluginClient) ParseCLI(ctx context.Context, in *ParseCLIReq, op } func (c *providerPluginClient) Connect(ctx context.Context, in *ConnectReq, opts ...grpc.CallOption) (*ConnectRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConnectRes) - err := c.cc.Invoke(ctx, ProviderPlugin_Connect_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderPlugin_Connect_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -82,8 +85,9 @@ func (c *providerPluginClient) Connect(ctx context.Context, in *ConnectReq, opts } func (c *providerPluginClient) Disconnect(ctx context.Context, in *DisconnectReq, opts ...grpc.CallOption) (*DisconnectRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DisconnectRes) - err := c.cc.Invoke(ctx, ProviderPlugin_Disconnect_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderPlugin_Disconnect_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -91,8 +95,9 @@ func (c *providerPluginClient) Disconnect(ctx context.Context, in *DisconnectReq } func (c *providerPluginClient) MockConnect(ctx context.Context, in *ConnectReq, opts ...grpc.CallOption) (*ConnectRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConnectRes) - err := c.cc.Invoke(ctx, ProviderPlugin_MockConnect_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderPlugin_MockConnect_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -100,8 +105,9 @@ func (c *providerPluginClient) MockConnect(ctx context.Context, in *ConnectReq, } func (c *providerPluginClient) Shutdown(ctx context.Context, in *ShutdownReq, opts ...grpc.CallOption) (*ShutdownRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ShutdownRes) - err := c.cc.Invoke(ctx, ProviderPlugin_Shutdown_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderPlugin_Shutdown_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -109,8 +115,9 @@ func (c *providerPluginClient) Shutdown(ctx context.Context, in *ShutdownReq, op } func (c *providerPluginClient) GetData(ctx context.Context, in *DataReq, opts ...grpc.CallOption) (*DataRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DataRes) - err := c.cc.Invoke(ctx, ProviderPlugin_GetData_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderPlugin_GetData_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -118,8 +125,9 @@ func (c *providerPluginClient) GetData(ctx context.Context, in *DataReq, opts .. } func (c *providerPluginClient) StoreData(ctx context.Context, in *StoreReq, opts ...grpc.CallOption) (*StoreRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(StoreRes) - err := c.cc.Invoke(ctx, ProviderPlugin_StoreData_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderPlugin_StoreData_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -394,8 +402,9 @@ func NewProviderCallbackClient(cc grpc.ClientConnInterface) ProviderCallbackClie } func (c *providerCallbackClient) Collect(ctx context.Context, in *DataRes, opts ...grpc.CallOption) (*CollectRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CollectRes) - err := c.cc.Invoke(ctx, ProviderCallback_Collect_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderCallback_Collect_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -403,8 +412,9 @@ func (c *providerCallbackClient) Collect(ctx context.Context, in *DataRes, opts } func (c *providerCallbackClient) GetRecording(ctx context.Context, in *DataReq, opts ...grpc.CallOption) (*ResourceData, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResourceData) - err := c.cc.Invoke(ctx, ProviderCallback_GetRecording_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderCallback_GetRecording_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -412,8 +422,9 @@ func (c *providerCallbackClient) GetRecording(ctx context.Context, in *DataReq, } func (c *providerCallbackClient) GetData(ctx context.Context, in *DataReq, opts ...grpc.CallOption) (*DataRes, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DataRes) - err := c.cc.Invoke(ctx, ProviderCallback_GetData_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ProviderCallback_GetData_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } diff --git a/providers-sdk/v1/resources/resources.pb.go b/providers-sdk/v1/resources/resources.pb.go index 172a059b33..4b696c6077 100644 --- a/providers-sdk/v1/resources/resources.pb.go +++ b/providers-sdk/v1/resources/resources.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: resources.proto package resources diff --git a/providers-sdk/v1/upstream/health/errors.pb.go b/providers-sdk/v1/upstream/health/errors.pb.go index d6a42dece6..62edb19209 100644 --- a/providers-sdk/v1/upstream/health/errors.pb.go +++ b/providers-sdk/v1/upstream/health/errors.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: errors.proto package health diff --git a/providers-sdk/v1/upstream/health/health.pb.go b/providers-sdk/v1/upstream/health/health.pb.go index 1b0128f2cb..bd9c146d1c 100644 --- a/providers-sdk/v1/upstream/health/health.pb.go +++ b/providers-sdk/v1/upstream/health/health.pb.go @@ -18,7 +18,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: health.proto package health diff --git a/providers-sdk/v1/upstream/mvd/cvss/cvss.pb.go b/providers-sdk/v1/upstream/mvd/cvss/cvss.pb.go index 03b116f735..a1affad5d3 100644 --- a/providers-sdk/v1/upstream/mvd/cvss/cvss.pb.go +++ b/providers-sdk/v1/upstream/mvd/cvss/cvss.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: cvss.proto package cvss diff --git a/providers-sdk/v1/upstream/mvd/mvd.pb.go b/providers-sdk/v1/upstream/mvd/mvd.pb.go index d645a347ca..4446553a31 100644 --- a/providers-sdk/v1/upstream/mvd/mvd.pb.go +++ b/providers-sdk/v1/upstream/mvd/mvd.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: mvd.proto package mvd diff --git a/providers-sdk/v1/upstream/upstream.pb.go b/providers-sdk/v1/upstream/upstream.pb.go index b26ce62f3d..b0b8cafc26 100644 --- a/providers-sdk/v1/upstream/upstream.pb.go +++ b/providers-sdk/v1/upstream/upstream.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: upstream.proto package upstream diff --git a/providers-sdk/v1/vault/vault.pb.go b/providers-sdk/v1/vault/vault.pb.go index 93ccb2689c..57b0e3a11f 100644 --- a/providers-sdk/v1/vault/vault.pb.go +++ b/providers-sdk/v1/vault/vault.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: vault.proto package vault diff --git a/providers/aws/resources/aws.lr b/providers/aws/resources/aws.lr index 8ab8fb7197..b51862c0a0 100644 --- a/providers/aws/resources/aws.lr +++ b/providers/aws/resources/aws.lr @@ -23,6 +23,11 @@ aws.account @defaults("id") { aliases() []string // Information about the associated organization, if any organization() aws.organization + // Tags on the account + // Note: This operation can only be called from the organization's management + // account or by a member account that is a delegated administrator for an + // Amazon Web Services service. + tags() map[string]string } // AWS Organization resource diff --git a/providers/aws/resources/aws.lr.go b/providers/aws/resources/aws.lr.go index d223769cf5..f28c348871 100644 --- a/providers/aws/resources/aws.lr.go +++ b/providers/aws/resources/aws.lr.go @@ -805,6 +805,9 @@ var getDataFields = map[string]func(r plugin.Resource) *plugin.DataRes{ "aws.account.organization": func(r plugin.Resource) *plugin.DataRes { return (r.(*mqlAwsAccount).GetOrganization()).ToDataRes(types.Resource("aws.organization")) }, + "aws.account.tags": func(r plugin.Resource) *plugin.DataRes { + return (r.(*mqlAwsAccount).GetTags()).ToDataRes(types.Map(types.String, types.String)) + }, "aws.organization.arn": func(r plugin.Resource) *plugin.DataRes { return (r.(*mqlAwsOrganization).GetArn()).ToDataRes(types.String) }, @@ -4397,6 +4400,10 @@ var setDataFields = map[string]func(r plugin.Resource, v *llx.RawData) bool { r.(*mqlAwsAccount).Organization, ok = plugin.RawToTValue[*mqlAwsOrganization](v.Value, v.Error) return }, + "aws.account.tags": func(r plugin.Resource, v *llx.RawData) (ok bool) { + r.(*mqlAwsAccount).Tags, ok = plugin.RawToTValue[map[string]interface{}](v.Value, v.Error) + return + }, "aws.organization.__id": func(r plugin.Resource, v *llx.RawData) (ok bool) { r.(*mqlAwsOrganization).__id, ok = v.Value.(string) return @@ -9924,6 +9931,7 @@ type mqlAwsAccount struct { Id plugin.TValue[string] Aliases plugin.TValue[[]interface{}] Organization plugin.TValue[*mqlAwsOrganization] + Tags plugin.TValue[map[string]interface{}] } // createAwsAccount creates a new instance of this resource @@ -9989,6 +9997,12 @@ func (c *mqlAwsAccount) GetOrganization() *plugin.TValue[*mqlAwsOrganization] { }) } +func (c *mqlAwsAccount) GetTags() *plugin.TValue[map[string]interface{}] { + return plugin.GetOrCompute[map[string]interface{}](&c.Tags, func() (map[string]interface{}, error) { + return c.tags() + }) +} + // mqlAwsOrganization for the aws.organization resource type mqlAwsOrganization struct { MqlRuntime *plugin.Runtime diff --git a/providers/aws/resources/aws.lr.manifest.yaml b/providers/aws/resources/aws.lr.manifest.yaml index ba30713c4b..a116afea6b 100755 --- a/providers/aws/resources/aws.lr.manifest.yaml +++ b/providers/aws/resources/aws.lr.manifest.yaml @@ -83,6 +83,8 @@ resources: id: {} organization: min_mondoo_version: 6.11.0 + tags: + min_mondoo_version: 9.0.0 min_mondoo_version: 5.15.0 platform: name: diff --git a/providers/aws/resources/aws_account.go b/providers/aws/resources/aws_account.go index 1207f5b42b..9c29296803 100644 --- a/providers/aws/resources/aws_account.go +++ b/providers/aws/resources/aws_account.go @@ -75,6 +75,38 @@ func (a *mqlAwsOrganization) accounts() ([]interface{}, error) { return accounts, nil } +// tags retrieves a map of tags for a given AWS resource. +func (c *mqlAwsAccount) tags() (map[string]interface{}, error) { + conn := c.MqlRuntime.Connection.(*connection.AwsConnection) + client := conn.Organizations("") // no region for orgs, use configured region + + input := &organizations.ListTagsForResourceInput{ + ResourceId: &c.Id.Data, + } + + // Note: This operation can only be called from the organization's management + // account or by a member account that is a delegated administrator for an + // Amazon Web Services service. + tags := make(map[string]interface{}) + for { + res, err := client.ListTagsForResource(context.TODO(), input) + if err != nil { + return nil, err + } + + for _, tag := range res.Tags { + tags[*tag.Key] = *tag.Value + } + + if res.NextToken == nil { + break + } + input.NextToken = res.NextToken + } + + return tags, nil +} + func initAwsAccount(runtime *plugin.Runtime, args map[string]*llx.RawData) (map[string]*llx.RawData, plugin.Resource, error) { if len(args) >= 2 { return args, nil, nil diff --git a/sbom/sbom.pb.go b/sbom/sbom.pb.go index 3862b38087..d08190075b 100644 --- a/sbom/sbom.pb.go +++ b/sbom/sbom.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: sbom.proto package sbom diff --git a/shared/proto/cnquery.pb.go b/shared/proto/cnquery.pb.go index 778148167a..becc51fb0e 100644 --- a/shared/proto/cnquery.pb.go +++ b/shared/proto/cnquery.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.1 -// protoc v5.26.1 +// protoc v5.27.0 // source: cnquery.proto package proto diff --git a/shared/proto/cnquery_grpc.pb.go b/shared/proto/cnquery_grpc.pb.go index 373dbf56f7..fae7f2909d 100644 --- a/shared/proto/cnquery_grpc.pb.go +++ b/shared/proto/cnquery_grpc.pb.go @@ -3,8 +3,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v5.26.1 +// - protoc-gen-go-grpc v1.4.0 +// - protoc v5.27.0 // source: cnquery.proto package proto @@ -18,8 +18,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.62.0 or later. +const _ = grpc.SupportPackageIsVersion8 const ( CNQuery_RunQuery_FullMethodName = "/proto.CNQuery/RunQuery" @@ -41,8 +41,9 @@ func NewCNQueryClient(cc grpc.ClientConnInterface) CNQueryClient { } func (c *cNQueryClient) RunQuery(ctx context.Context, in *RunQueryConfig, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, CNQuery_RunQuery_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, CNQuery_RunQuery_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -131,8 +132,9 @@ func NewOutputHelperClient(cc grpc.ClientConnInterface) OutputHelperClient { } func (c *outputHelperClient) Write(ctx context.Context, in *String, opts ...grpc.CallOption) (*Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Empty) - err := c.cc.Invoke(ctx, OutputHelper_Write_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, OutputHelper_Write_FullMethodName, in, out, cOpts...) if err != nil { return nil, err }