/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Complex data type for field-level encryption profiles that includes the
* encryption key and field pattern specifications.See Also:
AWS
* API Reference
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