/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The encryption configuration for the repository. This determines how the
* contents of your repository are encrypted at rest. By default, when no
* encryption configuration is set or the For more control over the
* encryption of the contents of your repository, you can use server-side
* encryption with Key Management Service key stored in Key Management Service
* (KMS) to encrypt your images. For more information, see Amazon
* ECR encryption at rest in the Amazon Elastic Container Registry User
* Guide.AES256 encryption type is
* used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption
* keys which encrypts your data at rest using an AES256 encryption algorithm. This
* does not require any action on your part.See Also:
AWS
* API Reference
The encryption type to use.
If you use the KMS encryption
* type, the contents of the repository will be encrypted using server-side
* encryption with Key Management Service key stored in KMS. When you use KMS to
* encrypt your data, you can either use the default Amazon Web Services managed
* KMS key for Amazon ECR, or specify your own KMS key, which you already
* created.
If you use the KMS_DSSE encryption type, the
* contents of the repository will be encrypted with two layers of encryption using
* server-side encryption with the KMS Management Service key stored in KMS.
* Similar to the KMS encryption type, you can either use the default
* Amazon Web Services managed KMS key for Amazon ECR, or specify your own KMS key,
* which you've already created.
If you use the AES256
* encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed
* encryption keys which encrypts the images in the repository using an AES256
* encryption algorithm.
For more information, see Amazon * ECR encryption at rest in the Amazon Elastic Container Registry User * Guide.
*/ inline const EncryptionType& GetEncryptionType() const{ return m_encryptionType; } inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; } inline void SetEncryptionType(const EncryptionType& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = value; } inline void SetEncryptionType(EncryptionType&& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = std::move(value); } inline EncryptionConfiguration& WithEncryptionType(const EncryptionType& value) { SetEncryptionType(value); return *this;} inline EncryptionConfiguration& WithEncryptionType(EncryptionType&& value) { SetEncryptionType(std::move(value)); return *this;} ///@} ///@{ /** *If you use the KMS encryption type, specify the KMS key to use
* for encryption. The alias, key ID, or full ARN of the KMS key can be specified.
* The key must exist in the same Region as the repository. If no key is specified,
* the default Amazon Web Services managed KMS key for Amazon ECR will be used.