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/pinpoint/Pinpoint_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSMap.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/pinpoint/model/ChannelResponse.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace Pinpoint
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Provides information about the general settings and status of all channels
30    * for an application, including channels that aren't enabled for the
31    * application.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ChannelsResponse">AWS
33    * API Reference</a></p>
34    */
35   class AWS_PINPOINT_API ChannelsResponse
36   {
37   public:
38     ChannelsResponse();
39     ChannelsResponse(Aws::Utils::Json::JsonView jsonValue);
40     ChannelsResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>A map that contains a multipart response for each channel. For each item in
46      * this object, the ChannelType is the key and the Channel is the value.</p>
47      */
GetChannels()48     inline const Aws::Map<Aws::String, ChannelResponse>& GetChannels() const{ return m_channels; }
49 
50     /**
51      * <p>A map that contains a multipart response for each channel. For each item in
52      * this object, the ChannelType is the key and the Channel is the value.</p>
53      */
ChannelsHasBeenSet()54     inline bool ChannelsHasBeenSet() const { return m_channelsHasBeenSet; }
55 
56     /**
57      * <p>A map that contains a multipart response for each channel. For each item in
58      * this object, the ChannelType is the key and the Channel is the value.</p>
59      */
SetChannels(const Aws::Map<Aws::String,ChannelResponse> & value)60     inline void SetChannels(const Aws::Map<Aws::String, ChannelResponse>& value) { m_channelsHasBeenSet = true; m_channels = value; }
61 
62     /**
63      * <p>A map that contains a multipart response for each channel. For each item in
64      * this object, the ChannelType is the key and the Channel is the value.</p>
65      */
SetChannels(Aws::Map<Aws::String,ChannelResponse> && value)66     inline void SetChannels(Aws::Map<Aws::String, ChannelResponse>&& value) { m_channelsHasBeenSet = true; m_channels = std::move(value); }
67 
68     /**
69      * <p>A map that contains a multipart response for each channel. For each item in
70      * this object, the ChannelType is the key and the Channel is the value.</p>
71      */
WithChannels(const Aws::Map<Aws::String,ChannelResponse> & value)72     inline ChannelsResponse& WithChannels(const Aws::Map<Aws::String, ChannelResponse>& value) { SetChannels(value); return *this;}
73 
74     /**
75      * <p>A map that contains a multipart response for each channel. For each item in
76      * this object, the ChannelType is the key and the Channel is the value.</p>
77      */
WithChannels(Aws::Map<Aws::String,ChannelResponse> && value)78     inline ChannelsResponse& WithChannels(Aws::Map<Aws::String, ChannelResponse>&& value) { SetChannels(std::move(value)); return *this;}
79 
80     /**
81      * <p>A map that contains a multipart response for each channel. For each item in
82      * this object, the ChannelType is the key and the Channel is the value.</p>
83      */
AddChannels(const Aws::String & key,const ChannelResponse & value)84     inline ChannelsResponse& AddChannels(const Aws::String& key, const ChannelResponse& value) { m_channelsHasBeenSet = true; m_channels.emplace(key, value); return *this; }
85 
86     /**
87      * <p>A map that contains a multipart response for each channel. For each item in
88      * this object, the ChannelType is the key and the Channel is the value.</p>
89      */
AddChannels(Aws::String && key,const ChannelResponse & value)90     inline ChannelsResponse& AddChannels(Aws::String&& key, const ChannelResponse& value) { m_channelsHasBeenSet = true; m_channels.emplace(std::move(key), value); return *this; }
91 
92     /**
93      * <p>A map that contains a multipart response for each channel. For each item in
94      * this object, the ChannelType is the key and the Channel is the value.</p>
95      */
AddChannels(const Aws::String & key,ChannelResponse && value)96     inline ChannelsResponse& AddChannels(const Aws::String& key, ChannelResponse&& value) { m_channelsHasBeenSet = true; m_channels.emplace(key, std::move(value)); return *this; }
97 
98     /**
99      * <p>A map that contains a multipart response for each channel. For each item in
100      * this object, the ChannelType is the key and the Channel is the value.</p>
101      */
AddChannels(Aws::String && key,ChannelResponse && value)102     inline ChannelsResponse& AddChannels(Aws::String&& key, ChannelResponse&& value) { m_channelsHasBeenSet = true; m_channels.emplace(std::move(key), std::move(value)); return *this; }
103 
104     /**
105      * <p>A map that contains a multipart response for each channel. For each item in
106      * this object, the ChannelType is the key and the Channel is the value.</p>
107      */
AddChannels(const char * key,ChannelResponse && value)108     inline ChannelsResponse& AddChannels(const char* key, ChannelResponse&& value) { m_channelsHasBeenSet = true; m_channels.emplace(key, std::move(value)); return *this; }
109 
110     /**
111      * <p>A map that contains a multipart response for each channel. For each item in
112      * this object, the ChannelType is the key and the Channel is the value.</p>
113      */
AddChannels(const char * key,const ChannelResponse & value)114     inline ChannelsResponse& AddChannels(const char* key, const ChannelResponse& value) { m_channelsHasBeenSet = true; m_channels.emplace(key, value); return *this; }
115 
116   private:
117 
118     Aws::Map<Aws::String, ChannelResponse> m_channels;
119     bool m_channelsHasBeenSet;
120   };
121 
122 } // namespace Model
123 } // namespace Pinpoint
124 } // namespace Aws
125