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/EncryptionAtRest.h> 9 #include <aws/glue/model/ConnectionPasswordEncryption.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>Contains configuration information for maintaining Data Catalog 29 * security.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DataCatalogEncryptionSettings">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_GLUE_API DataCatalogEncryptionSettings 34 { 35 public: 36 DataCatalogEncryptionSettings(); 37 DataCatalogEncryptionSettings(Aws::Utils::Json::JsonView jsonValue); 38 DataCatalogEncryptionSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>Specifies the encryption-at-rest configuration for the Data Catalog.</p> 44 */ GetEncryptionAtRest()45 inline const EncryptionAtRest& GetEncryptionAtRest() const{ return m_encryptionAtRest; } 46 47 /** 48 * <p>Specifies the encryption-at-rest configuration for the Data Catalog.</p> 49 */ EncryptionAtRestHasBeenSet()50 inline bool EncryptionAtRestHasBeenSet() const { return m_encryptionAtRestHasBeenSet; } 51 52 /** 53 * <p>Specifies the encryption-at-rest configuration for the Data Catalog.</p> 54 */ SetEncryptionAtRest(const EncryptionAtRest & value)55 inline void SetEncryptionAtRest(const EncryptionAtRest& value) { m_encryptionAtRestHasBeenSet = true; m_encryptionAtRest = value; } 56 57 /** 58 * <p>Specifies the encryption-at-rest configuration for the Data Catalog.</p> 59 */ SetEncryptionAtRest(EncryptionAtRest && value)60 inline void SetEncryptionAtRest(EncryptionAtRest&& value) { m_encryptionAtRestHasBeenSet = true; m_encryptionAtRest = std::move(value); } 61 62 /** 63 * <p>Specifies the encryption-at-rest configuration for the Data Catalog.</p> 64 */ WithEncryptionAtRest(const EncryptionAtRest & value)65 inline DataCatalogEncryptionSettings& WithEncryptionAtRest(const EncryptionAtRest& value) { SetEncryptionAtRest(value); return *this;} 66 67 /** 68 * <p>Specifies the encryption-at-rest configuration for the Data Catalog.</p> 69 */ WithEncryptionAtRest(EncryptionAtRest && value)70 inline DataCatalogEncryptionSettings& WithEncryptionAtRest(EncryptionAtRest&& value) { SetEncryptionAtRest(std::move(value)); return *this;} 71 72 73 /** 74 * <p>When connection password protection is enabled, the Data Catalog uses a 75 * customer-provided key to encrypt the password as part of 76 * <code>CreateConnection</code> or <code>UpdateConnection</code> and store it in 77 * the <code>ENCRYPTED_PASSWORD</code> field in the connection properties. You can 78 * enable catalog encryption or only password encryption.</p> 79 */ GetConnectionPasswordEncryption()80 inline const ConnectionPasswordEncryption& GetConnectionPasswordEncryption() const{ return m_connectionPasswordEncryption; } 81 82 /** 83 * <p>When connection password protection is enabled, the Data Catalog uses a 84 * customer-provided key to encrypt the password as part of 85 * <code>CreateConnection</code> or <code>UpdateConnection</code> and store it in 86 * the <code>ENCRYPTED_PASSWORD</code> field in the connection properties. You can 87 * enable catalog encryption or only password encryption.</p> 88 */ ConnectionPasswordEncryptionHasBeenSet()89 inline bool ConnectionPasswordEncryptionHasBeenSet() const { return m_connectionPasswordEncryptionHasBeenSet; } 90 91 /** 92 * <p>When connection password protection is enabled, the Data Catalog uses a 93 * customer-provided key to encrypt the password as part of 94 * <code>CreateConnection</code> or <code>UpdateConnection</code> and store it in 95 * the <code>ENCRYPTED_PASSWORD</code> field in the connection properties. You can 96 * enable catalog encryption or only password encryption.</p> 97 */ SetConnectionPasswordEncryption(const ConnectionPasswordEncryption & value)98 inline void SetConnectionPasswordEncryption(const ConnectionPasswordEncryption& value) { m_connectionPasswordEncryptionHasBeenSet = true; m_connectionPasswordEncryption = value; } 99 100 /** 101 * <p>When connection password protection is enabled, the Data Catalog uses a 102 * customer-provided key to encrypt the password as part of 103 * <code>CreateConnection</code> or <code>UpdateConnection</code> and store it in 104 * the <code>ENCRYPTED_PASSWORD</code> field in the connection properties. You can 105 * enable catalog encryption or only password encryption.</p> 106 */ SetConnectionPasswordEncryption(ConnectionPasswordEncryption && value)107 inline void SetConnectionPasswordEncryption(ConnectionPasswordEncryption&& value) { m_connectionPasswordEncryptionHasBeenSet = true; m_connectionPasswordEncryption = std::move(value); } 108 109 /** 110 * <p>When connection password protection is enabled, the Data Catalog uses a 111 * customer-provided key to encrypt the password as part of 112 * <code>CreateConnection</code> or <code>UpdateConnection</code> and store it in 113 * the <code>ENCRYPTED_PASSWORD</code> field in the connection properties. You can 114 * enable catalog encryption or only password encryption.</p> 115 */ WithConnectionPasswordEncryption(const ConnectionPasswordEncryption & value)116 inline DataCatalogEncryptionSettings& WithConnectionPasswordEncryption(const ConnectionPasswordEncryption& value) { SetConnectionPasswordEncryption(value); return *this;} 117 118 /** 119 * <p>When connection password protection is enabled, the Data Catalog uses a 120 * customer-provided key to encrypt the password as part of 121 * <code>CreateConnection</code> or <code>UpdateConnection</code> and store it in 122 * the <code>ENCRYPTED_PASSWORD</code> field in the connection properties. You can 123 * enable catalog encryption or only password encryption.</p> 124 */ WithConnectionPasswordEncryption(ConnectionPasswordEncryption && value)125 inline DataCatalogEncryptionSettings& WithConnectionPasswordEncryption(ConnectionPasswordEncryption&& value) { SetConnectionPasswordEncryption(std::move(value)); return *this;} 126 127 private: 128 129 EncryptionAtRest m_encryptionAtRest; 130 bool m_encryptionAtRestHasBeenSet; 131 132 ConnectionPasswordEncryption m_connectionPasswordEncryption; 133 bool m_connectionPasswordEncryptionHasBeenSet; 134 }; 135 136 } // namespace Model 137 } // namespace Glue 138 } // namespace Aws 139