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/guardduty/GuardDuty_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.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 GuardDuty 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Contains the Amazon Resource Name (ARN) of the resource to publish to, such 28 * as an S3 bucket, and the ARN of the KMS key to use to encrypt published 29 * findings.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DestinationProperties">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_GUARDDUTY_API DestinationProperties 34 { 35 public: 36 DestinationProperties(); 37 DestinationProperties(Aws::Utils::Json::JsonView jsonValue); 38 DestinationProperties& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The ARN of the resource to publish to.</p> 44 */ GetDestinationArn()45 inline const Aws::String& GetDestinationArn() const{ return m_destinationArn; } 46 47 /** 48 * <p>The ARN of the resource to publish to.</p> 49 */ DestinationArnHasBeenSet()50 inline bool DestinationArnHasBeenSet() const { return m_destinationArnHasBeenSet; } 51 52 /** 53 * <p>The ARN of the resource to publish to.</p> 54 */ SetDestinationArn(const Aws::String & value)55 inline void SetDestinationArn(const Aws::String& value) { m_destinationArnHasBeenSet = true; m_destinationArn = value; } 56 57 /** 58 * <p>The ARN of the resource to publish to.</p> 59 */ SetDestinationArn(Aws::String && value)60 inline void SetDestinationArn(Aws::String&& value) { m_destinationArnHasBeenSet = true; m_destinationArn = std::move(value); } 61 62 /** 63 * <p>The ARN of the resource to publish to.</p> 64 */ SetDestinationArn(const char * value)65 inline void SetDestinationArn(const char* value) { m_destinationArnHasBeenSet = true; m_destinationArn.assign(value); } 66 67 /** 68 * <p>The ARN of the resource to publish to.</p> 69 */ WithDestinationArn(const Aws::String & value)70 inline DestinationProperties& WithDestinationArn(const Aws::String& value) { SetDestinationArn(value); return *this;} 71 72 /** 73 * <p>The ARN of the resource to publish to.</p> 74 */ WithDestinationArn(Aws::String && value)75 inline DestinationProperties& WithDestinationArn(Aws::String&& value) { SetDestinationArn(std::move(value)); return *this;} 76 77 /** 78 * <p>The ARN of the resource to publish to.</p> 79 */ WithDestinationArn(const char * value)80 inline DestinationProperties& WithDestinationArn(const char* value) { SetDestinationArn(value); return *this;} 81 82 83 /** 84 * <p>The ARN of the KMS key to use for encryption.</p> 85 */ GetKmsKeyArn()86 inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } 87 88 /** 89 * <p>The ARN of the KMS key to use for encryption.</p> 90 */ KmsKeyArnHasBeenSet()91 inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } 92 93 /** 94 * <p>The ARN of the KMS key to use for encryption.</p> 95 */ SetKmsKeyArn(const Aws::String & value)96 inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = value; } 97 98 /** 99 * <p>The ARN of the KMS key to use for encryption.</p> 100 */ SetKmsKeyArn(Aws::String && value)101 inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::move(value); } 102 103 /** 104 * <p>The ARN of the KMS key to use for encryption.</p> 105 */ SetKmsKeyArn(const char * value)106 inline void SetKmsKeyArn(const char* value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn.assign(value); } 107 108 /** 109 * <p>The ARN of the KMS key to use for encryption.</p> 110 */ WithKmsKeyArn(const Aws::String & value)111 inline DestinationProperties& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} 112 113 /** 114 * <p>The ARN of the KMS key to use for encryption.</p> 115 */ WithKmsKeyArn(Aws::String && value)116 inline DestinationProperties& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} 117 118 /** 119 * <p>The ARN of the KMS key to use for encryption.</p> 120 */ WithKmsKeyArn(const char * value)121 inline DestinationProperties& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} 122 123 private: 124 125 Aws::String m_destinationArn; 126 bool m_destinationArnHasBeenSet; 127 128 Aws::String m_kmsKeyArn; 129 bool m_kmsKeyArnHasBeenSet; 130 }; 131 132 } // namespace Model 133 } // namespace GuardDuty 134 } // namespace Aws 135