/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeGuruProfiler { namespace Model { /** *

The configuration for notifications stored for each profiling group. This * includes up to to two channels and a list of event publishers associated with * each channel.

See Also:

AWS * API Reference

*/ class NotificationConfiguration { public: AWS_CODEGURUPROFILER_API NotificationConfiguration(); AWS_CODEGURUPROFILER_API NotificationConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_CODEGURUPROFILER_API NotificationConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CODEGURUPROFILER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

List of up to two channels to be used for sending notifications for events * detected from the application profile.

*/ inline const Aws::Vector& GetChannels() const{ return m_channels; } /** *

List of up to two channels to be used for sending notifications for events * detected from the application profile.

*/ inline bool ChannelsHasBeenSet() const { return m_channelsHasBeenSet; } /** *

List of up to two channels to be used for sending notifications for events * detected from the application profile.

*/ inline void SetChannels(const Aws::Vector& value) { m_channelsHasBeenSet = true; m_channels = value; } /** *

List of up to two channels to be used for sending notifications for events * detected from the application profile.

*/ inline void SetChannels(Aws::Vector&& value) { m_channelsHasBeenSet = true; m_channels = std::move(value); } /** *

List of up to two channels to be used for sending notifications for events * detected from the application profile.

*/ inline NotificationConfiguration& WithChannels(const Aws::Vector& value) { SetChannels(value); return *this;} /** *

List of up to two channels to be used for sending notifications for events * detected from the application profile.

*/ inline NotificationConfiguration& WithChannels(Aws::Vector&& value) { SetChannels(std::move(value)); return *this;} /** *

List of up to two channels to be used for sending notifications for events * detected from the application profile.

*/ inline NotificationConfiguration& AddChannels(const Channel& value) { m_channelsHasBeenSet = true; m_channels.push_back(value); return *this; } /** *

List of up to two channels to be used for sending notifications for events * detected from the application profile.

*/ inline NotificationConfiguration& AddChannels(Channel&& value) { m_channelsHasBeenSet = true; m_channels.push_back(std::move(value)); return *this; } private: Aws::Vector m_channels; bool m_channelsHasBeenSet = false; }; } // namespace Model } // namespace CodeGuruProfiler } // namespace Aws