github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/api/icd/icdv4/configuration.go (about) 1 package icdv4 2 3 import ( 4 "fmt" 5 6 "github.com/IBM-Cloud/bluemix-go/client" 7 "github.com/IBM-Cloud/bluemix-go/utils" 8 ) 9 10 type ConfigurationReq struct { 11 Configuration interface{} `json:"configuration"` 12 } 13 14 type Configurations interface { 15 UpdateConfiguration(icdId string, configurationReq ConfigurationReq) (Task, error) 16 GetConfiguration(icdId string) (interface{}, error) 17 } 18 19 type configurations struct { 20 client *client.Client 21 } 22 23 func newConfigurationsAPI(c *client.Client) Configurations { 24 return &configurations{ 25 client: c, 26 } 27 } 28 29 func (r *configurations) UpdateConfiguration(icdId string, configurationReq ConfigurationReq) (Task, error) { 30 taskResult := TaskResult{} 31 rawURL := fmt.Sprintf("/v4/ibm/deployments/%s/configuration", utils.EscapeUrlParm(icdId)) 32 _, err := r.client.Patch(rawURL, &configurationReq, &taskResult) 33 if err != nil { 34 return taskResult.Task, err 35 } 36 return taskResult.Task, nil 37 } 38 39 func (r *configurations) GetConfiguration(icdId string) (interface{}, error) { 40 var taskResult interface{} 41 rawURL := fmt.Sprintf("/v4/ibm/deployments/%s/configuration/schema", utils.EscapeUrlParm(icdId)) 42 _, err := r.client.Get(rawURL, &taskResult) 43 if err != nil { 44 return taskResult, err 45 } 46 return taskResult, nil 47 }