/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A structure that contains the configuration of encryption-at-rest settings
* for canary artifacts that the canary uploads to Amazon S3. For more
* information, see Encrypting
* canary artifacts See Also:
AWS
* API Reference
The encryption method to use for artifacts created by this canary. Specify
* SSE_S3
to use server-side encryption (SSE) with an Amazon
* S3-managed key. Specify SSE-KMS
to use server-side encryption with
* a customer-managed KMS key.
If you omit this parameter, an Amazon Web * Services-managed KMS key is used.
*/ inline const EncryptionMode& GetEncryptionMode() const{ return m_encryptionMode; } /** * The encryption method to use for artifacts created by this canary. Specify
* SSE_S3
to use server-side encryption (SSE) with an Amazon
* S3-managed key. Specify SSE-KMS
to use server-side encryption with
* a customer-managed KMS key.
If you omit this parameter, an Amazon Web * Services-managed KMS key is used.
*/ inline bool EncryptionModeHasBeenSet() const { return m_encryptionModeHasBeenSet; } /** * The encryption method to use for artifacts created by this canary. Specify
* SSE_S3
to use server-side encryption (SSE) with an Amazon
* S3-managed key. Specify SSE-KMS
to use server-side encryption with
* a customer-managed KMS key.
If you omit this parameter, an Amazon Web * Services-managed KMS key is used.
*/ inline void SetEncryptionMode(const EncryptionMode& value) { m_encryptionModeHasBeenSet = true; m_encryptionMode = value; } /** * The encryption method to use for artifacts created by this canary. Specify
* SSE_S3
to use server-side encryption (SSE) with an Amazon
* S3-managed key. Specify SSE-KMS
to use server-side encryption with
* a customer-managed KMS key.
If you omit this parameter, an Amazon Web * Services-managed KMS key is used.
*/ inline void SetEncryptionMode(EncryptionMode&& value) { m_encryptionModeHasBeenSet = true; m_encryptionMode = std::move(value); } /** * The encryption method to use for artifacts created by this canary. Specify
* SSE_S3
to use server-side encryption (SSE) with an Amazon
* S3-managed key. Specify SSE-KMS
to use server-side encryption with
* a customer-managed KMS key.
If you omit this parameter, an Amazon Web * Services-managed KMS key is used.
*/ inline S3EncryptionConfig& WithEncryptionMode(const EncryptionMode& value) { SetEncryptionMode(value); return *this;} /** * The encryption method to use for artifacts created by this canary. Specify
* SSE_S3
to use server-side encryption (SSE) with an Amazon
* S3-managed key. Specify SSE-KMS
to use server-side encryption with
* a customer-managed KMS key.
If you omit this parameter, an Amazon Web * Services-managed KMS key is used.
*/ inline S3EncryptionConfig& WithEncryptionMode(EncryptionMode&& value) { SetEncryptionMode(std::move(value)); return *this;} /** *The ARN of the customer-managed KMS key to use, if you specify
* SSE-KMS
for EncryptionMode
The ARN of the customer-managed KMS key to use, if you specify
* SSE-KMS
for EncryptionMode
The ARN of the customer-managed KMS key to use, if you specify
* SSE-KMS
for EncryptionMode
The ARN of the customer-managed KMS key to use, if you specify
* SSE-KMS
for EncryptionMode
The ARN of the customer-managed KMS key to use, if you specify
* SSE-KMS
for EncryptionMode
The ARN of the customer-managed KMS key to use, if you specify
* SSE-KMS
for EncryptionMode
The ARN of the customer-managed KMS key to use, if you specify
* SSE-KMS
for EncryptionMode
The ARN of the customer-managed KMS key to use, if you specify
* SSE-KMS
for EncryptionMode