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/sms-voice/PinpointSMSVoice_EXPORTS.h> 8 #include <aws/sms-voice/model/CloudWatchLogsDestination.h> 9 #include <aws/sms-voice/model/KinesisFirehoseDestination.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/sms-voice/model/SnsDestination.h> 12 #include <aws/sms-voice/model/EventType.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace PinpointSMSVoice 26 { 27 namespace Model 28 { 29 30 /** 31 * An object that defines a single event destination.<p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-sms-voice-2018-09-05/EventDestinationDefinition">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_PINPOINTSMSVOICE_API EventDestinationDefinition 36 { 37 public: 38 EventDestinationDefinition(); 39 EventDestinationDefinition(Aws::Utils::Json::JsonView jsonValue); 40 EventDestinationDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 GetCloudWatchLogsDestination()45 inline const CloudWatchLogsDestination& GetCloudWatchLogsDestination() const{ return m_cloudWatchLogsDestination; } 46 47 CloudWatchLogsDestinationHasBeenSet()48 inline bool CloudWatchLogsDestinationHasBeenSet() const { return m_cloudWatchLogsDestinationHasBeenSet; } 49 50 SetCloudWatchLogsDestination(const CloudWatchLogsDestination & value)51 inline void SetCloudWatchLogsDestination(const CloudWatchLogsDestination& value) { m_cloudWatchLogsDestinationHasBeenSet = true; m_cloudWatchLogsDestination = value; } 52 53 SetCloudWatchLogsDestination(CloudWatchLogsDestination && value)54 inline void SetCloudWatchLogsDestination(CloudWatchLogsDestination&& value) { m_cloudWatchLogsDestinationHasBeenSet = true; m_cloudWatchLogsDestination = std::move(value); } 55 56 WithCloudWatchLogsDestination(const CloudWatchLogsDestination & value)57 inline EventDestinationDefinition& WithCloudWatchLogsDestination(const CloudWatchLogsDestination& value) { SetCloudWatchLogsDestination(value); return *this;} 58 59 WithCloudWatchLogsDestination(CloudWatchLogsDestination && value)60 inline EventDestinationDefinition& WithCloudWatchLogsDestination(CloudWatchLogsDestination&& value) { SetCloudWatchLogsDestination(std::move(value)); return *this;} 61 62 63 /** 64 * Indicates whether or not the event destination is enabled. If the event 65 * destination is enabled, then Amazon Pinpoint sends response data to the 66 * specified event destination. 67 */ GetEnabled()68 inline bool GetEnabled() const{ return m_enabled; } 69 70 /** 71 * Indicates whether or not the event destination is enabled. If the event 72 * destination is enabled, then Amazon Pinpoint sends response data to the 73 * specified event destination. 74 */ EnabledHasBeenSet()75 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } 76 77 /** 78 * Indicates whether or not the event destination is enabled. If the event 79 * destination is enabled, then Amazon Pinpoint sends response data to the 80 * specified event destination. 81 */ SetEnabled(bool value)82 inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } 83 84 /** 85 * Indicates whether or not the event destination is enabled. If the event 86 * destination is enabled, then Amazon Pinpoint sends response data to the 87 * specified event destination. 88 */ WithEnabled(bool value)89 inline EventDestinationDefinition& WithEnabled(bool value) { SetEnabled(value); return *this;} 90 91 92 GetKinesisFirehoseDestination()93 inline const KinesisFirehoseDestination& GetKinesisFirehoseDestination() const{ return m_kinesisFirehoseDestination; } 94 95 KinesisFirehoseDestinationHasBeenSet()96 inline bool KinesisFirehoseDestinationHasBeenSet() const { return m_kinesisFirehoseDestinationHasBeenSet; } 97 98 SetKinesisFirehoseDestination(const KinesisFirehoseDestination & value)99 inline void SetKinesisFirehoseDestination(const KinesisFirehoseDestination& value) { m_kinesisFirehoseDestinationHasBeenSet = true; m_kinesisFirehoseDestination = value; } 100 101 SetKinesisFirehoseDestination(KinesisFirehoseDestination && value)102 inline void SetKinesisFirehoseDestination(KinesisFirehoseDestination&& value) { m_kinesisFirehoseDestinationHasBeenSet = true; m_kinesisFirehoseDestination = std::move(value); } 103 104 WithKinesisFirehoseDestination(const KinesisFirehoseDestination & value)105 inline EventDestinationDefinition& WithKinesisFirehoseDestination(const KinesisFirehoseDestination& value) { SetKinesisFirehoseDestination(value); return *this;} 106 107 WithKinesisFirehoseDestination(KinesisFirehoseDestination && value)108 inline EventDestinationDefinition& WithKinesisFirehoseDestination(KinesisFirehoseDestination&& value) { SetKinesisFirehoseDestination(std::move(value)); return *this;} 109 110 111 GetMatchingEventTypes()112 inline const Aws::Vector<EventType>& GetMatchingEventTypes() const{ return m_matchingEventTypes; } 113 114 MatchingEventTypesHasBeenSet()115 inline bool MatchingEventTypesHasBeenSet() const { return m_matchingEventTypesHasBeenSet; } 116 117 SetMatchingEventTypes(const Aws::Vector<EventType> & value)118 inline void SetMatchingEventTypes(const Aws::Vector<EventType>& value) { m_matchingEventTypesHasBeenSet = true; m_matchingEventTypes = value; } 119 120 SetMatchingEventTypes(Aws::Vector<EventType> && value)121 inline void SetMatchingEventTypes(Aws::Vector<EventType>&& value) { m_matchingEventTypesHasBeenSet = true; m_matchingEventTypes = std::move(value); } 122 123 WithMatchingEventTypes(const Aws::Vector<EventType> & value)124 inline EventDestinationDefinition& WithMatchingEventTypes(const Aws::Vector<EventType>& value) { SetMatchingEventTypes(value); return *this;} 125 126 WithMatchingEventTypes(Aws::Vector<EventType> && value)127 inline EventDestinationDefinition& WithMatchingEventTypes(Aws::Vector<EventType>&& value) { SetMatchingEventTypes(std::move(value)); return *this;} 128 129 AddMatchingEventTypes(const EventType & value)130 inline EventDestinationDefinition& AddMatchingEventTypes(const EventType& value) { m_matchingEventTypesHasBeenSet = true; m_matchingEventTypes.push_back(value); return *this; } 131 132 AddMatchingEventTypes(EventType && value)133 inline EventDestinationDefinition& AddMatchingEventTypes(EventType&& value) { m_matchingEventTypesHasBeenSet = true; m_matchingEventTypes.push_back(std::move(value)); return *this; } 134 135 136 GetSnsDestination()137 inline const SnsDestination& GetSnsDestination() const{ return m_snsDestination; } 138 139 SnsDestinationHasBeenSet()140 inline bool SnsDestinationHasBeenSet() const { return m_snsDestinationHasBeenSet; } 141 142 SetSnsDestination(const SnsDestination & value)143 inline void SetSnsDestination(const SnsDestination& value) { m_snsDestinationHasBeenSet = true; m_snsDestination = value; } 144 145 SetSnsDestination(SnsDestination && value)146 inline void SetSnsDestination(SnsDestination&& value) { m_snsDestinationHasBeenSet = true; m_snsDestination = std::move(value); } 147 148 WithSnsDestination(const SnsDestination & value)149 inline EventDestinationDefinition& WithSnsDestination(const SnsDestination& value) { SetSnsDestination(value); return *this;} 150 151 WithSnsDestination(SnsDestination && value)152 inline EventDestinationDefinition& WithSnsDestination(SnsDestination&& value) { SetSnsDestination(std::move(value)); return *this;} 153 154 private: 155 156 CloudWatchLogsDestination m_cloudWatchLogsDestination; 157 bool m_cloudWatchLogsDestinationHasBeenSet; 158 159 bool m_enabled; 160 bool m_enabledHasBeenSet; 161 162 KinesisFirehoseDestination m_kinesisFirehoseDestination; 163 bool m_kinesisFirehoseDestinationHasBeenSet; 164 165 Aws::Vector<EventType> m_matchingEventTypes; 166 bool m_matchingEventTypesHasBeenSet; 167 168 SnsDestination m_snsDestination; 169 bool m_snsDestinationHasBeenSet; 170 }; 171 172 } // namespace Model 173 } // namespace PinpointSMSVoice 174 } // namespace Aws 175