diff --git a/go.mod b/go.mod index 514a61fa..5e9a225e 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3 github.com/hashicorp/go-multierror v1.1.1 - github.com/hetznercloud/hcloud-go/v2 v2.41.2 + github.com/hetznercloud/hcloud-go/v2 v2.43.0 github.com/jackc/pgx/v5 v5.9.2 github.com/johannesboyne/gofakes3 v0.0.0-20260208201424-4c385a1f6a73 github.com/lestrrat-go/jwx/v4 v4.0.2 diff --git a/go.sum b/go.sum index 8f639176..1d9545f1 100644 --- a/go.sum +++ b/go.sum @@ -206,6 +206,8 @@ github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hetznercloud/hcloud-go/v2 v2.41.2 h1:fO5zsMgp5oejrtnFj8mYuqlp+iMuirpaKv4b5FYNRdQ= github.com/hetznercloud/hcloud-go/v2 v2.41.2/go.mod h1:9OGvC//jbHE4sv2Oyo0bQ2vEWuUMKYoNMyj9Qxz2qcc= +github.com/hetznercloud/hcloud-go/v2 v2.43.0 h1:soqEUxJJqbf8UICQmDXfUwY/khfROAk0fi1s0bnBtd8= +github.com/hetznercloud/hcloud-go/v2 v2.43.0/go.mod h1:d0s2WLe7jSoStamv3eHoWgBSOxc/K17tYSXsqUkbse0= github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/action.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/action.go index e01480e8..6f907fc7 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/action.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/action.go @@ -109,7 +109,7 @@ type ActionListOpts struct { Sort []string } -func (l ActionListOpts) values() url.Values { +func (l ActionListOpts) Values() url.Values { vals := l.ListOpts.Values() for _, id := range l.ID { vals.Add("id", fmt.Sprintf("%d", id)) @@ -188,7 +188,7 @@ func (c *ResourceActionClient[R]) List(ctx context.Context, opts ActionListOpts) opPath := c.getBaseURL() + "/actions?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ActionListResponse](ctx, c.client, reqPath) if err != nil { @@ -232,7 +232,7 @@ func (c *ResourceActionClient[R]) ListFor(ctx context.Context, resource R, opts return nil, nil, invalidArgument("resource", resource, err) } - reqPath := fmt.Sprintf(opPath, id, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, id, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ActionListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/certificate.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/certificate.go index e2476c51..bb710c8d 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/certificate.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/certificate.go @@ -134,7 +134,7 @@ type CertificateListOpts struct { Sort []string } -func (l CertificateListOpts) values() url.Values { +func (l CertificateListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -153,7 +153,7 @@ func (c *CertificateClient) List(ctx context.Context, opts CertificateListOpts) const opPath = "/certificates?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.CertificateListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/client_handler_retry.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/client_handler_retry.go index 10aa086a..eb5c22c3 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/client_handler_retry.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/client_handler_retry.go @@ -66,6 +66,8 @@ func retryPolicy(resp *Response, err error) bool { return true case ErrorCodeRateLimitExceeded: return true + case ErrorCodeBadGateway: + return true case ErrorCodeTimeout: return true } diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/datacenter.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/datacenter.go index 41311af6..bbd87dfa 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/datacenter.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/datacenter.go @@ -78,7 +78,7 @@ type DatacenterListOpts struct { Sort []string } -func (l DatacenterListOpts) values() url.Values { +func (l DatacenterListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -97,7 +97,7 @@ func (c *DatacenterClient) List(ctx context.Context, opts DatacenterListOpts) ([ const opPath = "/datacenters?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.DatacenterListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/error.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/error.go index a34fbd9a..98cfbaf1 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/error.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/error.go @@ -3,6 +3,7 @@ package hcloud import ( "errors" "fmt" + "log/slog" "net" "slices" "strings" @@ -32,6 +33,7 @@ const ( ErrorCodeResourceLocked ErrorCode = "resource_locked" // The resource is locked. The caller should contact support ErrorCodeServerError ErrorCode = "server_error" // Error within the API backend ErrorCodeTokenReadonly ErrorCode = "token_readonly" // The token is only allowed to perform GET requests + ErrorCodeBadGateway ErrorCode = "bad_gateway" // The request could not be answered by the API backend, please retry ErrorCodeTimeout ErrorCode = "timeout" // The request could not be answered in time, please retry ErrorUnsupportedError ErrorCode = "unsupported_error" // The given resource does not support this ErrorDeprecatedAPIEndpoint ErrorCode = "deprecated_api_endpoint" // The request can not be answered because the API functionality was removed @@ -136,6 +138,42 @@ func (e Error) Response() *Response { return e.response } +// LogValue implements [slog.LogValuer] for a [Error]. +func (e Error) LogValue() slog.Value { + attrs := []slog.Attr{ + slog.String("msg", e.Message), + slog.String("code", string(e.Code)), + } + + if resp := e.Response(); resp != nil { + correlationID := resp.internalCorrelationID() + if correlationID != "" { + attrs = append(attrs, + slog.String("correlation-id", correlationID), + ) + } + } + + if e.Details != nil { + switch details := e.Details.(type) { + case ErrorDetailsInvalidInput: + attrs = append(attrs, + slog.String("details", fmt.Sprintf("%v", details.Fields)), + ) + case ErrorDetailsDeprecatedAPIEndpoint: + attrs = append(attrs, + slog.String("details", fmt.Sprintf("%v", details)), + ) + default: + attrs = append(attrs, + slog.String("details", fmt.Sprintf("%v", details)), + ) + } + } + + return slog.GroupValue(attrs...) +} + // ErrorDetailsInvalidInput contains the details of an 'invalid_input' error. type ErrorDetailsInvalidInput struct { Fields []ErrorDetailsInvalidInputField diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/firewall.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/firewall.go index 3cc07efa..03c7e981 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/firewall.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/firewall.go @@ -140,7 +140,7 @@ type FirewallListOpts struct { Sort []string } -func (l FirewallListOpts) values() url.Values { +func (l FirewallListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -159,7 +159,7 @@ func (c *FirewallClient) List(ctx context.Context, opts FirewallListOpts) ([]*Fi const opPath = "/firewalls?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.FirewallListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/floating_ip.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/floating_ip.go index de7b7938..691ffc00 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/floating_ip.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/floating_ip.go @@ -134,7 +134,7 @@ type FloatingIPListOpts struct { Sort []string } -func (l FloatingIPListOpts) values() url.Values { +func (l FloatingIPListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -153,7 +153,7 @@ func (c *FloatingIPClient) List(ctx context.Context, opts FloatingIPListOpts) ([ const opPath = "/floating_ips?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.FloatingIPListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/generate.sh b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/generate.sh index cad0ad27..3f9e9834 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/generate.sh +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/generate.sh @@ -1,4 +1,4 @@ -#!/usr/bin/sh +#!/usr/bin/env sh set -eu diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/hcloud.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/hcloud.go index 63fb6483..aa09bfa4 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/hcloud.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/hcloud.go @@ -72,6 +72,7 @@ When the API returned an HTTP error, with the status code: When the API returned an application error, with the code: - [ErrorCodeConflict] - [ErrorCodeRateLimitExceeded] + - [ErrorCodeBadGateway] - [ErrorCodeTimeout] Changes to the retry policy might occur between releases, and will not be considered @@ -80,4 +81,4 @@ breaking changes. package hcloud // Version is the library's version following Semantic Versioning. -const Version = "2.41.2" // x-releaser-pleaser-version +const Version = "2.43.0" // x-releaser-pleaser-version diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/image.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/image.go index 8ba97004..d4c81947 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/image.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/image.go @@ -159,7 +159,7 @@ type ImageListOpts struct { Architecture []Architecture } -func (l ImageListOpts) values() url.Values { +func (l ImageListOpts) Values() url.Values { vals := l.ListOpts.Values() for _, typ := range l.Type { vals.Add("type", string(typ)) @@ -193,7 +193,7 @@ func (c *ImageClient) List(ctx context.Context, opts ImageListOpts) ([]*Image, * const opPath = "/images?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ImageListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/iso.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/iso.go index c97c3885..1059817c 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/iso.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/iso.go @@ -86,7 +86,7 @@ type ISOListOpts struct { IncludeArchitectureWildcard bool } -func (l ISOListOpts) values() url.Values { +func (l ISOListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -111,7 +111,7 @@ func (c *ISOClient) List(ctx context.Context, opts ISOListOpts) ([]*ISO, *Respon const opPath = "/isos?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ISOListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/load_balancer.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/load_balancer.go index 91c644c8..7f79e204 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/load_balancer.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/load_balancer.go @@ -293,7 +293,7 @@ type LoadBalancerListOpts struct { Sort []string } -func (l LoadBalancerListOpts) values() url.Values { +func (l LoadBalancerListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -312,7 +312,7 @@ func (c *LoadBalancerClient) List(ctx context.Context, opts LoadBalancerListOpts const opPath = "/load_balancers?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.LoadBalancerListResponse](ctx, c.client, reqPath) if err != nil { @@ -933,7 +933,7 @@ func (o LoadBalancerGetMetricsOpts) Validate() error { return nil } -func (o LoadBalancerGetMetricsOpts) values() url.Values { +func (o LoadBalancerGetMetricsOpts) Values() url.Values { query := url.Values{} for _, typ := range o.Types { @@ -979,7 +979,7 @@ func (c *LoadBalancerClient) GetMetrics( return nil, nil, err } - reqPath := fmt.Sprintf(opPath, loadBalancer.ID, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, loadBalancer.ID, opts.Values().Encode()) respBody, resp, err := getRequest[schema.LoadBalancerGetMetricsResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/load_balancer_type.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/load_balancer_type.go index 78518006..ff828689 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/load_balancer_type.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/load_balancer_type.go @@ -69,7 +69,7 @@ type LoadBalancerTypeListOpts struct { Sort []string } -func (l LoadBalancerTypeListOpts) values() url.Values { +func (l LoadBalancerTypeListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -88,7 +88,7 @@ func (c *LoadBalancerTypeClient) List(ctx context.Context, opts LoadBalancerType const opPath = "/load_balancer_types?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.LoadBalancerTypeListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/location.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/location.go index d80d9963..1b0a482d 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/location.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/location.go @@ -68,7 +68,7 @@ type LocationListOpts struct { Sort []string } -func (l LocationListOpts) values() url.Values { +func (l LocationListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -87,7 +87,7 @@ func (c *LocationClient) List(ctx context.Context, opts LocationListOpts) ([]*Lo const opPath = "/locations?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.LocationListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/network.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/network.go index b502ac1e..d467eebe 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/network.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/network.go @@ -128,7 +128,7 @@ type NetworkListOpts struct { Sort []string } -func (l NetworkListOpts) values() url.Values { +func (l NetworkListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -147,7 +147,7 @@ func (c *NetworkClient) List(ctx context.Context, opts NetworkListOpts) ([]*Netw const opPath = "/networks?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.NetworkListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/placement_group.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/placement_group.go index 2bd5666f..b1acb4de 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/placement_group.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/placement_group.go @@ -72,7 +72,7 @@ type PlacementGroupListOpts struct { Sort []string } -func (l PlacementGroupListOpts) values() url.Values { +func (l PlacementGroupListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -94,7 +94,7 @@ func (c *PlacementGroupClient) List(ctx context.Context, opts PlacementGroupList const opPath = "/placement_groups?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.PlacementGroupListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/primary_ip.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/primary_ip.go index 87d07310..b062da4a 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/primary_ip.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/primary_ip.go @@ -220,7 +220,7 @@ type PrimaryIPListOpts struct { Sort []string } -func (l PrimaryIPListOpts) values() url.Values { +func (l PrimaryIPListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -242,7 +242,7 @@ func (c *PrimaryIPClient) List(ctx context.Context, opts PrimaryIPListOpts) ([]* const opPath = "/primary_ips?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.PrimaryIPListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/server.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/server.go index f38f786f..0104820a 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/server.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/server.go @@ -252,7 +252,7 @@ type ServerListOpts struct { Sort []string } -func (l ServerListOpts) values() url.Values { +func (l ServerListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -274,7 +274,7 @@ func (c *ServerClient) List(ctx context.Context, opts ServerListOpts) ([]*Server const opPath = "/servers?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ServerListResponse](ctx, c.client, reqPath) if err != nil { @@ -1055,7 +1055,7 @@ func (o ServerGetMetricsOpts) Validate() error { return nil } -func (o ServerGetMetricsOpts) values() url.Values { +func (o ServerGetMetricsOpts) Values() url.Values { query := url.Values{} for _, typ := range o.Types { @@ -1099,7 +1099,7 @@ func (c *ServerClient) GetMetrics(ctx context.Context, server *Server, opts Serv return nil, nil, err } - reqPath := fmt.Sprintf(opPath, server.ID, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, server.ID, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ServerGetMetricsResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/server_type.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/server_type.go index 2fd19897..2d104daa 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/server_type.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/server_type.go @@ -110,7 +110,7 @@ type ServerTypeListOpts struct { Sort []string } -func (l ServerTypeListOpts) values() url.Values { +func (l ServerTypeListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -129,7 +129,7 @@ func (c *ServerTypeClient) List(ctx context.Context, opts ServerTypeListOpts) ([ const opPath = "/server_types?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ServerTypeListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/ssh_key.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/ssh_key.go index 92335a6b..2430b4ee 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/ssh_key.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/ssh_key.go @@ -71,7 +71,7 @@ type SSHKeyListOpts struct { Sort []string } -func (l SSHKeyListOpts) values() url.Values { +func (l SSHKeyListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -93,7 +93,7 @@ func (c *SSHKeyClient) List(ctx context.Context, opts SSHKeyListOpts) ([]*SSHKey const opPath = "/ssh_keys?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.SSHKeyListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box.go index 63dea8e2..a9da8ed2 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box.go @@ -141,7 +141,7 @@ type StorageBoxListOpts struct { Sort []string } -func (l StorageBoxListOpts) values() url.Values { +func (l StorageBoxListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -162,7 +162,7 @@ func (c *StorageBoxClient) List(ctx context.Context, opts StorageBoxListOpts) ([ const opPath = "/storage_boxes?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.StorageBoxListResponse](ctx, c.client, reqPath) if err != nil { @@ -317,7 +317,7 @@ type StorageBoxFoldersOpts struct { Path string } -func (o StorageBoxFoldersOpts) values() url.Values { +func (o StorageBoxFoldersOpts) Values() url.Values { vals := url.Values{} if o.Path != "" { vals.Add("path", o.Path) @@ -332,7 +332,7 @@ func (c *StorageBoxClient) Folders(ctx context.Context, storageBox *StorageBox, const opPath = "/storage_boxes/%d/folders?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, storageBox.ID, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, storageBox.ID, opts.Values().Encode()) result := StorageBoxFoldersResult{} diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_snapshot.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_snapshot.go index 3d080567..f6b29de8 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_snapshot.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_snapshot.go @@ -93,7 +93,7 @@ type StorageBoxSnapshotListOpts struct { Sort []string } -func (o StorageBoxSnapshotListOpts) values() url.Values { +func (o StorageBoxSnapshotListOpts) Values() url.Values { vals := url.Values{} if o.LabelSelector != "" { vals.Set("label_selector", o.LabelSelector) @@ -123,7 +123,7 @@ func (c *StorageBoxClient) ListSnapshots( const optPath = "/storage_boxes/%d/snapshots?%s" ctx = ctxutil.SetOpPath(ctx, optPath) - reqPath := fmt.Sprintf(optPath, storageBox.ID, opts.values().Encode()) + reqPath := fmt.Sprintf(optPath, storageBox.ID, opts.Values().Encode()) respBody, resp, err := getRequest[schema.StorageBoxSnapshotListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_subaccount.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_subaccount.go index a6010ff8..a0064afd 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_subaccount.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_subaccount.go @@ -119,7 +119,7 @@ type StorageBoxSubaccountListOpts struct { Sort []string } -func (o StorageBoxSubaccountListOpts) values() url.Values { +func (o StorageBoxSubaccountListOpts) Values() url.Values { vals := url.Values{} if o.Name != "" { vals.Add("name", o.Name) @@ -147,7 +147,7 @@ func (c *StorageBoxClient) ListSubaccounts( const opPath = "/storage_boxes/%d/subaccounts?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, storageBox.ID, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, storageBox.ID, opts.Values().Encode()) respBody, resp, err := getRequest[schema.StorageBoxSubaccountListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_type.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_type.go index dc41c13d..186cbcaf 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_type.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/storage_box_type.go @@ -44,7 +44,7 @@ type StorageBoxTypeListOpts struct { Name string } -func (l StorageBoxTypeListOpts) values() url.Values { +func (l StorageBoxTypeListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -59,7 +59,7 @@ func (c *StorageBoxTypeClient) List(ctx context.Context, opts StorageBoxTypeList const opPath = "/storage_box_types?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.StorageBoxTypeListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/volume.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/volume.go index 1e2a34b7..590094da 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/volume.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/volume.go @@ -99,7 +99,7 @@ type VolumeListOpts struct { Sort []string } -func (l VolumeListOpts) values() url.Values { +func (l VolumeListOpts) Values() url.Values { vals := l.ListOpts.Values() if l.Name != "" { vals.Add("name", l.Name) @@ -121,7 +121,7 @@ func (c *VolumeClient) List(ctx context.Context, opts VolumeListOpts) ([]*Volume const opPath = "/volumes?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.VolumeListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/zone.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/zone.go index 5d342fa0..778f1626 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/zone.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/zone.go @@ -166,7 +166,7 @@ type ZoneListOpts struct { Sort []string } -func (l ZoneListOpts) values() url.Values { +func (l ZoneListOpts) Values() url.Values { result := l.ListOpts.Values() if l.Name != "" { result.Add("name", l.Name) @@ -187,7 +187,7 @@ func (c *ZoneClient) List(ctx context.Context, opts ZoneListOpts) ([]*Zone, *Res const opPath = "/zones?%s" ctx = ctxutil.SetOpPath(ctx, opPath) - reqPath := fmt.Sprintf(opPath, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ZoneListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/zone_rrset.go b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/zone_rrset.go index 24ffcdeb..45c3cacc 100644 --- a/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/zone_rrset.go +++ b/vendor/github.com/hetznercloud/hcloud-go/v2/hcloud/zone_rrset.go @@ -123,7 +123,7 @@ type ZoneRRSetListOpts struct { Sort []string } -func (l ZoneRRSetListOpts) values() url.Values { +func (l ZoneRRSetListOpts) Values() url.Values { result := l.ListOpts.Values() if l.Name != "" { result.Add("name", l.Name) @@ -149,7 +149,7 @@ func (c *ZoneClient) ListRRSets(ctx context.Context, zone *Zone, opts ZoneRRSetL return nil, nil, invalidArgument("zone", zone, err) } - reqPath := fmt.Sprintf(opPath, zoneIDOrName, opts.values().Encode()) + reqPath := fmt.Sprintf(opPath, zoneIDOrName, opts.Values().Encode()) respBody, resp, err := getRequest[schema.ZoneRRSetListResponse](ctx, c.client, reqPath) if err != nil { diff --git a/vendor/modules.txt b/vendor/modules.txt index 101c4a7e..358404aa 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -479,7 +479,7 @@ github.com/hashicorp/errwrap # github.com/hashicorp/go-multierror v1.1.1 ## explicit; go 1.13 github.com/hashicorp/go-multierror -# github.com/hetznercloud/hcloud-go/v2 v2.41.2 +# github.com/hetznercloud/hcloud-go/v2 v2.43.0 ## explicit; go 1.25.0 github.com/hetznercloud/hcloud-go/v2/hcloud github.com/hetznercloud/hcloud-go/v2/hcloud/exp/ctxutil