object_storage_bucket_certs.go raw

   1  package linodego
   2  
   3  import (
   4  	"context"
   5  )
   6  
   7  // Deprecated: Please use ObjectStorageBucketCertV2 for all new implementations.
   8  type ObjectStorageBucketCert struct {
   9  	SSL bool `json:"ssl"`
  10  }
  11  
  12  type ObjectStorageBucketCertV2 struct {
  13  	SSL *bool `json:"ssl"`
  14  }
  15  
  16  type ObjectStorageBucketCertUploadOptions struct {
  17  	Certificate string `json:"certificate"`
  18  	PrivateKey  string `json:"private_key"`
  19  }
  20  
  21  // UploadObjectStorageBucketCert uploads a TLS/SSL Cert to be used with an Object Storage Bucket.
  22  //
  23  // Deprecated: Please use UploadObjectStorageBucketCertV2 for all new implementations.
  24  func (c *Client) UploadObjectStorageBucketCert(
  25  	ctx context.Context,
  26  	clusterOrRegionID, bucket string,
  27  	opts ObjectStorageBucketCertUploadOptions,
  28  ) (*ObjectStorageBucketCert, error) {
  29  	e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
  30  	return doPOSTRequest[ObjectStorageBucketCert](ctx, c, e, opts)
  31  }
  32  
  33  // GetObjectStorageBucketCert gets an ObjectStorageBucketCert
  34  //
  35  // Deprecated: Please use GetObjectStorageBucketCertV2 for all new implementations.
  36  func (c *Client) GetObjectStorageBucketCert(ctx context.Context, clusterOrRegionID, bucket string) (*ObjectStorageBucketCert, error) {
  37  	e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
  38  	return doGETRequest[ObjectStorageBucketCert](ctx, c, e)
  39  }
  40  
  41  // UploadObjectStorageBucketCertV2 uploads a TLS/SSL Cert to be used with an Object Storage Bucket.
  42  func (c *Client) UploadObjectStorageBucketCertV2(
  43  	ctx context.Context,
  44  	clusterOrRegionID, bucket string,
  45  	opts ObjectStorageBucketCertUploadOptions,
  46  ) (*ObjectStorageBucketCertV2, error) {
  47  	e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
  48  	return doPOSTRequest[ObjectStorageBucketCertV2](ctx, c, e, opts)
  49  }
  50  
  51  // GetObjectStorageBucketCertV2 gets an ObjectStorageBucketCert
  52  func (c *Client) GetObjectStorageBucketCertV2(ctx context.Context, clusterOrRegionID, bucket string) (*ObjectStorageBucketCertV2, error) {
  53  	e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
  54  	return doGETRequest[ObjectStorageBucketCertV2](ctx, c, e)
  55  }
  56  
  57  // DeleteObjectStorageBucketCert deletes an ObjectStorageBucketCert
  58  func (c *Client) DeleteObjectStorageBucketCert(ctx context.Context, clusterOrRegionID, bucket string) error {
  59  	e := formatAPIPath("object-storage/buckets/%s/%s/ssl", clusterOrRegionID, bucket)
  60  	return doDELETERequest(ctx, c, e)
  61  }
  62