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