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 <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace MediaLive
22 {
23 namespace Model
24 {
25 
26   /**
27    * The properties for a VPC type input destination.<p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/InputDestinationVpc">AWS
29    * API Reference</a></p>
30    */
31   class AWS_MEDIALIVE_API InputDestinationVpc
32   {
33   public:
34     InputDestinationVpc();
35     InputDestinationVpc(Aws::Utils::Json::JsonView jsonValue);
36     InputDestinationVpc& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * The availability zone of the Input destination.
42 
43      */
GetAvailabilityZone()44     inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; }
45 
46     /**
47      * The availability zone of the Input destination.
48 
49      */
AvailabilityZoneHasBeenSet()50     inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
51 
52     /**
53      * The availability zone of the Input destination.
54 
55      */
SetAvailabilityZone(const Aws::String & value)56     inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
57 
58     /**
59      * The availability zone of the Input destination.
60 
61      */
SetAvailabilityZone(Aws::String && value)62     inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); }
63 
64     /**
65      * The availability zone of the Input destination.
66 
67      */
SetAvailabilityZone(const char * value)68     inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); }
69 
70     /**
71      * The availability zone of the Input destination.
72 
73      */
WithAvailabilityZone(const Aws::String & value)74     inline InputDestinationVpc& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;}
75 
76     /**
77      * The availability zone of the Input destination.
78 
79      */
WithAvailabilityZone(Aws::String && value)80     inline InputDestinationVpc& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;}
81 
82     /**
83      * The availability zone of the Input destination.
84 
85      */
WithAvailabilityZone(const char * value)86     inline InputDestinationVpc& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;}
87 
88 
89     /**
90      * The network interface ID of the Input destination in the VPC.
91 
92      */
GetNetworkInterfaceId()93     inline const Aws::String& GetNetworkInterfaceId() const{ return m_networkInterfaceId; }
94 
95     /**
96      * The network interface ID of the Input destination in the VPC.
97 
98      */
NetworkInterfaceIdHasBeenSet()99     inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; }
100 
101     /**
102      * The network interface ID of the Input destination in the VPC.
103 
104      */
SetNetworkInterfaceId(const Aws::String & value)105     inline void SetNetworkInterfaceId(const Aws::String& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = value; }
106 
107     /**
108      * The network interface ID of the Input destination in the VPC.
109 
110      */
SetNetworkInterfaceId(Aws::String && value)111     inline void SetNetworkInterfaceId(Aws::String&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::move(value); }
112 
113     /**
114      * The network interface ID of the Input destination in the VPC.
115 
116      */
SetNetworkInterfaceId(const char * value)117     inline void SetNetworkInterfaceId(const char* value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId.assign(value); }
118 
119     /**
120      * The network interface ID of the Input destination in the VPC.
121 
122      */
WithNetworkInterfaceId(const Aws::String & value)123     inline InputDestinationVpc& WithNetworkInterfaceId(const Aws::String& value) { SetNetworkInterfaceId(value); return *this;}
124 
125     /**
126      * The network interface ID of the Input destination in the VPC.
127 
128      */
WithNetworkInterfaceId(Aws::String && value)129     inline InputDestinationVpc& WithNetworkInterfaceId(Aws::String&& value) { SetNetworkInterfaceId(std::move(value)); return *this;}
130 
131     /**
132      * The network interface ID of the Input destination in the VPC.
133 
134      */
WithNetworkInterfaceId(const char * value)135     inline InputDestinationVpc& WithNetworkInterfaceId(const char* value) { SetNetworkInterfaceId(value); return *this;}
136 
137   private:
138 
139     Aws::String m_availabilityZone;
140     bool m_availabilityZoneHasBeenSet;
141 
142     Aws::String m_networkInterfaceId;
143     bool m_networkInterfaceIdHasBeenSet;
144   };
145 
146 } // namespace Model
147 } // namespace MediaLive
148 } // namespace Aws
149