/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFront { namespace Model { /** *

Complex data type for field-level encryption profiles that includes the * encryption key and field pattern specifications.

See Also:

AWS * API Reference

*/ class EncryptionEntity { public: AWS_CLOUDFRONT_API EncryptionEntity(); AWS_CLOUDFRONT_API EncryptionEntity(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API EncryptionEntity& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFRONT_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

The public key associated with a set of field-level encryption patterns, to * be used when encrypting the fields that match the patterns.

*/ inline const Aws::String& GetPublicKeyId() const{ return m_publicKeyId; } /** *

The public key associated with a set of field-level encryption patterns, to * be used when encrypting the fields that match the patterns.

*/ inline bool PublicKeyIdHasBeenSet() const { return m_publicKeyIdHasBeenSet; } /** *

The public key associated with a set of field-level encryption patterns, to * be used when encrypting the fields that match the patterns.

*/ inline void SetPublicKeyId(const Aws::String& value) { m_publicKeyIdHasBeenSet = true; m_publicKeyId = value; } /** *

The public key associated with a set of field-level encryption patterns, to * be used when encrypting the fields that match the patterns.

*/ inline void SetPublicKeyId(Aws::String&& value) { m_publicKeyIdHasBeenSet = true; m_publicKeyId = std::move(value); } /** *

The public key associated with a set of field-level encryption patterns, to * be used when encrypting the fields that match the patterns.

*/ inline void SetPublicKeyId(const char* value) { m_publicKeyIdHasBeenSet = true; m_publicKeyId.assign(value); } /** *

The public key associated with a set of field-level encryption patterns, to * be used when encrypting the fields that match the patterns.

*/ inline EncryptionEntity& WithPublicKeyId(const Aws::String& value) { SetPublicKeyId(value); return *this;} /** *

The public key associated with a set of field-level encryption patterns, to * be used when encrypting the fields that match the patterns.

*/ inline EncryptionEntity& WithPublicKeyId(Aws::String&& value) { SetPublicKeyId(std::move(value)); return *this;} /** *

The public key associated with a set of field-level encryption patterns, to * be used when encrypting the fields that match the patterns.

*/ inline EncryptionEntity& WithPublicKeyId(const char* value) { SetPublicKeyId(value); return *this;} /** *

The provider associated with the public key being used for encryption. This * value must also be provided with the private key for applications to be able to * decrypt data.

*/ inline const Aws::String& GetProviderId() const{ return m_providerId; } /** *

The provider associated with the public key being used for encryption. This * value must also be provided with the private key for applications to be able to * decrypt data.

*/ inline bool ProviderIdHasBeenSet() const { return m_providerIdHasBeenSet; } /** *

The provider associated with the public key being used for encryption. This * value must also be provided with the private key for applications to be able to * decrypt data.

*/ inline void SetProviderId(const Aws::String& value) { m_providerIdHasBeenSet = true; m_providerId = value; } /** *

The provider associated with the public key being used for encryption. This * value must also be provided with the private key for applications to be able to * decrypt data.

*/ inline void SetProviderId(Aws::String&& value) { m_providerIdHasBeenSet = true; m_providerId = std::move(value); } /** *

The provider associated with the public key being used for encryption. This * value must also be provided with the private key for applications to be able to * decrypt data.

*/ inline void SetProviderId(const char* value) { m_providerIdHasBeenSet = true; m_providerId.assign(value); } /** *

The provider associated with the public key being used for encryption. This * value must also be provided with the private key for applications to be able to * decrypt data.

*/ inline EncryptionEntity& WithProviderId(const Aws::String& value) { SetProviderId(value); return *this;} /** *

The provider associated with the public key being used for encryption. This * value must also be provided with the private key for applications to be able to * decrypt data.

*/ inline EncryptionEntity& WithProviderId(Aws::String&& value) { SetProviderId(std::move(value)); return *this;} /** *

The provider associated with the public key being used for encryption. This * value must also be provided with the private key for applications to be able to * decrypt data.

*/ inline EncryptionEntity& WithProviderId(const char* value) { SetProviderId(value); return *this;} /** *

Field patterns in a field-level encryption content type profile specify the * fields that you want to be encrypted. You can provide the full field name, or * any beginning characters followed by a wildcard (*). You can't overlap field * patterns. For example, you can't have both ABC* and AB*. Note that field * patterns are case-sensitive.

*/ inline const FieldPatterns& GetFieldPatterns() const{ return m_fieldPatterns; } /** *

Field patterns in a field-level encryption content type profile specify the * fields that you want to be encrypted. You can provide the full field name, or * any beginning characters followed by a wildcard (*). You can't overlap field * patterns. For example, you can't have both ABC* and AB*. Note that field * patterns are case-sensitive.

*/ inline bool FieldPatternsHasBeenSet() const { return m_fieldPatternsHasBeenSet; } /** *

Field patterns in a field-level encryption content type profile specify the * fields that you want to be encrypted. You can provide the full field name, or * any beginning characters followed by a wildcard (*). You can't overlap field * patterns. For example, you can't have both ABC* and AB*. Note that field * patterns are case-sensitive.

*/ inline void SetFieldPatterns(const FieldPatterns& value) { m_fieldPatternsHasBeenSet = true; m_fieldPatterns = value; } /** *

Field patterns in a field-level encryption content type profile specify the * fields that you want to be encrypted. You can provide the full field name, or * any beginning characters followed by a wildcard (*). You can't overlap field * patterns. For example, you can't have both ABC* and AB*. Note that field * patterns are case-sensitive.

*/ inline void SetFieldPatterns(FieldPatterns&& value) { m_fieldPatternsHasBeenSet = true; m_fieldPatterns = std::move(value); } /** *

Field patterns in a field-level encryption content type profile specify the * fields that you want to be encrypted. You can provide the full field name, or * any beginning characters followed by a wildcard (*). You can't overlap field * patterns. For example, you can't have both ABC* and AB*. Note that field * patterns are case-sensitive.

*/ inline EncryptionEntity& WithFieldPatterns(const FieldPatterns& value) { SetFieldPatterns(value); return *this;} /** *

Field patterns in a field-level encryption content type profile specify the * fields that you want to be encrypted. You can provide the full field name, or * any beginning characters followed by a wildcard (*). You can't overlap field * patterns. For example, you can't have both ABC* and AB*. Note that field * patterns are case-sensitive.

*/ inline EncryptionEntity& WithFieldPatterns(FieldPatterns&& value) { SetFieldPatterns(std::move(value)); return *this;} private: Aws::String m_publicKeyId; bool m_publicKeyIdHasBeenSet = false; Aws::String m_providerId; bool m_providerIdHasBeenSet = false; FieldPatterns m_fieldPatterns; bool m_fieldPatternsHasBeenSet = false; }; } // namespace Model } // namespace CloudFront } // namespace Aws