github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/api/container/containerv1/api_key.go (about) 1 package containerv1 2 3 import ( 4 "fmt" 5 6 "github.com/IBM-Cloud/bluemix-go/client" 7 "github.com/IBM-Cloud/bluemix-go/helpers" 8 "github.com/IBM-Cloud/bluemix-go/rest" 9 ) 10 11 type ApiKeyInfo struct { 12 ID string 13 Name string 14 Email string 15 } 16 17 // Apikeys ... 18 type Apikeys interface { 19 GetApiKeyInfo(clusterID string, target ClusterTargetHeader) (ApiKeyInfo, error) 20 ResetApiKey(target ClusterTargetHeader) error 21 } 22 23 type apikeys struct { 24 client *client.Client 25 } 26 27 func newApiKeyAPI(c *client.Client) Apikeys { 28 return &apikeys{ 29 client: c, 30 } 31 } 32 33 //GetApiKeyInfo ... 34 func (r *apikeys) GetApiKeyInfo(cluster string, target ClusterTargetHeader) (ApiKeyInfo, error) { 35 retVal := ApiKeyInfo{} 36 req := rest.GetRequest(helpers.GetFullURL(*r.client.Config.Endpoint, fmt.Sprintf("/v1/logging/%s/clusterkeyowner", cluster))) 37 38 for key, value := range target.ToMap() { 39 req.Set(key, value) 40 } 41 42 _, err := r.client.SendRequest(req, &retVal) 43 if err != nil { 44 return retVal, err 45 } 46 return retVal, err 47 } 48 49 //ResetApiKey ... 50 func (r *apikeys) ResetApiKey(target ClusterTargetHeader) error { 51 req := rest.PostRequest(helpers.GetFullURL(*r.client.Config.Endpoint, "/v1/keys")) 52 53 for key, value := range target.ToMap() { 54 req.Set(key, value) 55 } 56 57 _, err := r.client.SendRequest(req, nil) 58 if err != nil { 59 return err 60 } 61 return err 62 }