diff --git a/.changes/next-release/feature-AWSDeviceFarm-0ec7a00.json b/.changes/next-release/feature-AWSDeviceFarm-0ec7a00.json new file mode 100644 index 000000000000..83999d0a2e81 --- /dev/null +++ b/.changes/next-release/feature-AWSDeviceFarm-0ec7a00.json @@ -0,0 +1,6 @@ +{ + "type": "feature", + "category": "AWS Device Farm", + "contributor": "", + "description": "This release adds the support for VPC-ENI based connectivity for private devices on AWS Device Farm." +} diff --git a/services/devicefarm/src/main/resources/codegen-resources/service-2.json b/services/devicefarm/src/main/resources/codegen-resources/service-2.json index 030273b50cf5..14a5d1e4cb31 100644 --- a/services/devicefarm/src/main/resources/codegen-resources/service-2.json +++ b/services/devicefarm/src/main/resources/codegen-resources/service-2.json @@ -1278,7 +1278,7 @@ }, "skipAppResign":{ "shape":"SkipAppResign", - "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" } }, "documentation":"

A container for account-level settings in AWS Device Farm.

" @@ -1612,6 +1612,10 @@ "defaultJobTimeoutMinutes":{ "shape":"JobTimeoutMinutes", "documentation":"

Sets the execution timeout value (in minutes) for a project. All test runs in this project use the specified execution timeout value unless overridden when scheduling a run.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC security groups and subnets that are attached to a project.

" } }, "documentation":"

Represents a request to the create project operation.

" @@ -1693,7 +1697,7 @@ }, "skipAppResign":{ "shape":"Boolean", - "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information on how Device Farm modifies your uploads during tests, see Do you modify my app?

" + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information on how Device Farm modifies your uploads during tests, see Do you modify my app?

" } }, "documentation":"

Creates and submits a request to start a remote access session.

" @@ -2372,7 +2376,7 @@ }, "skipAppResign":{ "shape":"SkipAppResign", - "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" } }, "documentation":"

Represents configuration information about a test run, such as the execution timeout (in minutes).

" @@ -4098,6 +4102,10 @@ "created":{ "shape":"DateTime", "documentation":"

When the project was created.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC security groups and subnets that are attached to a project.

" } }, "documentation":"

Represents an operating-system neutral workspace for running and managing tests.

" @@ -4272,7 +4280,11 @@ }, "skipAppResign":{ "shape":"SkipAppResign", - "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC security groups and subnets that are attached to a project.

" } }, "documentation":"

Represents information about the remote access session.

" @@ -4493,7 +4505,7 @@ }, "skipAppResign":{ "shape":"SkipAppResign", - "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" }, "testSpecArn":{ "shape":"AmazonResourceName", @@ -4502,6 +4514,10 @@ "deviceSelectionResult":{ "shape":"DeviceSelectionResult", "documentation":"

The results of a device filter used to select the devices for a test run.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC security groups and subnets that are attached to a project.

" } }, "documentation":"

Represents a test run on a set of devices with a given app package, test parameters, and so on.

" @@ -4675,6 +4691,12 @@ }, "documentation":"

Represents test settings. This data structure is passed in as the test parameter to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.

" }, + "SecurityGroupId":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^sg-[0-9a-fA-F]{8,}$" + }, "SecurityGroupIds":{ "type":"list", "member":{"shape":"NonEmptyString"}, @@ -4775,6 +4797,12 @@ "documentation":"

Represents the results of your stop run attempt.

" }, "String":{"type":"string"}, + "SubnetId":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^subnet-[0-9a-fA-F]{8,}$" + }, "SubnetIds":{ "type":"list", "member":{"shape":"NonEmptyString"}, @@ -5427,6 +5455,10 @@ "defaultJobTimeoutMinutes":{ "shape":"JobTimeoutMinutes", "documentation":"

The number of minutes a test run in the project executes before it times out.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC security groups and subnets that are attached to a project.

" } }, "documentation":"

Represents a request to the update project operation.

" @@ -5686,7 +5718,42 @@ "max":2048, "min":0 }, - "VideoCapture":{"type":"boolean"} + "VideoCapture":{"type":"boolean"}, + "VpcConfig":{ + "type":"structure", + "required":[ + "securityGroupIds", + "subnetIds", + "vpcId" + ], + "members":{ + "securityGroupIds":{ + "shape":"VpcSecurityGroupIds", + "documentation":"

An array of one or more security groups IDs in your Amazon VPC.

" + }, + "subnetIds":{ + "shape":"VpcSubnetIds", + "documentation":"

An array of one or more subnet IDs in your Amazon VPC.

" + }, + "vpcId":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the Amazon VPC.

" + } + }, + "documentation":"

Contains the VPC configuration data necessary to interface with AWS Device Farm's services.

" + }, + "VpcSecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 + }, + "VpcSubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":8, + "min":1 + } }, "documentation":"

Welcome to the AWS Device Farm API documentation, which contains APIs for:

" }