/aws-cpp-sdk-devicefarm/include/aws/devicefarm/model/CreateUploadRequest.h

https://github.com/aws/aws-sdk-cpp · C Header · 390 lines · 62 code · 46 blank · 282 comment · 0 complexity · e4e8534d017ca9fba64aaccb2953ca2f MD5 · raw file

  1. /**
  2. * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. * SPDX-License-Identifier: Apache-2.0.
  4. */
  5. #pragma once
  6. #include <aws/devicefarm/DeviceFarm_EXPORTS.h>
  7. #include <aws/devicefarm/DeviceFarmRequest.h>
  8. #include <aws/core/utils/memory/stl/AWSString.h>
  9. #include <aws/devicefarm/model/UploadType.h>
  10. #include <utility>
  11. namespace Aws
  12. {
  13. namespace DeviceFarm
  14. {
  15. namespace Model
  16. {
  17. /**
  18. * <p>Represents a request to the create upload operation.</p><p><h3>See Also:</h3>
  19. * <a
  20. * href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUploadRequest">AWS
  21. * API Reference</a></p>
  22. */
  23. class AWS_DEVICEFARM_API CreateUploadRequest : public DeviceFarmRequest
  24. {
  25. public:
  26. CreateUploadRequest();
  27. // Service request name is the Operation name which will send this request out,
  28. // each operation should has unique request name, so that we can get operation's name from this request.
  29. // Note: this is not true for response, multiple operations may have the same response name,
  30. // so we can not get operation's name from response.
  31. inline virtual const char* GetServiceRequestName() const override { return "CreateUpload"; }
  32. Aws::String SerializePayload() const override;
  33. Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
  34. /**
  35. * <p>The ARN of the project for the upload.</p>
  36. */
  37. inline const Aws::String& GetProjectArn() const{ return m_projectArn; }
  38. /**
  39. * <p>The ARN of the project for the upload.</p>
  40. */
  41. inline bool ProjectArnHasBeenSet() const { return m_projectArnHasBeenSet; }
  42. /**
  43. * <p>The ARN of the project for the upload.</p>
  44. */
  45. inline void SetProjectArn(const Aws::String& value) { m_projectArnHasBeenSet = true; m_projectArn = value; }
  46. /**
  47. * <p>The ARN of the project for the upload.</p>
  48. */
  49. inline void SetProjectArn(Aws::String&& value) { m_projectArnHasBeenSet = true; m_projectArn = std::move(value); }
  50. /**
  51. * <p>The ARN of the project for the upload.</p>
  52. */
  53. inline void SetProjectArn(const char* value) { m_projectArnHasBeenSet = true; m_projectArn.assign(value); }
  54. /**
  55. * <p>The ARN of the project for the upload.</p>
  56. */
  57. inline CreateUploadRequest& WithProjectArn(const Aws::String& value) { SetProjectArn(value); return *this;}
  58. /**
  59. * <p>The ARN of the project for the upload.</p>
  60. */
  61. inline CreateUploadRequest& WithProjectArn(Aws::String&& value) { SetProjectArn(std::move(value)); return *this;}
  62. /**
  63. * <p>The ARN of the project for the upload.</p>
  64. */
  65. inline CreateUploadRequest& WithProjectArn(const char* value) { SetProjectArn(value); return *this;}
  66. /**
  67. * <p>The upload's file name. The name should not contain any forward slashes
  68. * (<code>/</code>). If you are uploading an iOS app, the file name must end with
  69. * the <code>.ipa</code> extension. If you are uploading an Android app, the file
  70. * name must end with the <code>.apk</code> extension. For all others, the file
  71. * name must end with the <code>.zip</code> file extension.</p>
  72. */
  73. inline const Aws::String& GetName() const{ return m_name; }
  74. /**
  75. * <p>The upload's file name. The name should not contain any forward slashes
  76. * (<code>/</code>). If you are uploading an iOS app, the file name must end with
  77. * the <code>.ipa</code> extension. If you are uploading an Android app, the file
  78. * name must end with the <code>.apk</code> extension. For all others, the file
  79. * name must end with the <code>.zip</code> file extension.</p>
  80. */
  81. inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
  82. /**
  83. * <p>The upload's file name. The name should not contain any forward slashes
  84. * (<code>/</code>). If you are uploading an iOS app, the file name must end with
  85. * the <code>.ipa</code> extension. If you are uploading an Android app, the file
  86. * name must end with the <code>.apk</code> extension. For all others, the file
  87. * name must end with the <code>.zip</code> file extension.</p>
  88. */
  89. inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
  90. /**
  91. * <p>The upload's file name. The name should not contain any forward slashes
  92. * (<code>/</code>). If you are uploading an iOS app, the file name must end with
  93. * the <code>.ipa</code> extension. If you are uploading an Android app, the file
  94. * name must end with the <code>.apk</code> extension. For all others, the file
  95. * name must end with the <code>.zip</code> file extension.</p>
  96. */
  97. inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
  98. /**
  99. * <p>The upload's file name. The name should not contain any forward slashes
  100. * (<code>/</code>). If you are uploading an iOS app, the file name must end with
  101. * the <code>.ipa</code> extension. If you are uploading an Android app, the file
  102. * name must end with the <code>.apk</code> extension. For all others, the file
  103. * name must end with the <code>.zip</code> file extension.</p>
  104. */
  105. inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
  106. /**
  107. * <p>The upload's file name. The name should not contain any forward slashes
  108. * (<code>/</code>). If you are uploading an iOS app, the file name must end with
  109. * the <code>.ipa</code> extension. If you are uploading an Android app, the file
  110. * name must end with the <code>.apk</code> extension. For all others, the file
  111. * name must end with the <code>.zip</code> file extension.</p>
  112. */
  113. inline CreateUploadRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
  114. /**
  115. * <p>The upload's file name. The name should not contain any forward slashes
  116. * (<code>/</code>). If you are uploading an iOS app, the file name must end with
  117. * the <code>.ipa</code> extension. If you are uploading an Android app, the file
  118. * name must end with the <code>.apk</code> extension. For all others, the file
  119. * name must end with the <code>.zip</code> file extension.</p>
  120. */
  121. inline CreateUploadRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
  122. /**
  123. * <p>The upload's file name. The name should not contain any forward slashes
  124. * (<code>/</code>). If you are uploading an iOS app, the file name must end with
  125. * the <code>.ipa</code> extension. If you are uploading an Android app, the file
  126. * name must end with the <code>.apk</code> extension. For all others, the file
  127. * name must end with the <code>.zip</code> file extension.</p>
  128. */
  129. inline CreateUploadRequest& WithName(const char* value) { SetName(value); return *this;}
  130. /**
  131. * <p>The upload's upload type.</p> <p>Must be one of the following values:</p>
  132. * <ul> <li> <p>ANDROID_APP</p> </li> <li> <p>IOS_APP</p> </li> <li> <p>WEB_APP</p>
  133. * </li> <li> <p>EXTERNAL_DATA</p> </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_PACKAGE</p>
  134. * </li> <li> <p>APPIUM_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  135. * <p>APPIUM_PYTHON_TEST_PACKAGE</p> </li> <li> <p>APPIUM_NODE_TEST_PACKAGE</p>
  136. * </li> <li> <p>APPIUM_RUBY_TEST_PACKAGE</p> </li> <li>
  137. * <p>APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE</p> </li> <li>
  138. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  139. * <p>APPIUM_WEB_PYTHON_TEST_PACKAGE</p> </li> <li>
  140. * <p>APPIUM_WEB_NODE_TEST_PACKAGE</p> </li> <li>
  141. * <p>APPIUM_WEB_RUBY_TEST_PACKAGE</p> </li> <li> <p>CALABASH_TEST_PACKAGE</p>
  142. * </li> <li> <p>INSTRUMENTATION_TEST_PACKAGE</p> </li> <li>
  143. * <p>UIAUTOMATION_TEST_PACKAGE</p> </li> <li> <p>UIAUTOMATOR_TEST_PACKAGE</p>
  144. * </li> <li> <p>XCTEST_TEST_PACKAGE</p> </li> <li> <p>XCTEST_UI_TEST_PACKAGE</p>
  145. * </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  146. * <p>APPIUM_JAVA_TESTNG_TEST_SPEC</p> </li> <li> <p>APPIUM_PYTHON_TEST_SPEC</p>
  147. * </li> <li> <p>APPIUM_NODE_TEST_SPEC</p> </li> <li> <p>APPIUM_RUBY_TEST_SPEC</p>
  148. * </li> <li> <p>APPIUM_WEB_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  149. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_SPEC</p> </li> <li>
  150. * <p>APPIUM_WEB_PYTHON_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_NODE_TEST_SPEC</p>
  151. * </li> <li> <p>APPIUM_WEB_RUBY_TEST_SPEC</p> </li> <li>
  152. * <p>INSTRUMENTATION_TEST_SPEC</p> </li> <li> <p>XCTEST_UI_TEST_SPEC</p> </li>
  153. * </ul> <p> If you call <code>CreateUpload</code> with <code>WEB_APP</code>
  154. * specified, AWS Device Farm throws an <code>ArgumentException</code> error.</p>
  155. */
  156. inline const UploadType& GetType() const{ return m_type; }
  157. /**
  158. * <p>The upload's upload type.</p> <p>Must be one of the following values:</p>
  159. * <ul> <li> <p>ANDROID_APP</p> </li> <li> <p>IOS_APP</p> </li> <li> <p>WEB_APP</p>
  160. * </li> <li> <p>EXTERNAL_DATA</p> </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_PACKAGE</p>
  161. * </li> <li> <p>APPIUM_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  162. * <p>APPIUM_PYTHON_TEST_PACKAGE</p> </li> <li> <p>APPIUM_NODE_TEST_PACKAGE</p>
  163. * </li> <li> <p>APPIUM_RUBY_TEST_PACKAGE</p> </li> <li>
  164. * <p>APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE</p> </li> <li>
  165. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  166. * <p>APPIUM_WEB_PYTHON_TEST_PACKAGE</p> </li> <li>
  167. * <p>APPIUM_WEB_NODE_TEST_PACKAGE</p> </li> <li>
  168. * <p>APPIUM_WEB_RUBY_TEST_PACKAGE</p> </li> <li> <p>CALABASH_TEST_PACKAGE</p>
  169. * </li> <li> <p>INSTRUMENTATION_TEST_PACKAGE</p> </li> <li>
  170. * <p>UIAUTOMATION_TEST_PACKAGE</p> </li> <li> <p>UIAUTOMATOR_TEST_PACKAGE</p>
  171. * </li> <li> <p>XCTEST_TEST_PACKAGE</p> </li> <li> <p>XCTEST_UI_TEST_PACKAGE</p>
  172. * </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  173. * <p>APPIUM_JAVA_TESTNG_TEST_SPEC</p> </li> <li> <p>APPIUM_PYTHON_TEST_SPEC</p>
  174. * </li> <li> <p>APPIUM_NODE_TEST_SPEC</p> </li> <li> <p>APPIUM_RUBY_TEST_SPEC</p>
  175. * </li> <li> <p>APPIUM_WEB_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  176. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_SPEC</p> </li> <li>
  177. * <p>APPIUM_WEB_PYTHON_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_NODE_TEST_SPEC</p>
  178. * </li> <li> <p>APPIUM_WEB_RUBY_TEST_SPEC</p> </li> <li>
  179. * <p>INSTRUMENTATION_TEST_SPEC</p> </li> <li> <p>XCTEST_UI_TEST_SPEC</p> </li>
  180. * </ul> <p> If you call <code>CreateUpload</code> with <code>WEB_APP</code>
  181. * specified, AWS Device Farm throws an <code>ArgumentException</code> error.</p>
  182. */
  183. inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
  184. /**
  185. * <p>The upload's upload type.</p> <p>Must be one of the following values:</p>
  186. * <ul> <li> <p>ANDROID_APP</p> </li> <li> <p>IOS_APP</p> </li> <li> <p>WEB_APP</p>
  187. * </li> <li> <p>EXTERNAL_DATA</p> </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_PACKAGE</p>
  188. * </li> <li> <p>APPIUM_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  189. * <p>APPIUM_PYTHON_TEST_PACKAGE</p> </li> <li> <p>APPIUM_NODE_TEST_PACKAGE</p>
  190. * </li> <li> <p>APPIUM_RUBY_TEST_PACKAGE</p> </li> <li>
  191. * <p>APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE</p> </li> <li>
  192. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  193. * <p>APPIUM_WEB_PYTHON_TEST_PACKAGE</p> </li> <li>
  194. * <p>APPIUM_WEB_NODE_TEST_PACKAGE</p> </li> <li>
  195. * <p>APPIUM_WEB_RUBY_TEST_PACKAGE</p> </li> <li> <p>CALABASH_TEST_PACKAGE</p>
  196. * </li> <li> <p>INSTRUMENTATION_TEST_PACKAGE</p> </li> <li>
  197. * <p>UIAUTOMATION_TEST_PACKAGE</p> </li> <li> <p>UIAUTOMATOR_TEST_PACKAGE</p>
  198. * </li> <li> <p>XCTEST_TEST_PACKAGE</p> </li> <li> <p>XCTEST_UI_TEST_PACKAGE</p>
  199. * </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  200. * <p>APPIUM_JAVA_TESTNG_TEST_SPEC</p> </li> <li> <p>APPIUM_PYTHON_TEST_SPEC</p>
  201. * </li> <li> <p>APPIUM_NODE_TEST_SPEC</p> </li> <li> <p>APPIUM_RUBY_TEST_SPEC</p>
  202. * </li> <li> <p>APPIUM_WEB_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  203. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_SPEC</p> </li> <li>
  204. * <p>APPIUM_WEB_PYTHON_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_NODE_TEST_SPEC</p>
  205. * </li> <li> <p>APPIUM_WEB_RUBY_TEST_SPEC</p> </li> <li>
  206. * <p>INSTRUMENTATION_TEST_SPEC</p> </li> <li> <p>XCTEST_UI_TEST_SPEC</p> </li>
  207. * </ul> <p> If you call <code>CreateUpload</code> with <code>WEB_APP</code>
  208. * specified, AWS Device Farm throws an <code>ArgumentException</code> error.</p>
  209. */
  210. inline void SetType(const UploadType& value) { m_typeHasBeenSet = true; m_type = value; }
  211. /**
  212. * <p>The upload's upload type.</p> <p>Must be one of the following values:</p>
  213. * <ul> <li> <p>ANDROID_APP</p> </li> <li> <p>IOS_APP</p> </li> <li> <p>WEB_APP</p>
  214. * </li> <li> <p>EXTERNAL_DATA</p> </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_PACKAGE</p>
  215. * </li> <li> <p>APPIUM_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  216. * <p>APPIUM_PYTHON_TEST_PACKAGE</p> </li> <li> <p>APPIUM_NODE_TEST_PACKAGE</p>
  217. * </li> <li> <p>APPIUM_RUBY_TEST_PACKAGE</p> </li> <li>
  218. * <p>APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE</p> </li> <li>
  219. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  220. * <p>APPIUM_WEB_PYTHON_TEST_PACKAGE</p> </li> <li>
  221. * <p>APPIUM_WEB_NODE_TEST_PACKAGE</p> </li> <li>
  222. * <p>APPIUM_WEB_RUBY_TEST_PACKAGE</p> </li> <li> <p>CALABASH_TEST_PACKAGE</p>
  223. * </li> <li> <p>INSTRUMENTATION_TEST_PACKAGE</p> </li> <li>
  224. * <p>UIAUTOMATION_TEST_PACKAGE</p> </li> <li> <p>UIAUTOMATOR_TEST_PACKAGE</p>
  225. * </li> <li> <p>XCTEST_TEST_PACKAGE</p> </li> <li> <p>XCTEST_UI_TEST_PACKAGE</p>
  226. * </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  227. * <p>APPIUM_JAVA_TESTNG_TEST_SPEC</p> </li> <li> <p>APPIUM_PYTHON_TEST_SPEC</p>
  228. * </li> <li> <p>APPIUM_NODE_TEST_SPEC</p> </li> <li> <p>APPIUM_RUBY_TEST_SPEC</p>
  229. * </li> <li> <p>APPIUM_WEB_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  230. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_SPEC</p> </li> <li>
  231. * <p>APPIUM_WEB_PYTHON_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_NODE_TEST_SPEC</p>
  232. * </li> <li> <p>APPIUM_WEB_RUBY_TEST_SPEC</p> </li> <li>
  233. * <p>INSTRUMENTATION_TEST_SPEC</p> </li> <li> <p>XCTEST_UI_TEST_SPEC</p> </li>
  234. * </ul> <p> If you call <code>CreateUpload</code> with <code>WEB_APP</code>
  235. * specified, AWS Device Farm throws an <code>ArgumentException</code> error.</p>
  236. */
  237. inline void SetType(UploadType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
  238. /**
  239. * <p>The upload's upload type.</p> <p>Must be one of the following values:</p>
  240. * <ul> <li> <p>ANDROID_APP</p> </li> <li> <p>IOS_APP</p> </li> <li> <p>WEB_APP</p>
  241. * </li> <li> <p>EXTERNAL_DATA</p> </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_PACKAGE</p>
  242. * </li> <li> <p>APPIUM_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  243. * <p>APPIUM_PYTHON_TEST_PACKAGE</p> </li> <li> <p>APPIUM_NODE_TEST_PACKAGE</p>
  244. * </li> <li> <p>APPIUM_RUBY_TEST_PACKAGE</p> </li> <li>
  245. * <p>APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE</p> </li> <li>
  246. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  247. * <p>APPIUM_WEB_PYTHON_TEST_PACKAGE</p> </li> <li>
  248. * <p>APPIUM_WEB_NODE_TEST_PACKAGE</p> </li> <li>
  249. * <p>APPIUM_WEB_RUBY_TEST_PACKAGE</p> </li> <li> <p>CALABASH_TEST_PACKAGE</p>
  250. * </li> <li> <p>INSTRUMENTATION_TEST_PACKAGE</p> </li> <li>
  251. * <p>UIAUTOMATION_TEST_PACKAGE</p> </li> <li> <p>UIAUTOMATOR_TEST_PACKAGE</p>
  252. * </li> <li> <p>XCTEST_TEST_PACKAGE</p> </li> <li> <p>XCTEST_UI_TEST_PACKAGE</p>
  253. * </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  254. * <p>APPIUM_JAVA_TESTNG_TEST_SPEC</p> </li> <li> <p>APPIUM_PYTHON_TEST_SPEC</p>
  255. * </li> <li> <p>APPIUM_NODE_TEST_SPEC</p> </li> <li> <p>APPIUM_RUBY_TEST_SPEC</p>
  256. * </li> <li> <p>APPIUM_WEB_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  257. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_SPEC</p> </li> <li>
  258. * <p>APPIUM_WEB_PYTHON_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_NODE_TEST_SPEC</p>
  259. * </li> <li> <p>APPIUM_WEB_RUBY_TEST_SPEC</p> </li> <li>
  260. * <p>INSTRUMENTATION_TEST_SPEC</p> </li> <li> <p>XCTEST_UI_TEST_SPEC</p> </li>
  261. * </ul> <p> If you call <code>CreateUpload</code> with <code>WEB_APP</code>
  262. * specified, AWS Device Farm throws an <code>ArgumentException</code> error.</p>
  263. */
  264. inline CreateUploadRequest& WithType(const UploadType& value) { SetType(value); return *this;}
  265. /**
  266. * <p>The upload's upload type.</p> <p>Must be one of the following values:</p>
  267. * <ul> <li> <p>ANDROID_APP</p> </li> <li> <p>IOS_APP</p> </li> <li> <p>WEB_APP</p>
  268. * </li> <li> <p>EXTERNAL_DATA</p> </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_PACKAGE</p>
  269. * </li> <li> <p>APPIUM_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  270. * <p>APPIUM_PYTHON_TEST_PACKAGE</p> </li> <li> <p>APPIUM_NODE_TEST_PACKAGE</p>
  271. * </li> <li> <p>APPIUM_RUBY_TEST_PACKAGE</p> </li> <li>
  272. * <p>APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE</p> </li> <li>
  273. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE</p> </li> <li>
  274. * <p>APPIUM_WEB_PYTHON_TEST_PACKAGE</p> </li> <li>
  275. * <p>APPIUM_WEB_NODE_TEST_PACKAGE</p> </li> <li>
  276. * <p>APPIUM_WEB_RUBY_TEST_PACKAGE</p> </li> <li> <p>CALABASH_TEST_PACKAGE</p>
  277. * </li> <li> <p>INSTRUMENTATION_TEST_PACKAGE</p> </li> <li>
  278. * <p>UIAUTOMATION_TEST_PACKAGE</p> </li> <li> <p>UIAUTOMATOR_TEST_PACKAGE</p>
  279. * </li> <li> <p>XCTEST_TEST_PACKAGE</p> </li> <li> <p>XCTEST_UI_TEST_PACKAGE</p>
  280. * </li> <li> <p>APPIUM_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  281. * <p>APPIUM_JAVA_TESTNG_TEST_SPEC</p> </li> <li> <p>APPIUM_PYTHON_TEST_SPEC</p>
  282. * </li> <li> <p>APPIUM_NODE_TEST_SPEC</p> </li> <li> <p>APPIUM_RUBY_TEST_SPEC</p>
  283. * </li> <li> <p>APPIUM_WEB_JAVA_JUNIT_TEST_SPEC</p> </li> <li>
  284. * <p>APPIUM_WEB_JAVA_TESTNG_TEST_SPEC</p> </li> <li>
  285. * <p>APPIUM_WEB_PYTHON_TEST_SPEC</p> </li> <li> <p>APPIUM_WEB_NODE_TEST_SPEC</p>
  286. * </li> <li> <p>APPIUM_WEB_RUBY_TEST_SPEC</p> </li> <li>
  287. * <p>INSTRUMENTATION_TEST_SPEC</p> </li> <li> <p>XCTEST_UI_TEST_SPEC</p> </li>
  288. * </ul> <p> If you call <code>CreateUpload</code> with <code>WEB_APP</code>
  289. * specified, AWS Device Farm throws an <code>ArgumentException</code> error.</p>
  290. */
  291. inline CreateUploadRequest& WithType(UploadType&& value) { SetType(std::move(value)); return *this;}
  292. /**
  293. * <p>The upload's content type (for example,
  294. * <code>application/octet-stream</code>).</p>
  295. */
  296. inline const Aws::String& GetContentType() const{ return m_contentType; }
  297. /**
  298. * <p>The upload's content type (for example,
  299. * <code>application/octet-stream</code>).</p>
  300. */
  301. inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; }
  302. /**
  303. * <p>The upload's content type (for example,
  304. * <code>application/octet-stream</code>).</p>
  305. */
  306. inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; }
  307. /**
  308. * <p>The upload's content type (for example,
  309. * <code>application/octet-stream</code>).</p>
  310. */
  311. inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); }
  312. /**
  313. * <p>The upload's content type (for example,
  314. * <code>application/octet-stream</code>).</p>
  315. */
  316. inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); }
  317. /**
  318. * <p>The upload's content type (for example,
  319. * <code>application/octet-stream</code>).</p>
  320. */
  321. inline CreateUploadRequest& WithContentType(const Aws::String& value) { SetContentType(value); return *this;}
  322. /**
  323. * <p>The upload's content type (for example,
  324. * <code>application/octet-stream</code>).</p>
  325. */
  326. inline CreateUploadRequest& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;}
  327. /**
  328. * <p>The upload's content type (for example,
  329. * <code>application/octet-stream</code>).</p>
  330. */
  331. inline CreateUploadRequest& WithContentType(const char* value) { SetContentType(value); return *this;}
  332. private:
  333. Aws::String m_projectArn;
  334. bool m_projectArnHasBeenSet;
  335. Aws::String m_name;
  336. bool m_nameHasBeenSet;
  337. UploadType m_type;
  338. bool m_typeHasBeenSet;
  339. Aws::String m_contentType;
  340. bool m_contentTypeHasBeenSet;
  341. };
  342. } // namespace Model
  343. } // namespace DeviceFarm
  344. } // namespace Aws