AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
InstructionFileHandler.h
1
5#pragma once
6#include <aws/s3-encryption/handlers/DataHandler.h>
7
8namespace Aws
9{
10 namespace S3Encryption
11 {
12 namespace Handlers
13 {
14 //= ../specification/s3-encryption/data-format/metadata-strategy.md#instruction-file
15 //= type=exception
16 //# The S3EC MUST NOT support providing a custom Instruction File suffix on ordinary writes; custom suffixes MUST only be used during re-encryption.
17 // We do not support a custom Instruction File suffix under any circumstances.
18
19 static const char* const DEFAULT_INSTRUCTION_FILE_SUFFIX = ".instruction";
20 /*
21 Instruction file handler will be responsible for reading and writing instruction files to and from S3 object using a Put object
22 request or a Get object result.
23 */
24 class AWS_S3ENCRYPTION_API InstructionFileHandler : public DataHandler
25 {
26 public:
27 /*
28 Write ContentCryptoMaterial data to an instruction file object which is passed as an argument for this function.
29 */
31
32 /*
33 Read data from an instruction file object and return a Content Crypto Material object.
34 */
36 private:
37 // Helper for writing V3-format instruction files.
38 void PopulateRequestV3(Aws::S3::Model::PutObjectRequest& objRequest, Aws::S3::Model::PutObjectRequest& ifRequest, const Aws::Utils::Crypto::ContentCryptoMaterial& contentCryptoMaterial);
39 };
40 }
41 }
42}
void PopulateRequest(Aws::S3::Model::PutObjectRequest &objRequest, Aws::S3::Model::PutObjectRequest &ifRequest, const Aws::Utils::Crypto::ContentCryptoMaterial &contentCryptoMaterial)
Aws::Utils::Crypto::ContentCryptoMaterial ReadContentCryptoMaterial(const Aws::S3::Model::GetObjectResult &instruction_file, const Aws::S3::Model::HeadObjectResult &object_head)
static const char *const DEFAULT_INSTRUCTION_FILE_SUFFIX