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/gamelift/GameLift_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/gamelift/model/OperatingSystem.h>
10 #include <aws/gamelift/model/InstanceCredentials.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 GameLift
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Information required to remotely connect to a fleet instance. Access is
30    * requested by calling <a>GetInstanceAccess</a>. </p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/InstanceAccess">AWS
32    * API Reference</a></p>
33    */
34   class AWS_GAMELIFT_API InstanceAccess
35   {
36   public:
37     InstanceAccess();
38     InstanceAccess(Aws::Utils::Json::JsonView jsonValue);
39     InstanceAccess& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>A unique identifier for the fleet containing the instance being accessed.</p>
45      */
GetFleetId()46     inline const Aws::String& GetFleetId() const{ return m_fleetId; }
47 
48     /**
49      * <p>A unique identifier for the fleet containing the instance being accessed.</p>
50      */
FleetIdHasBeenSet()51     inline bool FleetIdHasBeenSet() const { return m_fleetIdHasBeenSet; }
52 
53     /**
54      * <p>A unique identifier for the fleet containing the instance being accessed.</p>
55      */
SetFleetId(const Aws::String & value)56     inline void SetFleetId(const Aws::String& value) { m_fleetIdHasBeenSet = true; m_fleetId = value; }
57 
58     /**
59      * <p>A unique identifier for the fleet containing the instance being accessed.</p>
60      */
SetFleetId(Aws::String && value)61     inline void SetFleetId(Aws::String&& value) { m_fleetIdHasBeenSet = true; m_fleetId = std::move(value); }
62 
63     /**
64      * <p>A unique identifier for the fleet containing the instance being accessed.</p>
65      */
SetFleetId(const char * value)66     inline void SetFleetId(const char* value) { m_fleetIdHasBeenSet = true; m_fleetId.assign(value); }
67 
68     /**
69      * <p>A unique identifier for the fleet containing the instance being accessed.</p>
70      */
WithFleetId(const Aws::String & value)71     inline InstanceAccess& WithFleetId(const Aws::String& value) { SetFleetId(value); return *this;}
72 
73     /**
74      * <p>A unique identifier for the fleet containing the instance being accessed.</p>
75      */
WithFleetId(Aws::String && value)76     inline InstanceAccess& WithFleetId(Aws::String&& value) { SetFleetId(std::move(value)); return *this;}
77 
78     /**
79      * <p>A unique identifier for the fleet containing the instance being accessed.</p>
80      */
WithFleetId(const char * value)81     inline InstanceAccess& WithFleetId(const char* value) { SetFleetId(value); return *this;}
82 
83 
84     /**
85      * <p>A unique identifier for the instance being accessed.</p>
86      */
GetInstanceId()87     inline const Aws::String& GetInstanceId() const{ return m_instanceId; }
88 
89     /**
90      * <p>A unique identifier for the instance being accessed.</p>
91      */
InstanceIdHasBeenSet()92     inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
93 
94     /**
95      * <p>A unique identifier for the instance being accessed.</p>
96      */
SetInstanceId(const Aws::String & value)97     inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
98 
99     /**
100      * <p>A unique identifier for the instance being accessed.</p>
101      */
SetInstanceId(Aws::String && value)102     inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); }
103 
104     /**
105      * <p>A unique identifier for the instance being accessed.</p>
106      */
SetInstanceId(const char * value)107     inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); }
108 
109     /**
110      * <p>A unique identifier for the instance being accessed.</p>
111      */
WithInstanceId(const Aws::String & value)112     inline InstanceAccess& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
113 
114     /**
115      * <p>A unique identifier for the instance being accessed.</p>
116      */
WithInstanceId(Aws::String && value)117     inline InstanceAccess& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
118 
119     /**
120      * <p>A unique identifier for the instance being accessed.</p>
121      */
WithInstanceId(const char * value)122     inline InstanceAccess& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
123 
124 
125     /**
126      * <p>IP address that is assigned to the instance.</p>
127      */
GetIpAddress()128     inline const Aws::String& GetIpAddress() const{ return m_ipAddress; }
129 
130     /**
131      * <p>IP address that is assigned to the instance.</p>
132      */
IpAddressHasBeenSet()133     inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; }
134 
135     /**
136      * <p>IP address that is assigned to the instance.</p>
137      */
SetIpAddress(const Aws::String & value)138     inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; }
139 
140     /**
141      * <p>IP address that is assigned to the instance.</p>
142      */
SetIpAddress(Aws::String && value)143     inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); }
144 
145     /**
146      * <p>IP address that is assigned to the instance.</p>
147      */
SetIpAddress(const char * value)148     inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); }
149 
150     /**
151      * <p>IP address that is assigned to the instance.</p>
152      */
WithIpAddress(const Aws::String & value)153     inline InstanceAccess& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;}
154 
155     /**
156      * <p>IP address that is assigned to the instance.</p>
157      */
WithIpAddress(Aws::String && value)158     inline InstanceAccess& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;}
159 
160     /**
161      * <p>IP address that is assigned to the instance.</p>
162      */
WithIpAddress(const char * value)163     inline InstanceAccess& WithIpAddress(const char* value) { SetIpAddress(value); return *this;}
164 
165 
166     /**
167      * <p>Operating system that is running on the instance.</p>
168      */
GetOperatingSystem()169     inline const OperatingSystem& GetOperatingSystem() const{ return m_operatingSystem; }
170 
171     /**
172      * <p>Operating system that is running on the instance.</p>
173      */
OperatingSystemHasBeenSet()174     inline bool OperatingSystemHasBeenSet() const { return m_operatingSystemHasBeenSet; }
175 
176     /**
177      * <p>Operating system that is running on the instance.</p>
178      */
SetOperatingSystem(const OperatingSystem & value)179     inline void SetOperatingSystem(const OperatingSystem& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = value; }
180 
181     /**
182      * <p>Operating system that is running on the instance.</p>
183      */
SetOperatingSystem(OperatingSystem && value)184     inline void SetOperatingSystem(OperatingSystem&& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = std::move(value); }
185 
186     /**
187      * <p>Operating system that is running on the instance.</p>
188      */
WithOperatingSystem(const OperatingSystem & value)189     inline InstanceAccess& WithOperatingSystem(const OperatingSystem& value) { SetOperatingSystem(value); return *this;}
190 
191     /**
192      * <p>Operating system that is running on the instance.</p>
193      */
WithOperatingSystem(OperatingSystem && value)194     inline InstanceAccess& WithOperatingSystem(OperatingSystem&& value) { SetOperatingSystem(std::move(value)); return *this;}
195 
196 
197     /**
198      * <p>Credentials required to access the instance.</p>
199      */
GetCredentials()200     inline const InstanceCredentials& GetCredentials() const{ return m_credentials; }
201 
202     /**
203      * <p>Credentials required to access the instance.</p>
204      */
CredentialsHasBeenSet()205     inline bool CredentialsHasBeenSet() const { return m_credentialsHasBeenSet; }
206 
207     /**
208      * <p>Credentials required to access the instance.</p>
209      */
SetCredentials(const InstanceCredentials & value)210     inline void SetCredentials(const InstanceCredentials& value) { m_credentialsHasBeenSet = true; m_credentials = value; }
211 
212     /**
213      * <p>Credentials required to access the instance.</p>
214      */
SetCredentials(InstanceCredentials && value)215     inline void SetCredentials(InstanceCredentials&& value) { m_credentialsHasBeenSet = true; m_credentials = std::move(value); }
216 
217     /**
218      * <p>Credentials required to access the instance.</p>
219      */
WithCredentials(const InstanceCredentials & value)220     inline InstanceAccess& WithCredentials(const InstanceCredentials& value) { SetCredentials(value); return *this;}
221 
222     /**
223      * <p>Credentials required to access the instance.</p>
224      */
WithCredentials(InstanceCredentials && value)225     inline InstanceAccess& WithCredentials(InstanceCredentials&& value) { SetCredentials(std::move(value)); return *this;}
226 
227   private:
228 
229     Aws::String m_fleetId;
230     bool m_fleetIdHasBeenSet;
231 
232     Aws::String m_instanceId;
233     bool m_instanceIdHasBeenSet;
234 
235     Aws::String m_ipAddress;
236     bool m_ipAddressHasBeenSet;
237 
238     OperatingSystem m_operatingSystem;
239     bool m_operatingSystemHasBeenSet;
240 
241     InstanceCredentials m_credentials;
242     bool m_credentialsHasBeenSet;
243   };
244 
245 } // namespace Model
246 } // namespace GameLift
247 } // namespace Aws
248