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/devicefarm/DeviceFarm_EXPORTS.h> 8 #include <aws/devicefarm/DeviceFarmRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/devicefarm/model/CreateRemoteAccessSessionConfiguration.h> 11 #include <aws/devicefarm/model/InteractionMode.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace DeviceFarm 17 { 18 namespace Model 19 { 20 21 /** 22 * <p>Creates and submits a request to start a remote access session.</p><p><h3>See 23 * Also:</h3> <a 24 * href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSessionRequest">AWS 25 * API Reference</a></p> 26 */ 27 class AWS_DEVICEFARM_API CreateRemoteAccessSessionRequest : public DeviceFarmRequest 28 { 29 public: 30 CreateRemoteAccessSessionRequest(); 31 32 // Service request name is the Operation name which will send this request out, 33 // each operation should has unique request name, so that we can get operation's name from this request. 34 // Note: this is not true for response, multiple operations may have the same response name, 35 // so we can not get operation's name from response. GetServiceRequestName()36 inline virtual const char* GetServiceRequestName() const override { return "CreateRemoteAccessSession"; } 37 38 Aws::String SerializePayload() const override; 39 40 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 41 42 43 /** 44 * <p>The Amazon Resource Name (ARN) of the project for which you want to create a 45 * remote access session.</p> 46 */ GetProjectArn()47 inline const Aws::String& GetProjectArn() const{ return m_projectArn; } 48 49 /** 50 * <p>The Amazon Resource Name (ARN) of the project for which you want to create a 51 * remote access session.</p> 52 */ ProjectArnHasBeenSet()53 inline bool ProjectArnHasBeenSet() const { return m_projectArnHasBeenSet; } 54 55 /** 56 * <p>The Amazon Resource Name (ARN) of the project for which you want to create a 57 * remote access session.</p> 58 */ SetProjectArn(const Aws::String & value)59 inline void SetProjectArn(const Aws::String& value) { m_projectArnHasBeenSet = true; m_projectArn = value; } 60 61 /** 62 * <p>The Amazon Resource Name (ARN) of the project for which you want to create a 63 * remote access session.</p> 64 */ SetProjectArn(Aws::String && value)65 inline void SetProjectArn(Aws::String&& value) { m_projectArnHasBeenSet = true; m_projectArn = std::move(value); } 66 67 /** 68 * <p>The Amazon Resource Name (ARN) of the project for which you want to create a 69 * remote access session.</p> 70 */ SetProjectArn(const char * value)71 inline void SetProjectArn(const char* value) { m_projectArnHasBeenSet = true; m_projectArn.assign(value); } 72 73 /** 74 * <p>The Amazon Resource Name (ARN) of the project for which you want to create a 75 * remote access session.</p> 76 */ WithProjectArn(const Aws::String & value)77 inline CreateRemoteAccessSessionRequest& WithProjectArn(const Aws::String& value) { SetProjectArn(value); return *this;} 78 79 /** 80 * <p>The Amazon Resource Name (ARN) of the project for which you want to create a 81 * remote access session.</p> 82 */ WithProjectArn(Aws::String && value)83 inline CreateRemoteAccessSessionRequest& WithProjectArn(Aws::String&& value) { SetProjectArn(std::move(value)); return *this;} 84 85 /** 86 * <p>The Amazon Resource Name (ARN) of the project for which you want to create a 87 * remote access session.</p> 88 */ WithProjectArn(const char * value)89 inline CreateRemoteAccessSessionRequest& WithProjectArn(const char* value) { SetProjectArn(value); return *this;} 90 91 92 /** 93 * <p>The ARN of the device for which you want to create a remote access 94 * session.</p> 95 */ GetDeviceArn()96 inline const Aws::String& GetDeviceArn() const{ return m_deviceArn; } 97 98 /** 99 * <p>The ARN of the device for which you want to create a remote access 100 * session.</p> 101 */ DeviceArnHasBeenSet()102 inline bool DeviceArnHasBeenSet() const { return m_deviceArnHasBeenSet; } 103 104 /** 105 * <p>The ARN of the device for which you want to create a remote access 106 * session.</p> 107 */ SetDeviceArn(const Aws::String & value)108 inline void SetDeviceArn(const Aws::String& value) { m_deviceArnHasBeenSet = true; m_deviceArn = value; } 109 110 /** 111 * <p>The ARN of the device for which you want to create a remote access 112 * session.</p> 113 */ SetDeviceArn(Aws::String && value)114 inline void SetDeviceArn(Aws::String&& value) { m_deviceArnHasBeenSet = true; m_deviceArn = std::move(value); } 115 116 /** 117 * <p>The ARN of the device for which you want to create a remote access 118 * session.</p> 119 */ SetDeviceArn(const char * value)120 inline void SetDeviceArn(const char* value) { m_deviceArnHasBeenSet = true; m_deviceArn.assign(value); } 121 122 /** 123 * <p>The ARN of the device for which you want to create a remote access 124 * session.</p> 125 */ WithDeviceArn(const Aws::String & value)126 inline CreateRemoteAccessSessionRequest& WithDeviceArn(const Aws::String& value) { SetDeviceArn(value); return *this;} 127 128 /** 129 * <p>The ARN of the device for which you want to create a remote access 130 * session.</p> 131 */ WithDeviceArn(Aws::String && value)132 inline CreateRemoteAccessSessionRequest& WithDeviceArn(Aws::String&& value) { SetDeviceArn(std::move(value)); return *this;} 133 134 /** 135 * <p>The ARN of the device for which you want to create a remote access 136 * session.</p> 137 */ WithDeviceArn(const char * value)138 inline CreateRemoteAccessSessionRequest& WithDeviceArn(const char* value) { SetDeviceArn(value); return *this;} 139 140 141 /** 142 * <p>The Amazon Resource Name (ARN) of the device instance for which you want to 143 * create a remote access session.</p> 144 */ GetInstanceArn()145 inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } 146 147 /** 148 * <p>The Amazon Resource Name (ARN) of the device instance for which you want to 149 * create a remote access session.</p> 150 */ InstanceArnHasBeenSet()151 inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } 152 153 /** 154 * <p>The Amazon Resource Name (ARN) of the device instance for which you want to 155 * create a remote access session.</p> 156 */ SetInstanceArn(const Aws::String & value)157 inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } 158 159 /** 160 * <p>The Amazon Resource Name (ARN) of the device instance for which you want to 161 * create a remote access session.</p> 162 */ SetInstanceArn(Aws::String && value)163 inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } 164 165 /** 166 * <p>The Amazon Resource Name (ARN) of the device instance for which you want to 167 * create a remote access session.</p> 168 */ SetInstanceArn(const char * value)169 inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } 170 171 /** 172 * <p>The Amazon Resource Name (ARN) of the device instance for which you want to 173 * create a remote access session.</p> 174 */ WithInstanceArn(const Aws::String & value)175 inline CreateRemoteAccessSessionRequest& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} 176 177 /** 178 * <p>The Amazon Resource Name (ARN) of the device instance for which you want to 179 * create a remote access session.</p> 180 */ WithInstanceArn(Aws::String && value)181 inline CreateRemoteAccessSessionRequest& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} 182 183 /** 184 * <p>The Amazon Resource Name (ARN) of the device instance for which you want to 185 * create a remote access session.</p> 186 */ WithInstanceArn(const char * value)187 inline CreateRemoteAccessSessionRequest& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} 188 189 190 /** 191 * <p>Ignored. The public key of the <code>ssh</code> key pair you want to use for 192 * connecting to remote devices in your remote debugging session. This key is 193 * required only if <code>remoteDebugEnabled</code> is set to 194 * <code>true</code>.</p> <p>Remote debugging is <a 195 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 196 * longer supported</a>.</p> 197 */ GetSshPublicKey()198 inline const Aws::String& GetSshPublicKey() const{ return m_sshPublicKey; } 199 200 /** 201 * <p>Ignored. The public key of the <code>ssh</code> key pair you want to use for 202 * connecting to remote devices in your remote debugging session. This key is 203 * required only if <code>remoteDebugEnabled</code> is set to 204 * <code>true</code>.</p> <p>Remote debugging is <a 205 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 206 * longer supported</a>.</p> 207 */ SshPublicKeyHasBeenSet()208 inline bool SshPublicKeyHasBeenSet() const { return m_sshPublicKeyHasBeenSet; } 209 210 /** 211 * <p>Ignored. The public key of the <code>ssh</code> key pair you want to use for 212 * connecting to remote devices in your remote debugging session. This key is 213 * required only if <code>remoteDebugEnabled</code> is set to 214 * <code>true</code>.</p> <p>Remote debugging is <a 215 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 216 * longer supported</a>.</p> 217 */ SetSshPublicKey(const Aws::String & value)218 inline void SetSshPublicKey(const Aws::String& value) { m_sshPublicKeyHasBeenSet = true; m_sshPublicKey = value; } 219 220 /** 221 * <p>Ignored. The public key of the <code>ssh</code> key pair you want to use for 222 * connecting to remote devices in your remote debugging session. This key is 223 * required only if <code>remoteDebugEnabled</code> is set to 224 * <code>true</code>.</p> <p>Remote debugging is <a 225 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 226 * longer supported</a>.</p> 227 */ SetSshPublicKey(Aws::String && value)228 inline void SetSshPublicKey(Aws::String&& value) { m_sshPublicKeyHasBeenSet = true; m_sshPublicKey = std::move(value); } 229 230 /** 231 * <p>Ignored. The public key of the <code>ssh</code> key pair you want to use for 232 * connecting to remote devices in your remote debugging session. This key is 233 * required only if <code>remoteDebugEnabled</code> is set to 234 * <code>true</code>.</p> <p>Remote debugging is <a 235 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 236 * longer supported</a>.</p> 237 */ SetSshPublicKey(const char * value)238 inline void SetSshPublicKey(const char* value) { m_sshPublicKeyHasBeenSet = true; m_sshPublicKey.assign(value); } 239 240 /** 241 * <p>Ignored. The public key of the <code>ssh</code> key pair you want to use for 242 * connecting to remote devices in your remote debugging session. This key is 243 * required only if <code>remoteDebugEnabled</code> is set to 244 * <code>true</code>.</p> <p>Remote debugging is <a 245 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 246 * longer supported</a>.</p> 247 */ WithSshPublicKey(const Aws::String & value)248 inline CreateRemoteAccessSessionRequest& WithSshPublicKey(const Aws::String& value) { SetSshPublicKey(value); return *this;} 249 250 /** 251 * <p>Ignored. The public key of the <code>ssh</code> key pair you want to use for 252 * connecting to remote devices in your remote debugging session. This key is 253 * required only if <code>remoteDebugEnabled</code> is set to 254 * <code>true</code>.</p> <p>Remote debugging is <a 255 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 256 * longer supported</a>.</p> 257 */ WithSshPublicKey(Aws::String && value)258 inline CreateRemoteAccessSessionRequest& WithSshPublicKey(Aws::String&& value) { SetSshPublicKey(std::move(value)); return *this;} 259 260 /** 261 * <p>Ignored. The public key of the <code>ssh</code> key pair you want to use for 262 * connecting to remote devices in your remote debugging session. This key is 263 * required only if <code>remoteDebugEnabled</code> is set to 264 * <code>true</code>.</p> <p>Remote debugging is <a 265 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 266 * longer supported</a>.</p> 267 */ WithSshPublicKey(const char * value)268 inline CreateRemoteAccessSessionRequest& WithSshPublicKey(const char* value) { SetSshPublicKey(value); return *this;} 269 270 271 /** 272 * <p>Set to <code>true</code> if you want to access devices remotely for debugging 273 * in your remote access session.</p> <p>Remote debugging is <a 274 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 275 * longer supported</a>.</p> 276 */ GetRemoteDebugEnabled()277 inline bool GetRemoteDebugEnabled() const{ return m_remoteDebugEnabled; } 278 279 /** 280 * <p>Set to <code>true</code> if you want to access devices remotely for debugging 281 * in your remote access session.</p> <p>Remote debugging is <a 282 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 283 * longer supported</a>.</p> 284 */ RemoteDebugEnabledHasBeenSet()285 inline bool RemoteDebugEnabledHasBeenSet() const { return m_remoteDebugEnabledHasBeenSet; } 286 287 /** 288 * <p>Set to <code>true</code> if you want to access devices remotely for debugging 289 * in your remote access session.</p> <p>Remote debugging is <a 290 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 291 * longer supported</a>.</p> 292 */ SetRemoteDebugEnabled(bool value)293 inline void SetRemoteDebugEnabled(bool value) { m_remoteDebugEnabledHasBeenSet = true; m_remoteDebugEnabled = value; } 294 295 /** 296 * <p>Set to <code>true</code> if you want to access devices remotely for debugging 297 * in your remote access session.</p> <p>Remote debugging is <a 298 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 299 * longer supported</a>.</p> 300 */ WithRemoteDebugEnabled(bool value)301 inline CreateRemoteAccessSessionRequest& WithRemoteDebugEnabled(bool value) { SetRemoteDebugEnabled(value); return *this;} 302 303 304 /** 305 * <p>Set to <code>true</code> to enable remote recording for the remote access 306 * session.</p> 307 */ GetRemoteRecordEnabled()308 inline bool GetRemoteRecordEnabled() const{ return m_remoteRecordEnabled; } 309 310 /** 311 * <p>Set to <code>true</code> to enable remote recording for the remote access 312 * session.</p> 313 */ RemoteRecordEnabledHasBeenSet()314 inline bool RemoteRecordEnabledHasBeenSet() const { return m_remoteRecordEnabledHasBeenSet; } 315 316 /** 317 * <p>Set to <code>true</code> to enable remote recording for the remote access 318 * session.</p> 319 */ SetRemoteRecordEnabled(bool value)320 inline void SetRemoteRecordEnabled(bool value) { m_remoteRecordEnabledHasBeenSet = true; m_remoteRecordEnabled = value; } 321 322 /** 323 * <p>Set to <code>true</code> to enable remote recording for the remote access 324 * session.</p> 325 */ WithRemoteRecordEnabled(bool value)326 inline CreateRemoteAccessSessionRequest& WithRemoteRecordEnabled(bool value) { SetRemoteRecordEnabled(value); return *this;} 327 328 329 /** 330 * <p>The Amazon Resource Name (ARN) for the app to be recorded in the remote 331 * access session.</p> 332 */ GetRemoteRecordAppArn()333 inline const Aws::String& GetRemoteRecordAppArn() const{ return m_remoteRecordAppArn; } 334 335 /** 336 * <p>The Amazon Resource Name (ARN) for the app to be recorded in the remote 337 * access session.</p> 338 */ RemoteRecordAppArnHasBeenSet()339 inline bool RemoteRecordAppArnHasBeenSet() const { return m_remoteRecordAppArnHasBeenSet; } 340 341 /** 342 * <p>The Amazon Resource Name (ARN) for the app to be recorded in the remote 343 * access session.</p> 344 */ SetRemoteRecordAppArn(const Aws::String & value)345 inline void SetRemoteRecordAppArn(const Aws::String& value) { m_remoteRecordAppArnHasBeenSet = true; m_remoteRecordAppArn = value; } 346 347 /** 348 * <p>The Amazon Resource Name (ARN) for the app to be recorded in the remote 349 * access session.</p> 350 */ SetRemoteRecordAppArn(Aws::String && value)351 inline void SetRemoteRecordAppArn(Aws::String&& value) { m_remoteRecordAppArnHasBeenSet = true; m_remoteRecordAppArn = std::move(value); } 352 353 /** 354 * <p>The Amazon Resource Name (ARN) for the app to be recorded in the remote 355 * access session.</p> 356 */ SetRemoteRecordAppArn(const char * value)357 inline void SetRemoteRecordAppArn(const char* value) { m_remoteRecordAppArnHasBeenSet = true; m_remoteRecordAppArn.assign(value); } 358 359 /** 360 * <p>The Amazon Resource Name (ARN) for the app to be recorded in the remote 361 * access session.</p> 362 */ WithRemoteRecordAppArn(const Aws::String & value)363 inline CreateRemoteAccessSessionRequest& WithRemoteRecordAppArn(const Aws::String& value) { SetRemoteRecordAppArn(value); return *this;} 364 365 /** 366 * <p>The Amazon Resource Name (ARN) for the app to be recorded in the remote 367 * access session.</p> 368 */ WithRemoteRecordAppArn(Aws::String && value)369 inline CreateRemoteAccessSessionRequest& WithRemoteRecordAppArn(Aws::String&& value) { SetRemoteRecordAppArn(std::move(value)); return *this;} 370 371 /** 372 * <p>The Amazon Resource Name (ARN) for the app to be recorded in the remote 373 * access session.</p> 374 */ WithRemoteRecordAppArn(const char * value)375 inline CreateRemoteAccessSessionRequest& WithRemoteRecordAppArn(const char* value) { SetRemoteRecordAppArn(value); return *this;} 376 377 378 /** 379 * <p>The name of the remote access session to create.</p> 380 */ GetName()381 inline const Aws::String& GetName() const{ return m_name; } 382 383 /** 384 * <p>The name of the remote access session to create.</p> 385 */ NameHasBeenSet()386 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 387 388 /** 389 * <p>The name of the remote access session to create.</p> 390 */ SetName(const Aws::String & value)391 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 392 393 /** 394 * <p>The name of the remote access session to create.</p> 395 */ SetName(Aws::String && value)396 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 397 398 /** 399 * <p>The name of the remote access session to create.</p> 400 */ SetName(const char * value)401 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 402 403 /** 404 * <p>The name of the remote access session to create.</p> 405 */ WithName(const Aws::String & value)406 inline CreateRemoteAccessSessionRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 407 408 /** 409 * <p>The name of the remote access session to create.</p> 410 */ WithName(Aws::String && value)411 inline CreateRemoteAccessSessionRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 412 413 /** 414 * <p>The name of the remote access session to create.</p> 415 */ WithName(const char * value)416 inline CreateRemoteAccessSessionRequest& WithName(const char* value) { SetName(value); return *this;} 417 418 419 /** 420 * <p>Unique identifier for the client. If you want access to multiple devices on 421 * the same client, you should pass the same <code>clientId</code> value in each 422 * call to <code>CreateRemoteAccessSession</code>. This identifier is required only 423 * if <code>remoteDebugEnabled</code> is set to <code>true</code>.</p> <p>Remote 424 * debugging is <a 425 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 426 * longer supported</a>.</p> 427 */ GetClientId()428 inline const Aws::String& GetClientId() const{ return m_clientId; } 429 430 /** 431 * <p>Unique identifier for the client. If you want access to multiple devices on 432 * the same client, you should pass the same <code>clientId</code> value in each 433 * call to <code>CreateRemoteAccessSession</code>. This identifier is required only 434 * if <code>remoteDebugEnabled</code> is set to <code>true</code>.</p> <p>Remote 435 * debugging is <a 436 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 437 * longer supported</a>.</p> 438 */ ClientIdHasBeenSet()439 inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } 440 441 /** 442 * <p>Unique identifier for the client. If you want access to multiple devices on 443 * the same client, you should pass the same <code>clientId</code> value in each 444 * call to <code>CreateRemoteAccessSession</code>. This identifier is required only 445 * if <code>remoteDebugEnabled</code> is set to <code>true</code>.</p> <p>Remote 446 * debugging is <a 447 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 448 * longer supported</a>.</p> 449 */ SetClientId(const Aws::String & value)450 inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } 451 452 /** 453 * <p>Unique identifier for the client. If you want access to multiple devices on 454 * the same client, you should pass the same <code>clientId</code> value in each 455 * call to <code>CreateRemoteAccessSession</code>. This identifier is required only 456 * if <code>remoteDebugEnabled</code> is set to <code>true</code>.</p> <p>Remote 457 * debugging is <a 458 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 459 * longer supported</a>.</p> 460 */ SetClientId(Aws::String && value)461 inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } 462 463 /** 464 * <p>Unique identifier for the client. If you want access to multiple devices on 465 * the same client, you should pass the same <code>clientId</code> value in each 466 * call to <code>CreateRemoteAccessSession</code>. This identifier is required only 467 * if <code>remoteDebugEnabled</code> is set to <code>true</code>.</p> <p>Remote 468 * debugging is <a 469 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 470 * longer supported</a>.</p> 471 */ SetClientId(const char * value)472 inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } 473 474 /** 475 * <p>Unique identifier for the client. If you want access to multiple devices on 476 * the same client, you should pass the same <code>clientId</code> value in each 477 * call to <code>CreateRemoteAccessSession</code>. This identifier is required only 478 * if <code>remoteDebugEnabled</code> is set to <code>true</code>.</p> <p>Remote 479 * debugging is <a 480 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 481 * longer supported</a>.</p> 482 */ WithClientId(const Aws::String & value)483 inline CreateRemoteAccessSessionRequest& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} 484 485 /** 486 * <p>Unique identifier for the client. If you want access to multiple devices on 487 * the same client, you should pass the same <code>clientId</code> value in each 488 * call to <code>CreateRemoteAccessSession</code>. This identifier is required only 489 * if <code>remoteDebugEnabled</code> is set to <code>true</code>.</p> <p>Remote 490 * debugging is <a 491 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 492 * longer supported</a>.</p> 493 */ WithClientId(Aws::String && value)494 inline CreateRemoteAccessSessionRequest& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} 495 496 /** 497 * <p>Unique identifier for the client. If you want access to multiple devices on 498 * the same client, you should pass the same <code>clientId</code> value in each 499 * call to <code>CreateRemoteAccessSession</code>. This identifier is required only 500 * if <code>remoteDebugEnabled</code> is set to <code>true</code>.</p> <p>Remote 501 * debugging is <a 502 * href="https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html">no 503 * longer supported</a>.</p> 504 */ WithClientId(const char * value)505 inline CreateRemoteAccessSessionRequest& WithClientId(const char* value) { SetClientId(value); return *this;} 506 507 508 /** 509 * <p>The configuration information for the remote access session request.</p> 510 */ GetConfiguration()511 inline const CreateRemoteAccessSessionConfiguration& GetConfiguration() const{ return m_configuration; } 512 513 /** 514 * <p>The configuration information for the remote access session request.</p> 515 */ ConfigurationHasBeenSet()516 inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } 517 518 /** 519 * <p>The configuration information for the remote access session request.</p> 520 */ SetConfiguration(const CreateRemoteAccessSessionConfiguration & value)521 inline void SetConfiguration(const CreateRemoteAccessSessionConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } 522 523 /** 524 * <p>The configuration information for the remote access session request.</p> 525 */ SetConfiguration(CreateRemoteAccessSessionConfiguration && value)526 inline void SetConfiguration(CreateRemoteAccessSessionConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } 527 528 /** 529 * <p>The configuration information for the remote access session request.</p> 530 */ WithConfiguration(const CreateRemoteAccessSessionConfiguration & value)531 inline CreateRemoteAccessSessionRequest& WithConfiguration(const CreateRemoteAccessSessionConfiguration& value) { SetConfiguration(value); return *this;} 532 533 /** 534 * <p>The configuration information for the remote access session request.</p> 535 */ WithConfiguration(CreateRemoteAccessSessionConfiguration && value)536 inline CreateRemoteAccessSessionRequest& WithConfiguration(CreateRemoteAccessSessionConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} 537 538 539 /** 540 * <p>The interaction mode of the remote access session. Valid values are:</p> <ul> 541 * <li> <p>INTERACTIVE: You can interact with the iOS device by viewing, touching, 542 * and rotating the screen. You cannot run XCUITest framework-based tests in this 543 * mode.</p> </li> <li> <p>NO_VIDEO: You are connected to the device, but cannot 544 * interact with it or view the screen. This mode has the fastest test execution 545 * speed. You can run XCUITest framework-based tests in this mode.</p> </li> <li> 546 * <p>VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can 547 * run XCUITest framework-based tests and watch the screen in this mode.</p> </li> 548 * </ul> 549 */ GetInteractionMode()550 inline const InteractionMode& GetInteractionMode() const{ return m_interactionMode; } 551 552 /** 553 * <p>The interaction mode of the remote access session. Valid values are:</p> <ul> 554 * <li> <p>INTERACTIVE: You can interact with the iOS device by viewing, touching, 555 * and rotating the screen. You cannot run XCUITest framework-based tests in this 556 * mode.</p> </li> <li> <p>NO_VIDEO: You are connected to the device, but cannot 557 * interact with it or view the screen. This mode has the fastest test execution 558 * speed. You can run XCUITest framework-based tests in this mode.</p> </li> <li> 559 * <p>VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can 560 * run XCUITest framework-based tests and watch the screen in this mode.</p> </li> 561 * </ul> 562 */ InteractionModeHasBeenSet()563 inline bool InteractionModeHasBeenSet() const { return m_interactionModeHasBeenSet; } 564 565 /** 566 * <p>The interaction mode of the remote access session. Valid values are:</p> <ul> 567 * <li> <p>INTERACTIVE: You can interact with the iOS device by viewing, touching, 568 * and rotating the screen. You cannot run XCUITest framework-based tests in this 569 * mode.</p> </li> <li> <p>NO_VIDEO: You are connected to the device, but cannot 570 * interact with it or view the screen. This mode has the fastest test execution 571 * speed. You can run XCUITest framework-based tests in this mode.</p> </li> <li> 572 * <p>VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can 573 * run XCUITest framework-based tests and watch the screen in this mode.</p> </li> 574 * </ul> 575 */ SetInteractionMode(const InteractionMode & value)576 inline void SetInteractionMode(const InteractionMode& value) { m_interactionModeHasBeenSet = true; m_interactionMode = value; } 577 578 /** 579 * <p>The interaction mode of the remote access session. Valid values are:</p> <ul> 580 * <li> <p>INTERACTIVE: You can interact with the iOS device by viewing, touching, 581 * and rotating the screen. You cannot run XCUITest framework-based tests in this 582 * mode.</p> </li> <li> <p>NO_VIDEO: You are connected to the device, but cannot 583 * interact with it or view the screen. This mode has the fastest test execution 584 * speed. You can run XCUITest framework-based tests in this mode.</p> </li> <li> 585 * <p>VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can 586 * run XCUITest framework-based tests and watch the screen in this mode.</p> </li> 587 * </ul> 588 */ SetInteractionMode(InteractionMode && value)589 inline void SetInteractionMode(InteractionMode&& value) { m_interactionModeHasBeenSet = true; m_interactionMode = std::move(value); } 590 591 /** 592 * <p>The interaction mode of the remote access session. Valid values are:</p> <ul> 593 * <li> <p>INTERACTIVE: You can interact with the iOS device by viewing, touching, 594 * and rotating the screen. You cannot run XCUITest framework-based tests in this 595 * mode.</p> </li> <li> <p>NO_VIDEO: You are connected to the device, but cannot 596 * interact with it or view the screen. This mode has the fastest test execution 597 * speed. You can run XCUITest framework-based tests in this mode.</p> </li> <li> 598 * <p>VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can 599 * run XCUITest framework-based tests and watch the screen in this mode.</p> </li> 600 * </ul> 601 */ WithInteractionMode(const InteractionMode & value)602 inline CreateRemoteAccessSessionRequest& WithInteractionMode(const InteractionMode& value) { SetInteractionMode(value); return *this;} 603 604 /** 605 * <p>The interaction mode of the remote access session. Valid values are:</p> <ul> 606 * <li> <p>INTERACTIVE: You can interact with the iOS device by viewing, touching, 607 * and rotating the screen. You cannot run XCUITest framework-based tests in this 608 * mode.</p> </li> <li> <p>NO_VIDEO: You are connected to the device, but cannot 609 * interact with it or view the screen. This mode has the fastest test execution 610 * speed. You can run XCUITest framework-based tests in this mode.</p> </li> <li> 611 * <p>VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can 612 * run XCUITest framework-based tests and watch the screen in this mode.</p> </li> 613 * </ul> 614 */ WithInteractionMode(InteractionMode && value)615 inline CreateRemoteAccessSessionRequest& WithInteractionMode(InteractionMode&& value) { SetInteractionMode(std::move(value)); return *this;} 616 617 618 /** 619 * <p>When set to <code>true</code>, for private devices, Device Farm does not sign 620 * your app again. For public devices, Device Farm always signs your apps 621 * again.</p> <p>For more information on how Device Farm modifies your uploads 622 * during tests, see <a href="https://aws.amazon.com/device-farm/faq/">Do you 623 * modify my app?</a> </p> 624 */ GetSkipAppResign()625 inline bool GetSkipAppResign() const{ return m_skipAppResign; } 626 627 /** 628 * <p>When set to <code>true</code>, for private devices, Device Farm does not sign 629 * your app again. For public devices, Device Farm always signs your apps 630 * again.</p> <p>For more information on how Device Farm modifies your uploads 631 * during tests, see <a href="https://aws.amazon.com/device-farm/faq/">Do you 632 * modify my app?</a> </p> 633 */ SkipAppResignHasBeenSet()634 inline bool SkipAppResignHasBeenSet() const { return m_skipAppResignHasBeenSet; } 635 636 /** 637 * <p>When set to <code>true</code>, for private devices, Device Farm does not sign 638 * your app again. For public devices, Device Farm always signs your apps 639 * again.</p> <p>For more information on how Device Farm modifies your uploads 640 * during tests, see <a href="https://aws.amazon.com/device-farm/faq/">Do you 641 * modify my app?</a> </p> 642 */ SetSkipAppResign(bool value)643 inline void SetSkipAppResign(bool value) { m_skipAppResignHasBeenSet = true; m_skipAppResign = value; } 644 645 /** 646 * <p>When set to <code>true</code>, for private devices, Device Farm does not sign 647 * your app again. For public devices, Device Farm always signs your apps 648 * again.</p> <p>For more information on how Device Farm modifies your uploads 649 * during tests, see <a href="https://aws.amazon.com/device-farm/faq/">Do you 650 * modify my app?</a> </p> 651 */ WithSkipAppResign(bool value)652 inline CreateRemoteAccessSessionRequest& WithSkipAppResign(bool value) { SetSkipAppResign(value); return *this;} 653 654 private: 655 656 Aws::String m_projectArn; 657 bool m_projectArnHasBeenSet; 658 659 Aws::String m_deviceArn; 660 bool m_deviceArnHasBeenSet; 661 662 Aws::String m_instanceArn; 663 bool m_instanceArnHasBeenSet; 664 665 Aws::String m_sshPublicKey; 666 bool m_sshPublicKeyHasBeenSet; 667 668 bool m_remoteDebugEnabled; 669 bool m_remoteDebugEnabledHasBeenSet; 670 671 bool m_remoteRecordEnabled; 672 bool m_remoteRecordEnabledHasBeenSet; 673 674 Aws::String m_remoteRecordAppArn; 675 bool m_remoteRecordAppArnHasBeenSet; 676 677 Aws::String m_name; 678 bool m_nameHasBeenSet; 679 680 Aws::String m_clientId; 681 bool m_clientIdHasBeenSet; 682 683 CreateRemoteAccessSessionConfiguration m_configuration; 684 bool m_configurationHasBeenSet; 685 686 InteractionMode m_interactionMode; 687 bool m_interactionModeHasBeenSet; 688 689 bool m_skipAppResign; 690 bool m_skipAppResignHasBeenSet; 691 }; 692 693 } // namespace Model 694 } // namespace DeviceFarm 695 } // namespace Aws 696