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/xray/XRay_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/xray/model/EncryptionStatus.h> 10 #include <aws/xray/model/EncryptionType.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace XRay 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>A configuration document that specifies encryption configuration 30 * settings.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/EncryptionConfig">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_XRAY_API EncryptionConfig 35 { 36 public: 37 EncryptionConfig(); 38 EncryptionConfig(Aws::Utils::Json::JsonView jsonValue); 39 EncryptionConfig& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The ID of the KMS key used for encryption, if applicable.</p> 45 */ GetKeyId()46 inline const Aws::String& GetKeyId() const{ return m_keyId; } 47 48 /** 49 * <p>The ID of the KMS key used for encryption, if applicable.</p> 50 */ KeyIdHasBeenSet()51 inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } 52 53 /** 54 * <p>The ID of the KMS key used for encryption, if applicable.</p> 55 */ SetKeyId(const Aws::String & value)56 inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } 57 58 /** 59 * <p>The ID of the KMS key used for encryption, if applicable.</p> 60 */ SetKeyId(Aws::String && value)61 inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } 62 63 /** 64 * <p>The ID of the KMS key used for encryption, if applicable.</p> 65 */ SetKeyId(const char * value)66 inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } 67 68 /** 69 * <p>The ID of the KMS key used for encryption, if applicable.</p> 70 */ WithKeyId(const Aws::String & value)71 inline EncryptionConfig& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} 72 73 /** 74 * <p>The ID of the KMS key used for encryption, if applicable.</p> 75 */ WithKeyId(Aws::String && value)76 inline EncryptionConfig& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} 77 78 /** 79 * <p>The ID of the KMS key used for encryption, if applicable.</p> 80 */ WithKeyId(const char * value)81 inline EncryptionConfig& WithKeyId(const char* value) { SetKeyId(value); return *this;} 82 83 84 /** 85 * <p>The encryption status. While the status is <code>UPDATING</code>, X-Ray may 86 * encrypt data with a combination of the new and old settings.</p> 87 */ GetStatus()88 inline const EncryptionStatus& GetStatus() const{ return m_status; } 89 90 /** 91 * <p>The encryption status. While the status is <code>UPDATING</code>, X-Ray may 92 * encrypt data with a combination of the new and old settings.</p> 93 */ StatusHasBeenSet()94 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } 95 96 /** 97 * <p>The encryption status. While the status is <code>UPDATING</code>, X-Ray may 98 * encrypt data with a combination of the new and old settings.</p> 99 */ SetStatus(const EncryptionStatus & value)100 inline void SetStatus(const EncryptionStatus& value) { m_statusHasBeenSet = true; m_status = value; } 101 102 /** 103 * <p>The encryption status. While the status is <code>UPDATING</code>, X-Ray may 104 * encrypt data with a combination of the new and old settings.</p> 105 */ SetStatus(EncryptionStatus && value)106 inline void SetStatus(EncryptionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } 107 108 /** 109 * <p>The encryption status. While the status is <code>UPDATING</code>, X-Ray may 110 * encrypt data with a combination of the new and old settings.</p> 111 */ WithStatus(const EncryptionStatus & value)112 inline EncryptionConfig& WithStatus(const EncryptionStatus& value) { SetStatus(value); return *this;} 113 114 /** 115 * <p>The encryption status. While the status is <code>UPDATING</code>, X-Ray may 116 * encrypt data with a combination of the new and old settings.</p> 117 */ WithStatus(EncryptionStatus && value)118 inline EncryptionConfig& WithStatus(EncryptionStatus&& value) { SetStatus(std::move(value)); return *this;} 119 120 121 /** 122 * <p>The type of encryption. Set to <code>KMS</code> for encryption with KMS keys. 123 * Set to <code>NONE</code> for default encryption.</p> 124 */ GetType()125 inline const EncryptionType& GetType() const{ return m_type; } 126 127 /** 128 * <p>The type of encryption. Set to <code>KMS</code> for encryption with KMS keys. 129 * Set to <code>NONE</code> for default encryption.</p> 130 */ TypeHasBeenSet()131 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 132 133 /** 134 * <p>The type of encryption. Set to <code>KMS</code> for encryption with KMS keys. 135 * Set to <code>NONE</code> for default encryption.</p> 136 */ SetType(const EncryptionType & value)137 inline void SetType(const EncryptionType& value) { m_typeHasBeenSet = true; m_type = value; } 138 139 /** 140 * <p>The type of encryption. Set to <code>KMS</code> for encryption with KMS keys. 141 * Set to <code>NONE</code> for default encryption.</p> 142 */ SetType(EncryptionType && value)143 inline void SetType(EncryptionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 144 145 /** 146 * <p>The type of encryption. Set to <code>KMS</code> for encryption with KMS keys. 147 * Set to <code>NONE</code> for default encryption.</p> 148 */ WithType(const EncryptionType & value)149 inline EncryptionConfig& WithType(const EncryptionType& value) { SetType(value); return *this;} 150 151 /** 152 * <p>The type of encryption. Set to <code>KMS</code> for encryption with KMS keys. 153 * Set to <code>NONE</code> for default encryption.</p> 154 */ WithType(EncryptionType && value)155 inline EncryptionConfig& WithType(EncryptionType&& value) { SetType(std::move(value)); return *this;} 156 157 private: 158 159 Aws::String m_keyId; 160 bool m_keyIdHasBeenSet; 161 162 EncryptionStatus m_status; 163 bool m_statusHasBeenSet; 164 165 EncryptionType m_type; 166 bool m_typeHasBeenSet; 167 }; 168 169 } // namespace Model 170 } // namespace XRay 171 } // namespace Aws 172