github.com/aiven/aiven-go-client@v1.36.0/ca.go (about)

     1  package aiven
     2  
     3  type (
     4  	// CAHandler is the client which interacts with the Projects CA endpoint
     5  	// on Aiven.
     6  	CAHandler struct {
     7  		client *Client
     8  	}
     9  
    10  	// ProjectCAResponse is the response from Aiven for project CA Certificate.
    11  	ProjectCAResponse struct {
    12  		APIResponse
    13  		CACertificate string `json:"certificate"`
    14  	}
    15  )
    16  
    17  // Get retrieves the specified Project CA Certificate.
    18  func (h *CAHandler) Get(project string) (string, error) {
    19  	bts, err := h.client.doGetRequest(buildPath("project", project, "kms", "ca"), nil)
    20  	if err != nil {
    21  		return "", err
    22  	}
    23  
    24  	var r ProjectCAResponse
    25  	errR := checkAPIResponse(bts, &r)
    26  
    27  	return r.CACertificate, errR
    28  }