/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace OpenSearchService
{
namespace Model
{
/**
* Specifies whether the domain should encrypt data at rest, and if so, the Key
* Management Service (KMS) key to use. Can be used only to create a new domain,
* not update an existing one.
See Also:
AWS
* API Reference
*/
class EncryptionAtRestOptions
{
public:
AWS_OPENSEARCHSERVICE_API EncryptionAtRestOptions();
AWS_OPENSEARCHSERVICE_API EncryptionAtRestOptions(Aws::Utils::Json::JsonView jsonValue);
AWS_OPENSEARCHSERVICE_API EncryptionAtRestOptions& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* True to enable encryption at rest.
*/
inline bool GetEnabled() const{ return m_enabled; }
/**
* True to enable encryption at rest.
*/
inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
/**
* True to enable encryption at rest.
*/
inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
/**
* True to enable encryption at rest.
*/
inline EncryptionAtRestOptions& WithEnabled(bool value) { SetEnabled(value); return *this;}
/**
* The KMS key ID. Takes the form
* 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a
.
*/
inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
/**
* The KMS key ID. Takes the form
* 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a
.
*/
inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
/**
* The KMS key ID. Takes the form
* 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a
.
*/
inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
/**
* The KMS key ID. Takes the form
* 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a
.
*/
inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }
/**
* The KMS key ID. Takes the form
* 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a
.
*/
inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
/**
* The KMS key ID. Takes the form
* 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a
.
*/
inline EncryptionAtRestOptions& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
/**
* The KMS key ID. Takes the form
* 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a
.
*/
inline EncryptionAtRestOptions& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
/**
* The KMS key ID. Takes the form
* 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a
.
*/
inline EncryptionAtRestOptions& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
private:
bool m_enabled;
bool m_enabledHasBeenSet = false;
Aws::String m_kmsKeyId;
bool m_kmsKeyIdHasBeenSet = false;
};
} // namespace Model
} // namespace OpenSearchService
} // namespace Aws