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/medialive/model/InputDeviceConfigurableSettings.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 update an input device.<p><h3>See Also:</h3>   <a
22    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputDeviceRequest">AWS
23    * API Reference</a></p>
24    */
25   class AWS_MEDIALIVE_API UpdateInputDeviceRequest : public MediaLiveRequest
26   {
27   public:
28     UpdateInputDeviceRequest();
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 "UpdateInputDevice"; }
35 
36     Aws::String SerializePayload() const override;
37 
38 
39     /**
40      * The settings that you want to apply to the HD input device.
41      */
GetHdDeviceSettings()42     inline const InputDeviceConfigurableSettings& GetHdDeviceSettings() const{ return m_hdDeviceSettings; }
43 
44     /**
45      * The settings that you want to apply to the HD input device.
46      */
HdDeviceSettingsHasBeenSet()47     inline bool HdDeviceSettingsHasBeenSet() const { return m_hdDeviceSettingsHasBeenSet; }
48 
49     /**
50      * The settings that you want to apply to the HD input device.
51      */
SetHdDeviceSettings(const InputDeviceConfigurableSettings & value)52     inline void SetHdDeviceSettings(const InputDeviceConfigurableSettings& value) { m_hdDeviceSettingsHasBeenSet = true; m_hdDeviceSettings = value; }
53 
54     /**
55      * The settings that you want to apply to the HD input device.
56      */
SetHdDeviceSettings(InputDeviceConfigurableSettings && value)57     inline void SetHdDeviceSettings(InputDeviceConfigurableSettings&& value) { m_hdDeviceSettingsHasBeenSet = true; m_hdDeviceSettings = std::move(value); }
58 
59     /**
60      * The settings that you want to apply to the HD input device.
61      */
WithHdDeviceSettings(const InputDeviceConfigurableSettings & value)62     inline UpdateInputDeviceRequest& WithHdDeviceSettings(const InputDeviceConfigurableSettings& value) { SetHdDeviceSettings(value); return *this;}
63 
64     /**
65      * The settings that you want to apply to the HD input device.
66      */
WithHdDeviceSettings(InputDeviceConfigurableSettings && value)67     inline UpdateInputDeviceRequest& WithHdDeviceSettings(InputDeviceConfigurableSettings&& value) { SetHdDeviceSettings(std::move(value)); return *this;}
68 
69 
70     /**
71      * The unique ID of the input device. For example, hd-123456789abcdef.
72      */
GetInputDeviceId()73     inline const Aws::String& GetInputDeviceId() const{ return m_inputDeviceId; }
74 
75     /**
76      * The unique ID of the input device. For example, hd-123456789abcdef.
77      */
InputDeviceIdHasBeenSet()78     inline bool InputDeviceIdHasBeenSet() const { return m_inputDeviceIdHasBeenSet; }
79 
80     /**
81      * The unique ID of the input device. For example, hd-123456789abcdef.
82      */
SetInputDeviceId(const Aws::String & value)83     inline void SetInputDeviceId(const Aws::String& value) { m_inputDeviceIdHasBeenSet = true; m_inputDeviceId = value; }
84 
85     /**
86      * The unique ID of the input device. For example, hd-123456789abcdef.
87      */
SetInputDeviceId(Aws::String && value)88     inline void SetInputDeviceId(Aws::String&& value) { m_inputDeviceIdHasBeenSet = true; m_inputDeviceId = std::move(value); }
89 
90     /**
91      * The unique ID of the input device. For example, hd-123456789abcdef.
92      */
SetInputDeviceId(const char * value)93     inline void SetInputDeviceId(const char* value) { m_inputDeviceIdHasBeenSet = true; m_inputDeviceId.assign(value); }
94 
95     /**
96      * The unique ID of the input device. For example, hd-123456789abcdef.
97      */
WithInputDeviceId(const Aws::String & value)98     inline UpdateInputDeviceRequest& WithInputDeviceId(const Aws::String& value) { SetInputDeviceId(value); return *this;}
99 
100     /**
101      * The unique ID of the input device. For example, hd-123456789abcdef.
102      */
WithInputDeviceId(Aws::String && value)103     inline UpdateInputDeviceRequest& WithInputDeviceId(Aws::String&& value) { SetInputDeviceId(std::move(value)); return *this;}
104 
105     /**
106      * The unique ID of the input device. For example, hd-123456789abcdef.
107      */
WithInputDeviceId(const char * value)108     inline UpdateInputDeviceRequest& WithInputDeviceId(const char* value) { SetInputDeviceId(value); return *this;}
109 
110 
111     /**
112      * The name that you assigned to this input device (not the unique ID).
113      */
GetName()114     inline const Aws::String& GetName() const{ return m_name; }
115 
116     /**
117      * The name that you assigned to this input device (not the unique ID).
118      */
NameHasBeenSet()119     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
120 
121     /**
122      * The name that you assigned to this input device (not the unique ID).
123      */
SetName(const Aws::String & value)124     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
125 
126     /**
127      * The name that you assigned to this input device (not the unique ID).
128      */
SetName(Aws::String && value)129     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
130 
131     /**
132      * The name that you assigned to this input device (not the unique ID).
133      */
SetName(const char * value)134     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
135 
136     /**
137      * The name that you assigned to this input device (not the unique ID).
138      */
WithName(const Aws::String & value)139     inline UpdateInputDeviceRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
140 
141     /**
142      * The name that you assigned to this input device (not the unique ID).
143      */
WithName(Aws::String && value)144     inline UpdateInputDeviceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
145 
146     /**
147      * The name that you assigned to this input device (not the unique ID).
148      */
WithName(const char * value)149     inline UpdateInputDeviceRequest& WithName(const char* value) { SetName(value); return *this;}
150 
151 
152     /**
153      * The settings that you want to apply to the UHD input device.
154      */
GetUhdDeviceSettings()155     inline const InputDeviceConfigurableSettings& GetUhdDeviceSettings() const{ return m_uhdDeviceSettings; }
156 
157     /**
158      * The settings that you want to apply to the UHD input device.
159      */
UhdDeviceSettingsHasBeenSet()160     inline bool UhdDeviceSettingsHasBeenSet() const { return m_uhdDeviceSettingsHasBeenSet; }
161 
162     /**
163      * The settings that you want to apply to the UHD input device.
164      */
SetUhdDeviceSettings(const InputDeviceConfigurableSettings & value)165     inline void SetUhdDeviceSettings(const InputDeviceConfigurableSettings& value) { m_uhdDeviceSettingsHasBeenSet = true; m_uhdDeviceSettings = value; }
166 
167     /**
168      * The settings that you want to apply to the UHD input device.
169      */
SetUhdDeviceSettings(InputDeviceConfigurableSettings && value)170     inline void SetUhdDeviceSettings(InputDeviceConfigurableSettings&& value) { m_uhdDeviceSettingsHasBeenSet = true; m_uhdDeviceSettings = std::move(value); }
171 
172     /**
173      * The settings that you want to apply to the UHD input device.
174      */
WithUhdDeviceSettings(const InputDeviceConfigurableSettings & value)175     inline UpdateInputDeviceRequest& WithUhdDeviceSettings(const InputDeviceConfigurableSettings& value) { SetUhdDeviceSettings(value); return *this;}
176 
177     /**
178      * The settings that you want to apply to the UHD input device.
179      */
WithUhdDeviceSettings(InputDeviceConfigurableSettings && value)180     inline UpdateInputDeviceRequest& WithUhdDeviceSettings(InputDeviceConfigurableSettings&& value) { SetUhdDeviceSettings(std::move(value)); return *this;}
181 
182   private:
183 
184     InputDeviceConfigurableSettings m_hdDeviceSettings;
185     bool m_hdDeviceSettingsHasBeenSet;
186 
187     Aws::String m_inputDeviceId;
188     bool m_inputDeviceIdHasBeenSet;
189 
190     Aws::String m_name;
191     bool m_nameHasBeenSet;
192 
193     InputDeviceConfigurableSettings m_uhdDeviceSettings;
194     bool m_uhdDeviceSettingsHasBeenSet;
195   };
196 
197 } // namespace Model
198 } // namespace MediaLive
199 } // namespace Aws
200