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/core/utils/memory/stl/AWSVector.h> 9 #include <aws/glue/model/CloudWatchEncryption.h> 10 #include <aws/glue/model/JobBookmarksEncryption.h> 11 #include <aws/glue/model/S3Encryption.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace Glue 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Specifies an encryption configuration.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/EncryptionConfiguration">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_GLUE_API EncryptionConfiguration 35 { 36 public: 37 EncryptionConfiguration(); 38 EncryptionConfiguration(Aws::Utils::Json::JsonView jsonValue); 39 EncryptionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The encryption configuration for Amazon Simple Storage Service (Amazon S3) 45 * data.</p> 46 */ GetS3Encryption()47 inline const Aws::Vector<S3Encryption>& GetS3Encryption() const{ return m_s3Encryption; } 48 49 /** 50 * <p>The encryption configuration for Amazon Simple Storage Service (Amazon S3) 51 * data.</p> 52 */ S3EncryptionHasBeenSet()53 inline bool S3EncryptionHasBeenSet() const { return m_s3EncryptionHasBeenSet; } 54 55 /** 56 * <p>The encryption configuration for Amazon Simple Storage Service (Amazon S3) 57 * data.</p> 58 */ SetS3Encryption(const Aws::Vector<S3Encryption> & value)59 inline void SetS3Encryption(const Aws::Vector<S3Encryption>& value) { m_s3EncryptionHasBeenSet = true; m_s3Encryption = value; } 60 61 /** 62 * <p>The encryption configuration for Amazon Simple Storage Service (Amazon S3) 63 * data.</p> 64 */ SetS3Encryption(Aws::Vector<S3Encryption> && value)65 inline void SetS3Encryption(Aws::Vector<S3Encryption>&& value) { m_s3EncryptionHasBeenSet = true; m_s3Encryption = std::move(value); } 66 67 /** 68 * <p>The encryption configuration for Amazon Simple Storage Service (Amazon S3) 69 * data.</p> 70 */ WithS3Encryption(const Aws::Vector<S3Encryption> & value)71 inline EncryptionConfiguration& WithS3Encryption(const Aws::Vector<S3Encryption>& value) { SetS3Encryption(value); return *this;} 72 73 /** 74 * <p>The encryption configuration for Amazon Simple Storage Service (Amazon S3) 75 * data.</p> 76 */ WithS3Encryption(Aws::Vector<S3Encryption> && value)77 inline EncryptionConfiguration& WithS3Encryption(Aws::Vector<S3Encryption>&& value) { SetS3Encryption(std::move(value)); return *this;} 78 79 /** 80 * <p>The encryption configuration for Amazon Simple Storage Service (Amazon S3) 81 * data.</p> 82 */ AddS3Encryption(const S3Encryption & value)83 inline EncryptionConfiguration& AddS3Encryption(const S3Encryption& value) { m_s3EncryptionHasBeenSet = true; m_s3Encryption.push_back(value); return *this; } 84 85 /** 86 * <p>The encryption configuration for Amazon Simple Storage Service (Amazon S3) 87 * data.</p> 88 */ AddS3Encryption(S3Encryption && value)89 inline EncryptionConfiguration& AddS3Encryption(S3Encryption&& value) { m_s3EncryptionHasBeenSet = true; m_s3Encryption.push_back(std::move(value)); return *this; } 90 91 92 /** 93 * <p>The encryption configuration for Amazon CloudWatch.</p> 94 */ GetCloudWatchEncryption()95 inline const CloudWatchEncryption& GetCloudWatchEncryption() const{ return m_cloudWatchEncryption; } 96 97 /** 98 * <p>The encryption configuration for Amazon CloudWatch.</p> 99 */ CloudWatchEncryptionHasBeenSet()100 inline bool CloudWatchEncryptionHasBeenSet() const { return m_cloudWatchEncryptionHasBeenSet; } 101 102 /** 103 * <p>The encryption configuration for Amazon CloudWatch.</p> 104 */ SetCloudWatchEncryption(const CloudWatchEncryption & value)105 inline void SetCloudWatchEncryption(const CloudWatchEncryption& value) { m_cloudWatchEncryptionHasBeenSet = true; m_cloudWatchEncryption = value; } 106 107 /** 108 * <p>The encryption configuration for Amazon CloudWatch.</p> 109 */ SetCloudWatchEncryption(CloudWatchEncryption && value)110 inline void SetCloudWatchEncryption(CloudWatchEncryption&& value) { m_cloudWatchEncryptionHasBeenSet = true; m_cloudWatchEncryption = std::move(value); } 111 112 /** 113 * <p>The encryption configuration for Amazon CloudWatch.</p> 114 */ WithCloudWatchEncryption(const CloudWatchEncryption & value)115 inline EncryptionConfiguration& WithCloudWatchEncryption(const CloudWatchEncryption& value) { SetCloudWatchEncryption(value); return *this;} 116 117 /** 118 * <p>The encryption configuration for Amazon CloudWatch.</p> 119 */ WithCloudWatchEncryption(CloudWatchEncryption && value)120 inline EncryptionConfiguration& WithCloudWatchEncryption(CloudWatchEncryption&& value) { SetCloudWatchEncryption(std::move(value)); return *this;} 121 122 123 /** 124 * <p>The encryption configuration for job bookmarks.</p> 125 */ GetJobBookmarksEncryption()126 inline const JobBookmarksEncryption& GetJobBookmarksEncryption() const{ return m_jobBookmarksEncryption; } 127 128 /** 129 * <p>The encryption configuration for job bookmarks.</p> 130 */ JobBookmarksEncryptionHasBeenSet()131 inline bool JobBookmarksEncryptionHasBeenSet() const { return m_jobBookmarksEncryptionHasBeenSet; } 132 133 /** 134 * <p>The encryption configuration for job bookmarks.</p> 135 */ SetJobBookmarksEncryption(const JobBookmarksEncryption & value)136 inline void SetJobBookmarksEncryption(const JobBookmarksEncryption& value) { m_jobBookmarksEncryptionHasBeenSet = true; m_jobBookmarksEncryption = value; } 137 138 /** 139 * <p>The encryption configuration for job bookmarks.</p> 140 */ SetJobBookmarksEncryption(JobBookmarksEncryption && value)141 inline void SetJobBookmarksEncryption(JobBookmarksEncryption&& value) { m_jobBookmarksEncryptionHasBeenSet = true; m_jobBookmarksEncryption = std::move(value); } 142 143 /** 144 * <p>The encryption configuration for job bookmarks.</p> 145 */ WithJobBookmarksEncryption(const JobBookmarksEncryption & value)146 inline EncryptionConfiguration& WithJobBookmarksEncryption(const JobBookmarksEncryption& value) { SetJobBookmarksEncryption(value); return *this;} 147 148 /** 149 * <p>The encryption configuration for job bookmarks.</p> 150 */ WithJobBookmarksEncryption(JobBookmarksEncryption && value)151 inline EncryptionConfiguration& WithJobBookmarksEncryption(JobBookmarksEncryption&& value) { SetJobBookmarksEncryption(std::move(value)); return *this;} 152 153 private: 154 155 Aws::Vector<S3Encryption> m_s3Encryption; 156 bool m_s3EncryptionHasBeenSet; 157 158 CloudWatchEncryption m_cloudWatchEncryption; 159 bool m_cloudWatchEncryptionHasBeenSet; 160 161 JobBookmarksEncryption m_jobBookmarksEncryption; 162 bool m_jobBookmarksEncryptionHasBeenSet; 163 }; 164 165 } // namespace Model 166 } // namespace Glue 167 } // namespace Aws 168