1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/glue/Glue_EXPORTS.h> 8 #include <aws/glue/model/CatalogEncryptionMode.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Glue 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Specifies the encryption-at-rest configuration for the Data 29 * Catalog.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/EncryptionAtRest">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_GLUE_API EncryptionAtRest 34 { 35 public: 36 EncryptionAtRest(); 37 EncryptionAtRest(Aws::Utils::Json::JsonView jsonValue); 38 EncryptionAtRest& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The encryption-at-rest mode for encrypting Data Catalog data.</p> 44 */ GetCatalogEncryptionMode()45 inline const CatalogEncryptionMode& GetCatalogEncryptionMode() const{ return m_catalogEncryptionMode; } 46 47 /** 48 * <p>The encryption-at-rest mode for encrypting Data Catalog data.</p> 49 */ CatalogEncryptionModeHasBeenSet()50 inline bool CatalogEncryptionModeHasBeenSet() const { return m_catalogEncryptionModeHasBeenSet; } 51 52 /** 53 * <p>The encryption-at-rest mode for encrypting Data Catalog data.</p> 54 */ SetCatalogEncryptionMode(const CatalogEncryptionMode & value)55 inline void SetCatalogEncryptionMode(const CatalogEncryptionMode& value) { m_catalogEncryptionModeHasBeenSet = true; m_catalogEncryptionMode = value; } 56 57 /** 58 * <p>The encryption-at-rest mode for encrypting Data Catalog data.</p> 59 */ SetCatalogEncryptionMode(CatalogEncryptionMode && value)60 inline void SetCatalogEncryptionMode(CatalogEncryptionMode&& value) { m_catalogEncryptionModeHasBeenSet = true; m_catalogEncryptionMode = std::move(value); } 61 62 /** 63 * <p>The encryption-at-rest mode for encrypting Data Catalog data.</p> 64 */ WithCatalogEncryptionMode(const CatalogEncryptionMode & value)65 inline EncryptionAtRest& WithCatalogEncryptionMode(const CatalogEncryptionMode& value) { SetCatalogEncryptionMode(value); return *this;} 66 67 /** 68 * <p>The encryption-at-rest mode for encrypting Data Catalog data.</p> 69 */ WithCatalogEncryptionMode(CatalogEncryptionMode && value)70 inline EncryptionAtRest& WithCatalogEncryptionMode(CatalogEncryptionMode&& value) { SetCatalogEncryptionMode(std::move(value)); return *this;} 71 72 73 /** 74 * <p>The ID of the KMS key to use for encryption at rest.</p> 75 */ GetSseAwsKmsKeyId()76 inline const Aws::String& GetSseAwsKmsKeyId() const{ return m_sseAwsKmsKeyId; } 77 78 /** 79 * <p>The ID of the KMS key to use for encryption at rest.</p> 80 */ SseAwsKmsKeyIdHasBeenSet()81 inline bool SseAwsKmsKeyIdHasBeenSet() const { return m_sseAwsKmsKeyIdHasBeenSet; } 82 83 /** 84 * <p>The ID of the KMS key to use for encryption at rest.</p> 85 */ SetSseAwsKmsKeyId(const Aws::String & value)86 inline void SetSseAwsKmsKeyId(const Aws::String& value) { m_sseAwsKmsKeyIdHasBeenSet = true; m_sseAwsKmsKeyId = value; } 87 88 /** 89 * <p>The ID of the KMS key to use for encryption at rest.</p> 90 */ SetSseAwsKmsKeyId(Aws::String && value)91 inline void SetSseAwsKmsKeyId(Aws::String&& value) { m_sseAwsKmsKeyIdHasBeenSet = true; m_sseAwsKmsKeyId = std::move(value); } 92 93 /** 94 * <p>The ID of the KMS key to use for encryption at rest.</p> 95 */ SetSseAwsKmsKeyId(const char * value)96 inline void SetSseAwsKmsKeyId(const char* value) { m_sseAwsKmsKeyIdHasBeenSet = true; m_sseAwsKmsKeyId.assign(value); } 97 98 /** 99 * <p>The ID of the KMS key to use for encryption at rest.</p> 100 */ WithSseAwsKmsKeyId(const Aws::String & value)101 inline EncryptionAtRest& WithSseAwsKmsKeyId(const Aws::String& value) { SetSseAwsKmsKeyId(value); return *this;} 102 103 /** 104 * <p>The ID of the KMS key to use for encryption at rest.</p> 105 */ WithSseAwsKmsKeyId(Aws::String && value)106 inline EncryptionAtRest& WithSseAwsKmsKeyId(Aws::String&& value) { SetSseAwsKmsKeyId(std::move(value)); return *this;} 107 108 /** 109 * <p>The ID of the KMS key to use for encryption at rest.</p> 110 */ WithSseAwsKmsKeyId(const char * value)111 inline EncryptionAtRest& WithSseAwsKmsKeyId(const char* value) { SetSseAwsKmsKeyId(value); return *this;} 112 113 private: 114 115 CatalogEncryptionMode m_catalogEncryptionMode; 116 bool m_catalogEncryptionModeHasBeenSet; 117 118 Aws::String m_sseAwsKmsKeyId; 119 bool m_sseAwsKmsKeyIdHasBeenSet; 120 }; 121 122 } // namespace Model 123 } // namespace Glue 124 } // namespace Aws 125