Struct: s3crypto.DecryptionClientV2

import "../ibm-cos-sdk-go/service/s3/s3crypto"

Overview

DecryptionClientV2 is an S3 crypto client. The decryption client will handle all get object requests from Amazon S3. Supported key wrapping algorithms: - AWS KMS - AWS KMS + Context

Supported content ciphers: - AES/GCM - AES/CBC

Implemented Interfaces

s3crypto.Cipher, s3manager.ReadSeekerWriteTo, s3manager.WriterReadFrom

Method Summary collapse

Method Details

func (c *DecryptionClientV2) GetObject(input *s3.GetObjectInput) (*s3.GetObjectOutput, error)

GetObject is a wrapper for GetObjectRequest



99
100
101
102
// File 'service/s3/s3crypto/decryption_client_v2.go', line 99

func (c *DecryptionClientV2) GetObject(input *s3.GetObjectInput) (*s3.GetObjectOutput, error) { req, out := getObjectRequest(c.options, input) return out, req.Send() }

func (c *DecryptionClientV2) GetObjectRequest(input *s3.GetObjectInput) (*request.Request, *s3.GetObjectOutput)

GetObjectRequest will make a request to s3 and retrieve the object. In this process decryption will be done. The SDK only supports V2 reads of KMS and GCM.

Example:

req, out := svc.GetObjectRequest(&s3.GetObjectInput { Key: aws.String("testKey"), Bucket: aws.String("testBucket"), }) err := req.Send()


94
95
96
// File 'service/s3/s3crypto/decryption_client_v2.go', line 94

func (c *DecryptionClientV2) GetObjectRequest(input *s3.GetObjectInput) (*request.Request, *s3.GetObjectOutput) { return getObjectRequest(c.options, input) }

func (c *DecryptionClientV2) GetObjectWithContext(ctx aws.Context, input *s3.GetObjectInput, opts ...request.Option) (*s3.GetObjectOutput, error)

GetObjectWithContext is a wrapper for GetObjectRequest with the additional context, and request options support.

GetObjectWithContext is the same as GetObject with the additional support for Context input parameters. The Context must not be nil. A nil Context will cause a panic. Use the Context to add deadlining, timeouts, etc. In the future this may create sub-contexts for individual underlying requests.



111
112
113
114
115
116
// File 'service/s3/s3crypto/decryption_client_v2.go', line 111

func (c *DecryptionClientV2) GetObjectWithContext(ctx aws.Context, input *s3.GetObjectInput, opts ...request.Option) (*s3.GetObjectOutput, error) { req, out := getObjectRequest(c.options, input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() }