diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b39e360f97..14d4f1b844a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ Unreleased Changes ------------------ +* Feature - Aws::DeviceFarm - Added support for testing iOS applications with + AWS Device Farm. You can now upload your iOS apps and test them on real Apple + phones and tablets in the AWS Cloud. You can select from a built-in fuzz test + or upload your own tests written with Appium Java JUnit, Appium Java TestNG, + Calabash, UI Automation, or XCTest. Results in AWS Device Farm are consistent + regardless of the application type (Android, Fire OS, iOS) you upload and test + framework you select. + * Issue - Aws::EC2 - Updated two `Aws::EC2::Client#wait_until` waiters to retry instance ID not found errors. The two waiters are: diff --git a/aws-sdk-core/apis/devicefarm/2015-06-23/api-2.json b/aws-sdk-core/apis/devicefarm/2015-06-23/api-2.json index 9eff0a210bf..0f45a664c0d 100644 --- a/aws-sdk-core/apis/devicefarm/2015-06-23/api-2.json +++ b/aws-sdk-core/apis/devicefarm/2015-06-23/api-2.json @@ -91,6 +91,33 @@ } ] }, + "GetAccountSettings":{ + "name":"GetAccountSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAccountSettingsRequest"}, + "output":{"shape":"GetAccountSettingsResult"}, + "errors":[ + { + "shape":"ArgumentException", + "exception":true + }, + { + "shape":"NotFoundException", + "exception":true + }, + { + "shape":"LimitExceededException", + "exception":true + }, + { + "shape":"ServiceAccountException", + "exception":true + } + ] + }, "GetDevice":{ "name":"GetDevice", "http":{ @@ -664,6 +691,18 @@ } }, "shapes":{ + "AWSAccountNumber":{ + "type":"string", + "min":2, + "max":16 + }, + "AccountSettings":{ + "type":"structure", + "members":{ + "awsAccountNumber":{"shape":"AWSAccountNumber"}, + "unmeteredDevices":{"shape":"PurchasedDevicesMap"} + } + }, "AmazonResourceName":{ "type":"string", "min":32 @@ -722,6 +761,13 @@ "type":"list", "member":{"shape":"Artifact"} }, + "BillingMethod":{ + "type":"string", + "enum":[ + "METERED", + "UNMETERED" + ] + }, "Boolean":{"type":"boolean"}, "CPU":{ "type":"structure", @@ -839,7 +885,10 @@ }, "DevicePlatform":{ "type":"string", - "enum":["ANDROID"] + "enum":[ + "ANDROID", + "IOS" + ] }, "DevicePool":{ "type":"structure", @@ -906,6 +955,17 @@ "min":0, "max":1024 }, + "GetAccountSettingsRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAccountSettingsResult":{ + "type":"structure", + "members":{ + "accountSettings":{"shape":"AccountSettings"} + } + }, "GetDevicePoolCompatibilityRequest":{ "type":"structure", "required":[ @@ -1317,6 +1377,11 @@ "type":"list", "member":{"shape":"Project"} }, + "PurchasedDevicesMap":{ + "type":"map", + "key":{"shape":"DevicePlatform"}, + "value":{"shape":"Integer"} + }, "Radios":{ "type":"structure", "members":{ @@ -1370,7 +1435,8 @@ "counters":{"shape":"Counters"}, "message":{"shape":"Message"}, "totalJobs":{"shape":"Integer"}, - "completedJobs":{"shape":"Integer"} + "completedJobs":{"shape":"Integer"}, + "billingMethod":{"shape":"BillingMethod"} } }, "Runs":{ @@ -1419,7 +1485,8 @@ "locale":{"shape":"String"}, "location":{"shape":"Location"}, "radios":{"shape":"Radios"}, - "auxiliaryApps":{"shape":"AmazonResourceNames"} + "auxiliaryApps":{"shape":"AmazonResourceNames"}, + "billingMethod":{"shape":"BillingMethod"} } }, "ScheduleRunRequest":{ @@ -1511,7 +1578,9 @@ "APPIUM_JAVA_TESTNG", "CALABASH", "INSTRUMENTATION", - "UIAUTOMATOR" + "UIAUTOMATION", + "UIAUTOMATOR", + "XCTEST" ] }, "Tests":{ @@ -1566,12 +1635,15 @@ "type":"string", "enum":[ "ANDROID_APP", + "IOS_APP", "EXTERNAL_DATA", "APPIUM_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_JAVA_TESTNG_TEST_PACKAGE", "CALABASH_TEST_PACKAGE", "INSTRUMENTATION_TEST_PACKAGE", - "UIAUTOMATOR_TEST_PACKAGE" + "UIAUTOMATION_TEST_PACKAGE", + "UIAUTOMATOR_TEST_PACKAGE", + "XCTEST_TEST_PACKAGE" ] }, "Uploads":{ diff --git a/aws-sdk-core/apis/devicefarm/2015-06-23/docs-2.json b/aws-sdk-core/apis/devicefarm/2015-06-23/docs-2.json index 4fa506815b3..e046a74f224 100644 --- a/aws-sdk-core/apis/devicefarm/2015-06-23/docs-2.json +++ b/aws-sdk-core/apis/devicefarm/2015-06-23/docs-2.json @@ -4,6 +4,7 @@ "CreateDevicePool": "
Creates a device pool.
", "CreateProject": "Creates a new project.
", "CreateUpload": "Uploads an app or test scripts.
", + "GetAccountSettings": "Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.
", "GetDevice": "Gets information about a unique device type.
", "GetDevicePool": "Gets information about a device pool.
", "GetDevicePoolCompatibility": "Gets information about compatibility with a device pool.
", @@ -26,8 +27,20 @@ "ListUploads": "Gets information about uploads.
", "ScheduleRun": "Schedules a run.
" }, - "service": "AWS Device Farm is a service that enables mobile app developers to test Android and Fire OS apps on physical phones, tablets, and other devices in the cloud.
", + "service": "AWS Device Farm is a service that enables mobile app developers to test Android, iOS, and Fire OS apps on physical phones, tablets, and other devices in the cloud.
", "shapes": { + "AWSAccountNumber": { + "base": null, + "refs": { + "AccountSettings$awsAccountNumber": "The AWS account number specified in the AccountSettings
container.
A container for account-level settings within AWS Device Farm.
", + "refs": { + "GetAccountSettingsResult$accountSettings": null + } + }, "AmazonResourceName": { "base": null, "refs": { @@ -63,7 +76,7 @@ "Project$arn": "The project's ARN.
", "Run$arn": "The run's ARN.
", "Sample$arn": "The sample's ARN.
", - "ScheduleRunConfiguration$extraDataPackageArn": "The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data.
", + "ScheduleRunConfiguration$extraDataPackageArn": "The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.
", "ScheduleRunConfiguration$networkProfileArn": "Reserved for internal use.
", "ScheduleRunRequest$projectArn": "The ARN of the project for the run to be scheduled.
", "ScheduleRunRequest$appArn": "The ARN of the app to schedule a run.
", @@ -100,7 +113,7 @@ "ArtifactType": { "base": null, "refs": { - "Artifact$type": "The artifact's type.
Allowed values include the following:
APPIUM_JAVA_OUTPUT: The Appium Java output type.
APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.
APPIUM_SERVER_OUTPUT: The Appium server output type.
AUTOMATION_OUTPUT: The automation output type.
CALABASH_JSON_OUTPUT: The Calabash JSON output type.
CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.
CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.
CALABASH_STANDARD_OUTPUT: The Calabash standard output type.
DEVICE_LOG: The device log type.
EXERCISER_MONKEY_OUTPUT: The artifact (log) generated by a fuzz test.
INSTRUMENTATION_OUTPUT: The instrumentation type.
MESSAGE_LOG: The message log type.
RESULT_LOG: The result log type.
SCREENSHOT: The screenshot type.
SERVICE_LOG: The service log type.
UNKNOWN: An unknown type.
The artifact's type.
Allowed values include the following:
APPIUM_JAVA_OUTPUT: The Appium Java output type.
APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.
APPIUM_SERVER_OUTPUT: The Appium server output type.
AUTOMATION_OUTPUT: The automation output type.
CALABASH_JSON_OUTPUT: The Calabash JSON output type.
CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.
CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.
CALABASH_STANDARD_OUTPUT: The Calabash standard output type.
DEVICE_LOG: The device log type.
EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.
INSTRUMENTATION_OUTPUT: The instrumentation type.
MESSAGE_LOG: The message log type.
RESULT_LOG: The result log type.
SCREENSHOT: The screenshot type.
SERVICE_LOG: The service log type.
UNKNOWN: An unknown type.
Information about the artifacts.
" } }, + "BillingMethod": { + "base": null, + "refs": { + "Run$billingMethod": "Specifies the billing method for a test run: metered
or unmetered
. If the parameter is not specified, the default value is unmetered
.
Specifies the billing method for a test run: metered
or unmetered
. If the parameter is not specified, the default value is unmetered
.
The type of incompatibility.
Allowed values include:
ARN: The ARN.
FORM_FACTOR: The form factor (for example, phone or tablet).
MANUFACTURER: The manufacturer.
PLATFORM: The platform.
The rule's attribute.
Allowed values include:
ARN: The ARN.
FORM_FACTOR: The form factor (for example, phone or tablet).
MANUFACTURER: The manufacturer.
PLATFORM: The platform.
The type of incompatibility.
Allowed values include:
ARN: The ARN.
FORM_FACTOR: The form factor (for example, phone or tablet).
MANUFACTURER: The manufacturer.
PLATFORM: The platform (for example, Android or iOS).
The rule's attribute.
Allowed values include:
ARN: The ARN.
FORM_FACTOR: The form factor (for example, phone or tablet).
MANUFACTURER: The manufacturer.
PLATFORM: The platform (for example, Android or iOS).
The device's platform.
Allowed values include:
ANDROID: The Android platform.
The run's platform.
Allowed values include:
ANDROID: The Android platform.
The device's platform.
Allowed values include:
ANDROID: The Android platform.
IOS: The iOS platform.
The run's platform.
Allowed values include:
ANDROID: The Android platform.
IOS: The iOS platform.
The test's filter.
" } }, + "GetAccountSettingsRequest": { + "base": null, + "refs": { + } + }, + "GetAccountSettingsResult": { + "base": null, + "refs": { + } + }, "GetDevicePoolCompatibilityRequest": { "base": "Represents a request to the get device pool compatibility operation.
", "refs": { @@ -411,6 +442,7 @@ "Counters$errored": "The number of errored entities.
", "Counters$stopped": "The number of stopped entities.
", "Counters$skipped": "The number of skipped entities.
", + "PurchasedDevicesMap$value": null, "Resolution$width": "The screen resolution's width, expressed in pixels.
", "Resolution$height": "The screen resolution's height, expressed in pixels.
", "Run$totalJobs": "The total number of jobs for the run.
", @@ -581,7 +613,7 @@ "Metadata": { "base": null, "refs": { - "Upload$metadata": "The upload's metadata. This contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.
" + "Upload$metadata": "The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.
" } }, "Name": { @@ -670,6 +702,12 @@ "ListProjectsResult$projects": "Information about the projects.
" } }, + "PurchasedDevicesMap": { + "base": null, + "refs": { + "AccountSettings$unmeteredDevices": "Returns the unmetered devices you have purchased.
" + } + }, "Radios": { "base": "Represents the set of radios and their states on a device. Examples of radios include Wi-Fi, GPS, Bluetooth, and NFC.
", "refs": { @@ -691,7 +729,7 @@ "RuleOperator": { "base": null, "refs": { - "Rule$operator": "The rule's operator.
EQUAL: The equals operator.
GREATER_THAN: The greater-than operator.
IN: The in operator.
LESS_THAN: The less-than operator.
NOT_IN: The not-in operator.
The rule's operator.
EQUALS: The equals operator.
GREATER_THAN: The greater-than operator.
IN: The in operator.
LESS_THAN: The less-than operator.
NOT_IN: The not-in operator.
The test type for the specified device pool.
Allowed values include the following:
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
BUILTIN_EXPLORER: An app explorer that will traverse an app, interacting with it and capturing screenshots at the same time.
BUILTIN_FUZZ: The built-in fuzz type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATOR: The uiautomator type.
The job's type.
Allowed values include the following:
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
BUILTIN_EXPLORER: An app explorer that will traverse an app, interacting with it and capturing screenshots at the same time.
BUILTIN_FUZZ: The built-in fuzz type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATOR: The uiautomator type.
The run's type.
Must be one of the following values:
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
BUILTIN_EXPLORER: An app explorer that will traverse an app, interacting with it and capturing screenshots at the same time.
BUILTIN_FUZZ: The built-in fuzz type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATOR: The uiautomator type.
The test's type.
Must be one of the following values:
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
BUILTIN_EXPLORER: An app explorer that will traverse an app, interacting with it and capturing screenshots at the same time.
BUILTIN_FUZZ: The built-in fuzz type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATOR: The uiautomator type.
The suite's type.
Must be one of the following values:
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
BUILTIN_EXPLORER: An app explorer that will traverse an app, interacting with it and capturing screenshots at the same time.
BUILTIN_FUZZ: The built-in fuzz type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATOR: The uiautomator type.
The test's type.
Must be one of the following values:
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
BUILTIN_EXPLORER: An app explorer that will traverse an app, interacting with it and capturing screenshots at the same time.
BUILTIN_FUZZ: The built-in fuzz type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATOR: The uiautomator type.
The test type for the specified device pool.
Allowed values include the following:
BUILTIN_FUZZ: The built-in fuzz type.
BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATION: The uiautomation type.
UIAUTOMATOR: The uiautomator type.
XCTEST: The XCode test type.
The job's type.
Allowed values include the following:
BUILTIN_FUZZ: The built-in fuzz type.
BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATION: The uiautomation type.
UIAUTOMATOR: The uiautomator type.
XCTEST: The XCode test type.
The run's type.
Must be one of the following values:
BUILTIN_FUZZ: The built-in fuzz type.
BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATION: The uiautomation type.
UIAUTOMATOR: The uiautomator type.
XCTEST: The XCode test type.
The test's type.
Must be one of the following values:
BUILTIN_FUZZ: The built-in fuzz type.
BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATION: The uiautomation type.
UIAUTOMATOR: The uiautomator type.
XCTEST: The XCode test type.
The suite's type.
Must be one of the following values:
BUILTIN_FUZZ: The built-in fuzz type.
BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATION: The uiautomation type.
UIAUTOMATOR: The uiautomator type.
XCTEST: The XCode test type.
The test's type.
Must be one of the following values:
BUILTIN_FUZZ: The built-in fuzz type.
BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.
APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
CALABASH: The Calabash type.
INSTRUMENTATION: The Instrumentation type.
UIAUTOMATION: The uiautomation type.
UIAUTOMATOR: The uiautomator type.
XCTEST: The XCode test type.
The upload's upload type.
Must be one of the following values:
ANDROID_APP: An Android upload.
APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.
CALABASH_TEST_PACKAGE: A Calabash test package upload.
EXTERNAL_DATA: An external data upload.
INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
The upload's type.
Must be one of the following values:
ANDROID_APP: An Android upload.
APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.
CALABASH_TEST_PACKAGE: A Calabash test package upload.
EXTERNAL_DATA: An external data upload.
INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
The upload's upload type.
Must be one of the following values:
ANDROID_APP: An Android upload.
IOS_APP: An iOS upload.
EXTERNAL_DATA: An external data upload.
APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.
CALABASH_TEST_PACKAGE: A Calabash test package upload.
INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
XCTEST_TEST_PACKAGE: An XCode test package upload.
The upload's type.
Must be one of the following values:
ANDROID_APP: An Android upload.
IOS_APP: An iOS upload.
EXTERNAL_DATA: An external data upload.
APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.
CALABASH_TEST_PACKAGE: A Calabash test package upload.
INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
XCTEST_TEST_PACKAGE: An XCode test package upload.