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/securityhub/SecurityHub_EXPORTS.h> 8 #include <aws/securityhub/model/AwsS3BucketServerSideEncryptionByDefault.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace SecurityHub 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>An encryption rule to apply to the S3 bucket.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsS3BucketServerSideEncryptionRule">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_SECURITYHUB_API AwsS3BucketServerSideEncryptionRule 32 { 33 public: 34 AwsS3BucketServerSideEncryptionRule(); 35 AwsS3BucketServerSideEncryptionRule(Aws::Utils::Json::JsonView jsonValue); 36 AwsS3BucketServerSideEncryptionRule& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>Specifies the default server-side encryption to apply to new objects in the 42 * bucket. If a <code>PUT</code> object request doesn't specify any server-side 43 * encryption, this default encryption is applied.</p> 44 */ GetApplyServerSideEncryptionByDefault()45 inline const AwsS3BucketServerSideEncryptionByDefault& GetApplyServerSideEncryptionByDefault() const{ return m_applyServerSideEncryptionByDefault; } 46 47 /** 48 * <p>Specifies the default server-side encryption to apply to new objects in the 49 * bucket. If a <code>PUT</code> object request doesn't specify any server-side 50 * encryption, this default encryption is applied.</p> 51 */ ApplyServerSideEncryptionByDefaultHasBeenSet()52 inline bool ApplyServerSideEncryptionByDefaultHasBeenSet() const { return m_applyServerSideEncryptionByDefaultHasBeenSet; } 53 54 /** 55 * <p>Specifies the default server-side encryption to apply to new objects in the 56 * bucket. If a <code>PUT</code> object request doesn't specify any server-side 57 * encryption, this default encryption is applied.</p> 58 */ SetApplyServerSideEncryptionByDefault(const AwsS3BucketServerSideEncryptionByDefault & value)59 inline void SetApplyServerSideEncryptionByDefault(const AwsS3BucketServerSideEncryptionByDefault& value) { m_applyServerSideEncryptionByDefaultHasBeenSet = true; m_applyServerSideEncryptionByDefault = value; } 60 61 /** 62 * <p>Specifies the default server-side encryption to apply to new objects in the 63 * bucket. If a <code>PUT</code> object request doesn't specify any server-side 64 * encryption, this default encryption is applied.</p> 65 */ SetApplyServerSideEncryptionByDefault(AwsS3BucketServerSideEncryptionByDefault && value)66 inline void SetApplyServerSideEncryptionByDefault(AwsS3BucketServerSideEncryptionByDefault&& value) { m_applyServerSideEncryptionByDefaultHasBeenSet = true; m_applyServerSideEncryptionByDefault = std::move(value); } 67 68 /** 69 * <p>Specifies the default server-side encryption to apply to new objects in the 70 * bucket. If a <code>PUT</code> object request doesn't specify any server-side 71 * encryption, this default encryption is applied.</p> 72 */ WithApplyServerSideEncryptionByDefault(const AwsS3BucketServerSideEncryptionByDefault & value)73 inline AwsS3BucketServerSideEncryptionRule& WithApplyServerSideEncryptionByDefault(const AwsS3BucketServerSideEncryptionByDefault& value) { SetApplyServerSideEncryptionByDefault(value); return *this;} 74 75 /** 76 * <p>Specifies the default server-side encryption to apply to new objects in the 77 * bucket. If a <code>PUT</code> object request doesn't specify any server-side 78 * encryption, this default encryption is applied.</p> 79 */ WithApplyServerSideEncryptionByDefault(AwsS3BucketServerSideEncryptionByDefault && value)80 inline AwsS3BucketServerSideEncryptionRule& WithApplyServerSideEncryptionByDefault(AwsS3BucketServerSideEncryptionByDefault&& value) { SetApplyServerSideEncryptionByDefault(std::move(value)); return *this;} 81 82 private: 83 84 AwsS3BucketServerSideEncryptionByDefault m_applyServerSideEncryptionByDefault; 85 bool m_applyServerSideEncryptionByDefaultHasBeenSet; 86 }; 87 88 } // namespace Model 89 } // namespace SecurityHub 90 } // namespace Aws 91