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  }