From 8079b7a8be8601d073edf254b7c4ec22d8d845d9 Mon Sep 17 00:00:00 2001 From: Alex Wood Date: Tue, 4 Aug 2015 13:07:49 -0700 Subject: [PATCH] API Update for 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. --- CHANGELOG.md | 8 ++ .../apis/devicefarm/2015-06-23/api-2.json | 82 +++++++++++++++++-- .../apis/devicefarm/2015-06-23/docs-2.json | 72 ++++++++++++---- 3 files changed, 140 insertions(+), 22 deletions(-) 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.

" + } + }, + "AccountSettings": { + "base": "

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:

" + "Artifact$type": "

The artifact's type.

Allowed values include the following:

" } }, "Artifacts": { @@ -109,6 +122,13 @@ "ListArtifactsResult$artifacts": "

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.

", + "ScheduleRunConfiguration$billingMethod": "

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is unmetered.

" + } + }, "Boolean": { "base": null, "refs": { @@ -203,8 +223,8 @@ "DeviceAttribute": { "base": null, "refs": { - "IncompatibilityMessage$type": "

The type of incompatibility.

Allowed values include:

", - "Rule$attribute": "

The rule's attribute.

Allowed values include:

" + "IncompatibilityMessage$type": "

The type of incompatibility.

Allowed values include:

", + "Rule$attribute": "

The rule's attribute.

Allowed values include:

" } }, "DeviceFormFactor": { @@ -216,8 +236,9 @@ "DevicePlatform": { "base": null, "refs": { - "Device$platform": "

The device's platform.

Allowed values include:

", - "Run$platform": "

The run's platform.

Allowed values include:

" + "Device$platform": "

The device's platform.

Allowed values include:

", + "PurchasedDevicesMap$key": null, + "Run$platform": "

The run's platform.

Allowed values include:

" } }, "DevicePool": { @@ -294,6 +315,16 @@ "ScheduleRunTest$filter": "

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.

" + "Rule$operator": "

The rule's operator.

" } }, "Rules": { @@ -807,12 +845,12 @@ "TestType": { "base": null, "refs": { - "GetDevicePoolCompatibilityRequest$testType": "

The test type for the specified device pool.

Allowed values include the following:

", - "Job$type": "

The job's type.

Allowed values include the following:

", - "Run$type": "

The run's type.

Must be one of the following values:

", - "ScheduleRunTest$type": "

The test's type.

Must be one of the following values:

", - "Suite$type": "

The suite's type.

Must be one of the following values:

", - "Test$type": "

The test's type.

Must be one of the following values:

" + "GetDevicePoolCompatibilityRequest$testType": "

The test type for the specified device pool.

Allowed values include the following:

", + "Job$type": "

The job's type.

Allowed values include the following:

", + "Run$type": "

The run's type.

Must be one of the following values:

", + "ScheduleRunTest$type": "

The test's type.

Must be one of the following values:

", + "Suite$type": "

The suite's type.

Must be one of the following values:

", + "Test$type": "

The test's type.

Must be one of the following values:

" } }, "Tests": { @@ -864,8 +902,8 @@ "UploadType": { "base": null, "refs": { - "CreateUploadRequest$type": "

The upload's upload type.

Must be one of the following values:

", - "Upload$type": "

The upload's type.

Must be one of the following values:

" + "CreateUploadRequest$type": "

The upload's upload type.

Must be one of the following values:

", + "Upload$type": "

The upload's type.

Must be one of the following values:

" } }, "Uploads": {