diff --git a/go.mod b/go.mod index 21f460e4f..efdbeae32 100644 --- a/go.mod +++ b/go.mod @@ -3,12 +3,12 @@ module github.com/pivotal-cf/on-demand-service-broker go 1.20 require ( - code.cloudfoundry.org/credhub-cli v0.0.0-20230710130528-3355d59eadab + code.cloudfoundry.org/credhub-cli v0.0.0-20230717130308-c75b7a7d0bf9 code.cloudfoundry.org/lager/v3 v3.0.2 github.com/blang/semver/v4 v4.0.0 github.com/cloudfoundry-community/go-uaa v0.3.2-0.20230202170949-a3819b81bf7e - github.com/cloudfoundry/bosh-cli/v7 v7.2.4 - github.com/cloudfoundry/bosh-utils v0.0.372 + github.com/cloudfoundry/bosh-cli/v7 v7.3.1 + github.com/cloudfoundry/bosh-utils v0.0.373 github.com/craigfurman/herottp v0.0.0-20190418132442-c546d62f2a8d github.com/gorilla/mux v1.8.0 github.com/maxbrunsfeld/counterfeiter/v6 v6.6.2 @@ -28,7 +28,7 @@ require ( github.com/bmatcuk/doublestar v1.3.4 // indirect github.com/charlievieth/fs v0.0.3 // indirect github.com/cloudfoundry/go-socks5 v0.0.0-20180221174514-54f73bdb8a8e // indirect - github.com/cloudfoundry/socks5-proxy v0.2.93 // indirect + github.com/cloudfoundry/socks5-proxy v0.2.94 // indirect github.com/cppforlife/go-semi-semantic v0.0.0-20160921010311-576b6af77ae4 // indirect github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/go-chi/chi/v5 v5.0.8 // indirect @@ -52,7 +52,7 @@ require ( golang.org/x/crypto v0.11.0 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.12.0 // indirect - golang.org/x/oauth2 v0.9.0 // indirect + golang.org/x/oauth2 v0.10.0 // indirect golang.org/x/sys v0.10.0 // indirect golang.org/x/text v0.11.0 // indirect golang.org/x/tools v0.11.0 // indirect diff --git a/go.sum b/go.sum index 54d0761f6..b7eb7c2e9 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= code.cloudfoundry.org/clock v1.1.0 h1:XLzC6W3Ah/Y7ht1rmZ6+QfPdt1iGWEAAtIZXgiaj57c= -code.cloudfoundry.org/credhub-cli v0.0.0-20230710130528-3355d59eadab h1:K12huYifkTvqx/BrGnNWam+JTPZLlJEpV72zOcTg/G4= -code.cloudfoundry.org/credhub-cli v0.0.0-20230710130528-3355d59eadab/go.mod h1:X66c3a+4hryOfU6bI5ANTkgW9EWBE3+BbXzgPXzp5Tw= +code.cloudfoundry.org/credhub-cli v0.0.0-20230717130308-c75b7a7d0bf9 h1:emtew5vHvNLOhgrcSacug/6yN9IlZeTVukJFLg5xZuQ= +code.cloudfoundry.org/credhub-cli v0.0.0-20230717130308-c75b7a7d0bf9/go.mod h1:PiCSd4NHtgqK+WYeAfJVlEAufNKs6EAXvN21zBB8p9I= code.cloudfoundry.org/lager/v3 v3.0.2 h1:H0dcQY+814G1Ea0e5K/AMaMpcr+Pe5Iv+AALJEwrP9U= code.cloudfoundry.org/lager/v3 v3.0.2/go.mod h1:zA6tOIWhr5uZUez+PGpdfBHDWQOfhOrr0cgKDagZPwk= code.cloudfoundry.org/tlsconfig v0.0.0-20230612153104-23c0622de227 h1:QYyb6Ur0Ys6FciDB3+8zCW3eVk7AxAs2++Foa5DAdt0= @@ -15,14 +15,14 @@ github.com/charlievieth/fs v0.0.3 h1:3lZQXTj4PbE81CVPwALSn+JoyCNXkZgORHN6h2XHGlg github.com/charlievieth/fs v0.0.3/go.mod h1:hD4sRzto1Hw8zCua76tNVKZxaeZZr1RiKftjAJQRLLo= github.com/cloudfoundry-community/go-uaa v0.3.2-0.20230202170949-a3819b81bf7e h1:eA0Qy5qp11yFfsD63QzR1Pk8ode+E4Wp238d3p5qx54= github.com/cloudfoundry-community/go-uaa v0.3.2-0.20230202170949-a3819b81bf7e/go.mod h1:CZikL3h0Li3DtqoZULq6/bW4KIJsM1FOVxVLSEHROik= -github.com/cloudfoundry/bosh-cli/v7 v7.2.4 h1:brGxZUPkhLyqd5pqXju6B4qXW5m9PktG9lnBMsj3BvM= -github.com/cloudfoundry/bosh-cli/v7 v7.2.4/go.mod h1:hG3s67Tbgn0H3orpIQ1+cdO7Jd2S2bUZ9O9zfjyvBwQ= -github.com/cloudfoundry/bosh-utils v0.0.372 h1:a7wvrgLv7j69JVlmpGuWt+TBvrjxEQ0xJt/3/WwSCFk= -github.com/cloudfoundry/bosh-utils v0.0.372/go.mod h1:seqKYzWZ1hfTXjAOZ9Se2CA+25nkPO0rXPNPXkasOmg= +github.com/cloudfoundry/bosh-cli/v7 v7.3.1 h1:Uf2shJ/QPGeLCCRIT2wCA9yM7yv7OlozKYftDtOYlOY= +github.com/cloudfoundry/bosh-cli/v7 v7.3.1/go.mod h1:C6YH4jEdp9UczL9OfXGr51+iYhybzibDcjWOQNjhuto= +github.com/cloudfoundry/bosh-utils v0.0.373 h1:Qp9gInFsyBeZRnnjWgBm9kqTMcw6W8XSHV9MT85ZeN0= +github.com/cloudfoundry/bosh-utils v0.0.373/go.mod h1:67n5J3/Iq53LCvubJ4sX5BwdtMWnFcs52djGlEtvv74= github.com/cloudfoundry/go-socks5 v0.0.0-20180221174514-54f73bdb8a8e h1:FQdRViaoDphGRfgrotl2QGsX1gbloe57dbGBS5CG6KY= github.com/cloudfoundry/go-socks5 v0.0.0-20180221174514-54f73bdb8a8e/go.mod h1:PXmcacyJB/pJjSxEl15IU6rEIKXrhZQRzsr0UTkgNNs= -github.com/cloudfoundry/socks5-proxy v0.2.93 h1:41/75yjN0iRDWJ2roCv/Z4mh1SXVFJNWl48XgAAU4PE= -github.com/cloudfoundry/socks5-proxy v0.2.93/go.mod h1:Oi6r95E3xayW6QFZYsasnPxuo2ySkr5cYWgpBzapdlw= +github.com/cloudfoundry/socks5-proxy v0.2.94 h1:QxoVf8Ar3hydo6kuFJv9EW4q2hc+kLCzC81hdnd/was= +github.com/cloudfoundry/socks5-proxy v0.2.94/go.mod h1:Oi6r95E3xayW6QFZYsasnPxuo2ySkr5cYWgpBzapdlw= github.com/cppforlife/go-semi-semantic v0.0.0-20160921010311-576b6af77ae4 h1:J+ghqo7ZubTzelkjo9hntpTtP/9lUCWH9icEmAW+B+Q= github.com/cppforlife/go-semi-semantic v0.0.0-20160921010311-576b6af77ae4/go.mod h1:socxpf5+mELPbosI149vWpNlHK6mbfWFxSWOoSndXR8= github.com/craigfurman/herottp v0.0.0-20190418132442-c546d62f2a8d h1:Qun4nleHcXeLhMnBphrwAbEBpVYWQ4e7FgATqZzdYW4= @@ -152,8 +152,8 @@ golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.9.0 h1:BPpt2kU7oMRq3kCHAA1tbSEshXRw1LpG2ztgDwrzuAs= -golang.org/x/oauth2 v0.9.0/go.mod h1:qYgFZaFiu6Wg24azG8bdV52QJXJGbZzIIsRCdVKzbLw= +golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= +golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/vendor/github.com/cloudfoundry/bosh-cli/v7/director/interfaces.go b/vendor/github.com/cloudfoundry/bosh-cli/v7/director/interfaces.go index 29b73cef4..35bb4b222 100644 --- a/vendor/github.com/cloudfoundry/bosh-cli/v7/director/interfaces.go +++ b/vendor/github.com/cloudfoundry/bosh-cli/v7/director/interfaces.go @@ -5,9 +5,10 @@ import ( "os" "time" - bio "github.com/cloudfoundry/bosh-cli/v7/io" biproperty "github.com/cloudfoundry/bosh-utils/property" semver "github.com/cppforlife/go-semi-semantic/version" + + bio "github.com/cloudfoundry/bosh-cli/v7/io" ) // You only need **one** of these per package! @@ -152,7 +153,7 @@ type Deployment interface { RunErrand(string, bool, bool, []InstanceGroupOrInstanceSlug) ([]ErrandResult, error) ScanForProblems() ([]Problem, error) - ResolveProblems([]ProblemAnswer) error + ResolveProblems([]ProblemAnswer, map[string]string) error Snapshots() ([]Snapshot, error) TakeSnapshots() error diff --git a/vendor/github.com/cloudfoundry/bosh-cli/v7/director/problems.go b/vendor/github.com/cloudfoundry/bosh-cli/v7/director/problems.go index f52392079..edcb6c5b3 100644 --- a/vendor/github.com/cloudfoundry/bosh-cli/v7/director/problems.go +++ b/vendor/github.com/cloudfoundry/bosh-cli/v7/director/problems.go @@ -12,8 +12,9 @@ import ( type Problem struct { ID int // e.g. 4 - Type string // e.g. "unresponsive_agent" - Description string // e.g. "api/1 (5efd2cb8-d73b-4e45-6df4-58f5dd5ec2ec) is not responding" + Type string // e.g. "unresponsive_agent" + Description string // e.g. "api/1 (5efd2cb8-d73b-4e45-6df4-58f5dd5ec2ec) is not responding" + InstanceGroup string `json:"instance_group"` // e.g. "database" Data interface{} Resolutions []ProblemResolution @@ -33,8 +34,8 @@ type ProblemResolution struct { } type ProblemAnswer struct { - ProblemID int - Resolution ProblemResolution + ProblemID int `yaml:"problem_id"` + Resolution ProblemResolution `yaml:"resolution"` } func (d DeploymentImpl) ScanForProblems() ([]Problem, error) { @@ -46,8 +47,8 @@ func (d DeploymentImpl) ScanForProblems() ([]Problem, error) { return d.client.ListProblems(d.name) } -func (d DeploymentImpl) ResolveProblems(answers []ProblemAnswer) error { - return d.client.ResolveProblems(d.name, answers) +func (d DeploymentImpl) ResolveProblems(answers []ProblemAnswer, overrides map[string]string) error { + return d.client.ResolveProblems(d.name, answers, overrides) } func (c Client) ScanForProblems(deploymentName string) error { @@ -88,19 +89,25 @@ func (c Client) ListProblems(deploymentName string) ([]Problem, error) { return probs, nil } -func (c Client) ResolveProblems(deploymentName string, answers []ProblemAnswer) error { +type problemResolutionBody struct { + Resolutions map[string]*string `json:"resolutions"` + MaxInFlightOverrides map[string]string `json:"max_in_flight_overrides,omitempty"` +} + +func (c Client) ResolveProblems(deploymentName string, answers []ProblemAnswer, overrides map[string]string) error { if len(deploymentName) == 0 { return bosherr.Error("Expected non-empty deployment name") } path := fmt.Sprintf("/deployments/%s/problems", deploymentName) - body := map[string]map[string]*string{ - "resolutions": {}, + body := &problemResolutionBody{ + Resolutions: make(map[string]*string), + MaxInFlightOverrides: overrides, } for _, ans := range answers { - body["resolutions"][strconv.Itoa(ans.ProblemID)] = ans.Resolution.Name + body.Resolutions[strconv.Itoa(ans.ProblemID)] = ans.Resolution.Name } reqBody, err := json.Marshal(body) diff --git a/vendor/modules.txt b/vendor/modules.txt index 06ecc0d5b..f14b85dff 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,4 +1,4 @@ -# code.cloudfoundry.org/credhub-cli v0.0.0-20230710130528-3355d59eadab +# code.cloudfoundry.org/credhub-cli v0.0.0-20230717130308-c75b7a7d0bf9 ## explicit; go 1.19 code.cloudfoundry.org/credhub-cli/credhub code.cloudfoundry.org/credhub-cli/credhub/auth @@ -29,13 +29,13 @@ github.com/charlievieth/fs ## explicit; go 1.12 github.com/cloudfoundry-community/go-uaa github.com/cloudfoundry-community/go-uaa/passwordcredentials -# github.com/cloudfoundry/bosh-cli/v7 v7.2.4 +# github.com/cloudfoundry/bosh-cli/v7 v7.3.1 ## explicit; go 1.20 github.com/cloudfoundry/bosh-cli/v7/common/util github.com/cloudfoundry/bosh-cli/v7/director github.com/cloudfoundry/bosh-cli/v7/io github.com/cloudfoundry/bosh-cli/v7/uaa -# github.com/cloudfoundry/bosh-utils v0.0.372 +# github.com/cloudfoundry/bosh-utils v0.0.373 ## explicit; go 1.20 github.com/cloudfoundry/bosh-utils/crypto github.com/cloudfoundry/bosh-utils/errors @@ -48,7 +48,7 @@ github.com/cloudfoundry/bosh-utils/uuid # github.com/cloudfoundry/go-socks5 v0.0.0-20180221174514-54f73bdb8a8e ## explicit github.com/cloudfoundry/go-socks5 -# github.com/cloudfoundry/socks5-proxy v0.2.93 +# github.com/cloudfoundry/socks5-proxy v0.2.94 ## explicit; go 1.20 github.com/cloudfoundry/socks5-proxy # github.com/cppforlife/go-semi-semantic v0.0.0-20160921010311-576b6af77ae4 @@ -220,7 +220,7 @@ golang.org/x/net/html/atom golang.org/x/net/html/charset golang.org/x/net/internal/socks golang.org/x/net/proxy -# golang.org/x/oauth2 v0.9.0 +# golang.org/x/oauth2 v0.10.0 ## explicit; go 1.17 golang.org/x/oauth2 golang.org/x/oauth2/clientcredentials