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/medialive/MediaLive_EXPORTS.h>
8 #include <aws/medialive/MediaLiveRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace MediaLive
16 {
17 namespace Model
18 {
19 
20   /**
21    * A request to delete resources<p><h3>See Also:</h3>   <a
22    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/BatchDeleteRequest">AWS
23    * API Reference</a></p>
24    */
25   class AWS_MEDIALIVE_API BatchDeleteRequest : public MediaLiveRequest
26   {
27   public:
28     BatchDeleteRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "BatchDelete"; }
35 
36     Aws::String SerializePayload() const override;
37 
38 
39     /**
40      * List of channel IDs
41      */
GetChannelIds()42     inline const Aws::Vector<Aws::String>& GetChannelIds() const{ return m_channelIds; }
43 
44     /**
45      * List of channel IDs
46      */
ChannelIdsHasBeenSet()47     inline bool ChannelIdsHasBeenSet() const { return m_channelIdsHasBeenSet; }
48 
49     /**
50      * List of channel IDs
51      */
SetChannelIds(const Aws::Vector<Aws::String> & value)52     inline void SetChannelIds(const Aws::Vector<Aws::String>& value) { m_channelIdsHasBeenSet = true; m_channelIds = value; }
53 
54     /**
55      * List of channel IDs
56      */
SetChannelIds(Aws::Vector<Aws::String> && value)57     inline void SetChannelIds(Aws::Vector<Aws::String>&& value) { m_channelIdsHasBeenSet = true; m_channelIds = std::move(value); }
58 
59     /**
60      * List of channel IDs
61      */
WithChannelIds(const Aws::Vector<Aws::String> & value)62     inline BatchDeleteRequest& WithChannelIds(const Aws::Vector<Aws::String>& value) { SetChannelIds(value); return *this;}
63 
64     /**
65      * List of channel IDs
66      */
WithChannelIds(Aws::Vector<Aws::String> && value)67     inline BatchDeleteRequest& WithChannelIds(Aws::Vector<Aws::String>&& value) { SetChannelIds(std::move(value)); return *this;}
68 
69     /**
70      * List of channel IDs
71      */
AddChannelIds(const Aws::String & value)72     inline BatchDeleteRequest& AddChannelIds(const Aws::String& value) { m_channelIdsHasBeenSet = true; m_channelIds.push_back(value); return *this; }
73 
74     /**
75      * List of channel IDs
76      */
AddChannelIds(Aws::String && value)77     inline BatchDeleteRequest& AddChannelIds(Aws::String&& value) { m_channelIdsHasBeenSet = true; m_channelIds.push_back(std::move(value)); return *this; }
78 
79     /**
80      * List of channel IDs
81      */
AddChannelIds(const char * value)82     inline BatchDeleteRequest& AddChannelIds(const char* value) { m_channelIdsHasBeenSet = true; m_channelIds.push_back(value); return *this; }
83 
84 
85     /**
86      * List of input IDs
87      */
GetInputIds()88     inline const Aws::Vector<Aws::String>& GetInputIds() const{ return m_inputIds; }
89 
90     /**
91      * List of input IDs
92      */
InputIdsHasBeenSet()93     inline bool InputIdsHasBeenSet() const { return m_inputIdsHasBeenSet; }
94 
95     /**
96      * List of input IDs
97      */
SetInputIds(const Aws::Vector<Aws::String> & value)98     inline void SetInputIds(const Aws::Vector<Aws::String>& value) { m_inputIdsHasBeenSet = true; m_inputIds = value; }
99 
100     /**
101      * List of input IDs
102      */
SetInputIds(Aws::Vector<Aws::String> && value)103     inline void SetInputIds(Aws::Vector<Aws::String>&& value) { m_inputIdsHasBeenSet = true; m_inputIds = std::move(value); }
104 
105     /**
106      * List of input IDs
107      */
WithInputIds(const Aws::Vector<Aws::String> & value)108     inline BatchDeleteRequest& WithInputIds(const Aws::Vector<Aws::String>& value) { SetInputIds(value); return *this;}
109 
110     /**
111      * List of input IDs
112      */
WithInputIds(Aws::Vector<Aws::String> && value)113     inline BatchDeleteRequest& WithInputIds(Aws::Vector<Aws::String>&& value) { SetInputIds(std::move(value)); return *this;}
114 
115     /**
116      * List of input IDs
117      */
AddInputIds(const Aws::String & value)118     inline BatchDeleteRequest& AddInputIds(const Aws::String& value) { m_inputIdsHasBeenSet = true; m_inputIds.push_back(value); return *this; }
119 
120     /**
121      * List of input IDs
122      */
AddInputIds(Aws::String && value)123     inline BatchDeleteRequest& AddInputIds(Aws::String&& value) { m_inputIdsHasBeenSet = true; m_inputIds.push_back(std::move(value)); return *this; }
124 
125     /**
126      * List of input IDs
127      */
AddInputIds(const char * value)128     inline BatchDeleteRequest& AddInputIds(const char* value) { m_inputIdsHasBeenSet = true; m_inputIds.push_back(value); return *this; }
129 
130 
131     /**
132      * List of input security group IDs
133      */
GetInputSecurityGroupIds()134     inline const Aws::Vector<Aws::String>& GetInputSecurityGroupIds() const{ return m_inputSecurityGroupIds; }
135 
136     /**
137      * List of input security group IDs
138      */
InputSecurityGroupIdsHasBeenSet()139     inline bool InputSecurityGroupIdsHasBeenSet() const { return m_inputSecurityGroupIdsHasBeenSet; }
140 
141     /**
142      * List of input security group IDs
143      */
SetInputSecurityGroupIds(const Aws::Vector<Aws::String> & value)144     inline void SetInputSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_inputSecurityGroupIdsHasBeenSet = true; m_inputSecurityGroupIds = value; }
145 
146     /**
147      * List of input security group IDs
148      */
SetInputSecurityGroupIds(Aws::Vector<Aws::String> && value)149     inline void SetInputSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_inputSecurityGroupIdsHasBeenSet = true; m_inputSecurityGroupIds = std::move(value); }
150 
151     /**
152      * List of input security group IDs
153      */
WithInputSecurityGroupIds(const Aws::Vector<Aws::String> & value)154     inline BatchDeleteRequest& WithInputSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetInputSecurityGroupIds(value); return *this;}
155 
156     /**
157      * List of input security group IDs
158      */
WithInputSecurityGroupIds(Aws::Vector<Aws::String> && value)159     inline BatchDeleteRequest& WithInputSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetInputSecurityGroupIds(std::move(value)); return *this;}
160 
161     /**
162      * List of input security group IDs
163      */
AddInputSecurityGroupIds(const Aws::String & value)164     inline BatchDeleteRequest& AddInputSecurityGroupIds(const Aws::String& value) { m_inputSecurityGroupIdsHasBeenSet = true; m_inputSecurityGroupIds.push_back(value); return *this; }
165 
166     /**
167      * List of input security group IDs
168      */
AddInputSecurityGroupIds(Aws::String && value)169     inline BatchDeleteRequest& AddInputSecurityGroupIds(Aws::String&& value) { m_inputSecurityGroupIdsHasBeenSet = true; m_inputSecurityGroupIds.push_back(std::move(value)); return *this; }
170 
171     /**
172      * List of input security group IDs
173      */
AddInputSecurityGroupIds(const char * value)174     inline BatchDeleteRequest& AddInputSecurityGroupIds(const char* value) { m_inputSecurityGroupIdsHasBeenSet = true; m_inputSecurityGroupIds.push_back(value); return *this; }
175 
176 
177     /**
178      * List of multiplex IDs
179      */
GetMultiplexIds()180     inline const Aws::Vector<Aws::String>& GetMultiplexIds() const{ return m_multiplexIds; }
181 
182     /**
183      * List of multiplex IDs
184      */
MultiplexIdsHasBeenSet()185     inline bool MultiplexIdsHasBeenSet() const { return m_multiplexIdsHasBeenSet; }
186 
187     /**
188      * List of multiplex IDs
189      */
SetMultiplexIds(const Aws::Vector<Aws::String> & value)190     inline void SetMultiplexIds(const Aws::Vector<Aws::String>& value) { m_multiplexIdsHasBeenSet = true; m_multiplexIds = value; }
191 
192     /**
193      * List of multiplex IDs
194      */
SetMultiplexIds(Aws::Vector<Aws::String> && value)195     inline void SetMultiplexIds(Aws::Vector<Aws::String>&& value) { m_multiplexIdsHasBeenSet = true; m_multiplexIds = std::move(value); }
196 
197     /**
198      * List of multiplex IDs
199      */
WithMultiplexIds(const Aws::Vector<Aws::String> & value)200     inline BatchDeleteRequest& WithMultiplexIds(const Aws::Vector<Aws::String>& value) { SetMultiplexIds(value); return *this;}
201 
202     /**
203      * List of multiplex IDs
204      */
WithMultiplexIds(Aws::Vector<Aws::String> && value)205     inline BatchDeleteRequest& WithMultiplexIds(Aws::Vector<Aws::String>&& value) { SetMultiplexIds(std::move(value)); return *this;}
206 
207     /**
208      * List of multiplex IDs
209      */
AddMultiplexIds(const Aws::String & value)210     inline BatchDeleteRequest& AddMultiplexIds(const Aws::String& value) { m_multiplexIdsHasBeenSet = true; m_multiplexIds.push_back(value); return *this; }
211 
212     /**
213      * List of multiplex IDs
214      */
AddMultiplexIds(Aws::String && value)215     inline BatchDeleteRequest& AddMultiplexIds(Aws::String&& value) { m_multiplexIdsHasBeenSet = true; m_multiplexIds.push_back(std::move(value)); return *this; }
216 
217     /**
218      * List of multiplex IDs
219      */
AddMultiplexIds(const char * value)220     inline BatchDeleteRequest& AddMultiplexIds(const char* value) { m_multiplexIdsHasBeenSet = true; m_multiplexIds.push_back(value); return *this; }
221 
222   private:
223 
224     Aws::Vector<Aws::String> m_channelIds;
225     bool m_channelIdsHasBeenSet;
226 
227     Aws::Vector<Aws::String> m_inputIds;
228     bool m_inputIdsHasBeenSet;
229 
230     Aws::Vector<Aws::String> m_inputSecurityGroupIds;
231     bool m_inputSecurityGroupIdsHasBeenSet;
232 
233     Aws::Vector<Aws::String> m_multiplexIds;
234     bool m_multiplexIdsHasBeenSet;
235   };
236 
237 } // namespace Model
238 } // namespace MediaLive
239 } // namespace Aws
240