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/core/utils/memory/stl/AWSString.h>
9 #include <aws/medialive/model/InputDestinationVpc.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace MediaLive
23 {
24 namespace Model
25 {
26 
27   /**
28    * The settings for a PUSH type input.<p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/InputDestination">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API InputDestination
33   {
34   public:
35     InputDestination();
36     InputDestination(Aws::Utils::Json::JsonView jsonValue);
37     InputDestination& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * The system-generated static IP address of endpoint.
43 It remains fixed for the
44      * lifetime of the input.
45 
46      */
GetIp()47     inline const Aws::String& GetIp() const{ return m_ip; }
48 
49     /**
50      * The system-generated static IP address of endpoint.
51 It remains fixed for the
52      * lifetime of the input.
53 
54      */
IpHasBeenSet()55     inline bool IpHasBeenSet() const { return m_ipHasBeenSet; }
56 
57     /**
58      * The system-generated static IP address of endpoint.
59 It remains fixed for the
60      * lifetime of the input.
61 
62      */
SetIp(const Aws::String & value)63     inline void SetIp(const Aws::String& value) { m_ipHasBeenSet = true; m_ip = value; }
64 
65     /**
66      * The system-generated static IP address of endpoint.
67 It remains fixed for the
68      * lifetime of the input.
69 
70      */
SetIp(Aws::String && value)71     inline void SetIp(Aws::String&& value) { m_ipHasBeenSet = true; m_ip = std::move(value); }
72 
73     /**
74      * The system-generated static IP address of endpoint.
75 It remains fixed for the
76      * lifetime of the input.
77 
78      */
SetIp(const char * value)79     inline void SetIp(const char* value) { m_ipHasBeenSet = true; m_ip.assign(value); }
80 
81     /**
82      * The system-generated static IP address of endpoint.
83 It remains fixed for the
84      * lifetime of the input.
85 
86      */
WithIp(const Aws::String & value)87     inline InputDestination& WithIp(const Aws::String& value) { SetIp(value); return *this;}
88 
89     /**
90      * The system-generated static IP address of endpoint.
91 It remains fixed for the
92      * lifetime of the input.
93 
94      */
WithIp(Aws::String && value)95     inline InputDestination& WithIp(Aws::String&& value) { SetIp(std::move(value)); return *this;}
96 
97     /**
98      * The system-generated static IP address of endpoint.
99 It remains fixed for the
100      * lifetime of the input.
101 
102      */
WithIp(const char * value)103     inline InputDestination& WithIp(const char* value) { SetIp(value); return *this;}
104 
105 
106     /**
107      * The port number for the input.
108      */
GetPort()109     inline const Aws::String& GetPort() const{ return m_port; }
110 
111     /**
112      * The port number for the input.
113      */
PortHasBeenSet()114     inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
115 
116     /**
117      * The port number for the input.
118      */
SetPort(const Aws::String & value)119     inline void SetPort(const Aws::String& value) { m_portHasBeenSet = true; m_port = value; }
120 
121     /**
122      * The port number for the input.
123      */
SetPort(Aws::String && value)124     inline void SetPort(Aws::String&& value) { m_portHasBeenSet = true; m_port = std::move(value); }
125 
126     /**
127      * The port number for the input.
128      */
SetPort(const char * value)129     inline void SetPort(const char* value) { m_portHasBeenSet = true; m_port.assign(value); }
130 
131     /**
132      * The port number for the input.
133      */
WithPort(const Aws::String & value)134     inline InputDestination& WithPort(const Aws::String& value) { SetPort(value); return *this;}
135 
136     /**
137      * The port number for the input.
138      */
WithPort(Aws::String && value)139     inline InputDestination& WithPort(Aws::String&& value) { SetPort(std::move(value)); return *this;}
140 
141     /**
142      * The port number for the input.
143      */
WithPort(const char * value)144     inline InputDestination& WithPort(const char* value) { SetPort(value); return *this;}
145 
146 
147     /**
148      * This represents the endpoint that the customer stream will be
149 pushed to.
150 
151      */
GetUrl()152     inline const Aws::String& GetUrl() const{ return m_url; }
153 
154     /**
155      * This represents the endpoint that the customer stream will be
156 pushed to.
157 
158      */
UrlHasBeenSet()159     inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; }
160 
161     /**
162      * This represents the endpoint that the customer stream will be
163 pushed to.
164 
165      */
SetUrl(const Aws::String & value)166     inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; }
167 
168     /**
169      * This represents the endpoint that the customer stream will be
170 pushed to.
171 
172      */
SetUrl(Aws::String && value)173     inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); }
174 
175     /**
176      * This represents the endpoint that the customer stream will be
177 pushed to.
178 
179      */
SetUrl(const char * value)180     inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); }
181 
182     /**
183      * This represents the endpoint that the customer stream will be
184 pushed to.
185 
186      */
WithUrl(const Aws::String & value)187     inline InputDestination& WithUrl(const Aws::String& value) { SetUrl(value); return *this;}
188 
189     /**
190      * This represents the endpoint that the customer stream will be
191 pushed to.
192 
193      */
WithUrl(Aws::String && value)194     inline InputDestination& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;}
195 
196     /**
197      * This represents the endpoint that the customer stream will be
198 pushed to.
199 
200      */
WithUrl(const char * value)201     inline InputDestination& WithUrl(const char* value) { SetUrl(value); return *this;}
202 
203 
204 
GetVpc()205     inline const InputDestinationVpc& GetVpc() const{ return m_vpc; }
206 
207 
VpcHasBeenSet()208     inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; }
209 
210 
SetVpc(const InputDestinationVpc & value)211     inline void SetVpc(const InputDestinationVpc& value) { m_vpcHasBeenSet = true; m_vpc = value; }
212 
213 
SetVpc(InputDestinationVpc && value)214     inline void SetVpc(InputDestinationVpc&& value) { m_vpcHasBeenSet = true; m_vpc = std::move(value); }
215 
216 
WithVpc(const InputDestinationVpc & value)217     inline InputDestination& WithVpc(const InputDestinationVpc& value) { SetVpc(value); return *this;}
218 
219 
WithVpc(InputDestinationVpc && value)220     inline InputDestination& WithVpc(InputDestinationVpc&& value) { SetVpc(std::move(value)); return *this;}
221 
222   private:
223 
224     Aws::String m_ip;
225     bool m_ipHasBeenSet;
226 
227     Aws::String m_port;
228     bool m_portHasBeenSet;
229 
230     Aws::String m_url;
231     bool m_urlHasBeenSet;
232 
233     InputDestinationVpc m_vpc;
234     bool m_vpcHasBeenSet;
235   };
236 
237 } // namespace Model
238 } // namespace MediaLive
239 } // namespace Aws
240