/*******************************************************************************
* Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use
* this file except in compliance with the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file.
* This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
* *****************************************************************************
*
* AWS Tools for Windows (TM) PowerShell (TM)
*
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using System.Text;
using Amazon.PowerShell.Common;
using Amazon.Runtime;
using Amazon.DeviceFarm;
using Amazon.DeviceFarm.Model;
namespace Amazon.PowerShell.Cmdlets.DF
{
///
/// Gets information about compatibility with a device pool.
///
[Cmdlet("Get", "DFDevicePoolCompatibility")]
[OutputType("Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityResponse")]
[AWSCmdlet("Calls the AWS Device Farm GetDevicePoolCompatibility API operation.", Operation = new[] {"GetDevicePoolCompatibility"}, SelectReturnType = typeof(Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityResponse))]
[AWSCmdletOutput("Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityResponse",
"This cmdlet returns an Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack."
)]
public partial class GetDFDevicePoolCompatibilityCmdlet : AmazonDeviceFarmClientCmdlet, IExecutor
{
#region Parameter CustomerArtifactPaths_AndroidPath
///
///
/// Comma-separated list of paths on the Android device where the artifacts generated
/// by the customer's tests are pulled from.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_CustomerArtifactPaths_AndroidPaths")]
public System.String[] CustomerArtifactPaths_AndroidPath { get; set; }
#endregion
#region Parameter AppArn
///
///
/// The ARN of the app that is associated with the specified device pool.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String AppArn { get; set; }
#endregion
#region Parameter Configuration_AuxiliaryApp
///
///
/// A list of upload ARNs for app packages to be installed with your app.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_AuxiliaryApps")]
public System.String[] Configuration_AuxiliaryApp { get; set; }
#endregion
#region Parameter Configuration_BillingMethod
///
///
/// Specifies the billing method for a test run: metered
or unmetered
.
/// If the parameter is not specified, the default value is metered
.If you have purchased unmetered device slots, you must set this parameter to unmetered
/// to make use of them. Otherwise, your run counts against your metered time.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.DeviceFarm.BillingMethod")]
public Amazon.DeviceFarm.BillingMethod Configuration_BillingMethod { get; set; }
#endregion
#region Parameter Radios_Bluetooth
///
///
/// True if Bluetooth is enabled at the beginning of the test. Otherwise, false.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_Radios_Bluetooth")]
public System.Boolean? Radios_Bluetooth { get; set; }
#endregion
#region Parameter CustomerArtifactPaths_DeviceHostPath
///
///
/// Comma-separated list of paths in the test execution environment where the artifacts
/// generated by the customer's tests are pulled from.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_CustomerArtifactPaths_DeviceHostPaths")]
public System.String[] CustomerArtifactPaths_DeviceHostPath { get; set; }
#endregion
#region Parameter DevicePoolArn
///
///
/// The device pool's ARN.
///
///
#if !MODULAR
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
#else
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)]
[System.Management.Automation.AllowEmptyString]
[System.Management.Automation.AllowNull]
#endif
[Amazon.PowerShell.Common.AWSRequiredParameter]
public System.String DevicePoolArn { get; set; }
#endregion
#region Parameter Configuration_ExtraDataPackageArn
///
///
/// The ARN of the extra data for the run. The extra data is a .zip file that AWS Device
/// Farm extracts to external data for Android or the app's sandbox for iOS.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Configuration_ExtraDataPackageArn { get; set; }
#endregion
#region Parameter Test_Filter
///
///
/// The test's filter.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Test_Filter { get; set; }
#endregion
#region Parameter Radios_Gp
///
///
/// True if GPS is enabled at the beginning of the test. Otherwise, false.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_Radios_Gps")]
public System.Boolean? Radios_Gp { get; set; }
#endregion
#region Parameter CustomerArtifactPaths_IosPath
///
///
/// Comma-separated list of paths on the iOS device where the artifacts generated by the
/// customer's tests are pulled from.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_CustomerArtifactPaths_IosPaths")]
public System.String[] CustomerArtifactPaths_IosPath { get; set; }
#endregion
#region Parameter Location_Latitude
///
///
/// The latitude.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_Location_Latitude")]
public System.Double? Location_Latitude { get; set; }
#endregion
#region Parameter Configuration_Locale
///
///
/// Information about the locale that is used for the run.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Configuration_Locale { get; set; }
#endregion
#region Parameter Location_Longitude
///
///
/// The longitude.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_Location_Longitude")]
public System.Double? Location_Longitude { get; set; }
#endregion
#region Parameter Configuration_NetworkProfileArn
///
///
/// Reserved for internal use.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Configuration_NetworkProfileArn { get; set; }
#endregion
#region Parameter Radios_Nfc
///
///
/// True if NFC is enabled at the beginning of the test. Otherwise, false.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_Radios_Nfc")]
public System.Boolean? Radios_Nfc { get; set; }
#endregion
#region Parameter Test_Parameter
///
///
/// The test's parameters, such as test framework parameters and fixture settings. Parameters
/// are represented by name-value pairs of strings.For all tests:app_performance_monitoring
: Performance monitoring is enabled by default.
/// Set this parameter to false to disable it.
For Calabash tests:- profile: A cucumber profile (for example,
my_profile_name
). - tags: You can limit execution to features or scenarios that have (or don't have) certain
/// tags (for example, @smoke or @smoke,~@wip).
For Appium tests (all types):- appium_version: The Appium version. Currently supported values are 1.6.5 (and later),
/// latest, and default.
- latest runs the latest Appium version supported by Device Farm (1.9.1).
- For default, Device Farm selects a compatible version of Appium for the device. The
/// current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2
/// for iOS 10 and later.
- This behavior is subject to change.
For fuzz tests (Android only):- event_count: The number of events, between 1 and 10000, that the UI fuzz test should
/// perform.
- throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between
/// events.
- seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between
/// tests ensures identical event sequences.
For Explorer tests:- username: A user name to use if the Explorer encounters a login form. If not supplied,
/// no user name is inserted.
- password: A password to use if the Explorer encounters a login form. If not supplied,
/// no password is inserted.
For Instrumentation:- filter: A test filter string. Examples:
- Running a single test case:
com.android.abc.Test1
- Running a single test:
com.android.abc.Test1#smoke
- Running multiple tests:
com.android.abc.Test1,com.android.abc.Test2
For XCTest and XCTestUI:- filter: A test filter string. Examples:
- Running a single test class:
LoginTests
- Running a multiple test classes:
LoginTests,SmokeTests
- Running a single test:
LoginTests/testValid
- Running multiple tests:
LoginTests/testValid,LoginTests/testInvalid
For UIAutomator:- filter: A test filter string. Examples:
- Running a single test case:
com.android.abc.Test1
- Running a single test:
com.android.abc.Test1#smoke
- Running multiple tests:
com.android.abc.Test1,com.android.abc.Test2
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Test_Parameters")]
public System.Collections.Hashtable Test_Parameter { get; set; }
#endregion
#region Parameter Test_TestPackageArn
///
///
/// The ARN of the uploaded test to be run.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Test_TestPackageArn { get; set; }
#endregion
#region Parameter Test_TestSpecArn
///
///
/// The ARN of the YAML-formatted test specification.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String Test_TestSpecArn { get; set; }
#endregion
#region Parameter TestType
///
///
/// The test type for the specified device pool.Allowed values include the following:- BUILTIN_FUZZ.
- BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting
/// with it and capturing screenshots at the same time.
- APPIUM_JAVA_JUNIT.
- APPIUM_JAVA_TESTNG.
- APPIUM_PYTHON.
- APPIUM_NODE.
- APPIUM_RUBY.
- APPIUM_WEB_JAVA_JUNIT.
- APPIUM_WEB_JAVA_TESTNG.
- APPIUM_WEB_PYTHON.
- APPIUM_WEB_NODE.
- APPIUM_WEB_RUBY.
- CALABASH.
- INSTRUMENTATION.
- UIAUTOMATION.
- UIAUTOMATOR.
- XCTEST.
- XCTEST_UI.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.DeviceFarm.TestType")]
public Amazon.DeviceFarm.TestType TestType { get; set; }
#endregion
#region Parameter Test_Type
///
///
/// The test's type.Must be one of the following values:- BUILTIN_FUZZ
- BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting
/// with it and capturing screenshots at the same time.
- APPIUM_JAVA_JUNIT
- APPIUM_JAVA_TESTNG
- APPIUM_PYTHON
- APPIUM_NODE
- APPIUM_RUBY
- APPIUM_WEB_JAVA_JUNIT
- APPIUM_WEB_JAVA_TESTNG
- APPIUM_WEB_PYTHON
- APPIUM_WEB_NODE
- APPIUM_WEB_RUBY
- CALABASH
- INSTRUMENTATION
- UIAUTOMATION
- UIAUTOMATOR
- XCTEST
- XCTEST_UI
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.DeviceFarm.TestType")]
public Amazon.DeviceFarm.TestType Test_Type { get; set; }
#endregion
#region Parameter Configuration_VpceConfigurationArn
///
///
/// An array of ARNs for your VPC endpoint configurations.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_VpceConfigurationArns")]
public System.String[] Configuration_VpceConfigurationArn { get; set; }
#endregion
#region Parameter Radios_Wifi
///
///
/// True if Wi-Fi is enabled at the beginning of the test. Otherwise, false.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("Configuration_Radios_Wifi")]
public System.Boolean? Radios_Wifi { get; set; }
#endregion
#region Parameter Select
///
/// Use the -Select parameter to control the cmdlet output. The default value is '*'.
/// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityResponse).
/// Specifying the name of a property of type Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityResponse will result in that property being returned.
/// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value.
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public string Select { get; set; } = "*";
#endregion
protected override void ProcessRecord()
{
this._AWSSignerType = "v4";
base.ProcessRecord();
var context = new CmdletContext();
// allow for manipulation of parameters prior to loading into context
PreExecutionContextLoad(context);
if (ParameterWasBound(nameof(this.Select)))
{
context.Select = CreateSelectDelegate(Select) ??
throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select));
}
context.AppArn = this.AppArn;
if (this.Configuration_AuxiliaryApp != null)
{
context.Configuration_AuxiliaryApp = new List(this.Configuration_AuxiliaryApp);
}
context.Configuration_BillingMethod = this.Configuration_BillingMethod;
if (this.CustomerArtifactPaths_AndroidPath != null)
{
context.CustomerArtifactPaths_AndroidPath = new List(this.CustomerArtifactPaths_AndroidPath);
}
if (this.CustomerArtifactPaths_DeviceHostPath != null)
{
context.CustomerArtifactPaths_DeviceHostPath = new List(this.CustomerArtifactPaths_DeviceHostPath);
}
if (this.CustomerArtifactPaths_IosPath != null)
{
context.CustomerArtifactPaths_IosPath = new List(this.CustomerArtifactPaths_IosPath);
}
context.Configuration_ExtraDataPackageArn = this.Configuration_ExtraDataPackageArn;
context.Configuration_Locale = this.Configuration_Locale;
context.Location_Latitude = this.Location_Latitude;
context.Location_Longitude = this.Location_Longitude;
context.Configuration_NetworkProfileArn = this.Configuration_NetworkProfileArn;
context.Radios_Bluetooth = this.Radios_Bluetooth;
context.Radios_Gp = this.Radios_Gp;
context.Radios_Nfc = this.Radios_Nfc;
context.Radios_Wifi = this.Radios_Wifi;
if (this.Configuration_VpceConfigurationArn != null)
{
context.Configuration_VpceConfigurationArn = new List(this.Configuration_VpceConfigurationArn);
}
context.DevicePoolArn = this.DevicePoolArn;
#if MODULAR
if (this.DevicePoolArn == null && ParameterWasBound(nameof(this.DevicePoolArn)))
{
WriteWarning("You are passing $null as a value for parameter DevicePoolArn which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues.");
}
#endif
context.Test_Filter = this.Test_Filter;
if (this.Test_Parameter != null)
{
context.Test_Parameter = new Dictionary(StringComparer.Ordinal);
foreach (var hashKey in this.Test_Parameter.Keys)
{
context.Test_Parameter.Add((String)hashKey, (String)(this.Test_Parameter[hashKey]));
}
}
context.Test_TestPackageArn = this.Test_TestPackageArn;
context.Test_TestSpecArn = this.Test_TestSpecArn;
context.Test_Type = this.Test_Type;
context.TestType = this.TestType;
// allow further manipulation of loaded context prior to processing
PostExecutionContextLoad(context);
var output = Execute(context) as CmdletOutput;
ProcessOutput(output);
}
#region IExecutor Members
public object Execute(ExecutorContext context)
{
var cmdletContext = context as CmdletContext;
// create request
var request = new Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityRequest();
if (cmdletContext.AppArn != null)
{
request.AppArn = cmdletContext.AppArn;
}
// populate Configuration
var requestConfigurationIsNull = true;
request.Configuration = new Amazon.DeviceFarm.Model.ScheduleRunConfiguration();
List requestConfiguration_configuration_AuxiliaryApp = null;
if (cmdletContext.Configuration_AuxiliaryApp != null)
{
requestConfiguration_configuration_AuxiliaryApp = cmdletContext.Configuration_AuxiliaryApp;
}
if (requestConfiguration_configuration_AuxiliaryApp != null)
{
request.Configuration.AuxiliaryApps = requestConfiguration_configuration_AuxiliaryApp;
requestConfigurationIsNull = false;
}
Amazon.DeviceFarm.BillingMethod requestConfiguration_configuration_BillingMethod = null;
if (cmdletContext.Configuration_BillingMethod != null)
{
requestConfiguration_configuration_BillingMethod = cmdletContext.Configuration_BillingMethod;
}
if (requestConfiguration_configuration_BillingMethod != null)
{
request.Configuration.BillingMethod = requestConfiguration_configuration_BillingMethod;
requestConfigurationIsNull = false;
}
System.String requestConfiguration_configuration_ExtraDataPackageArn = null;
if (cmdletContext.Configuration_ExtraDataPackageArn != null)
{
requestConfiguration_configuration_ExtraDataPackageArn = cmdletContext.Configuration_ExtraDataPackageArn;
}
if (requestConfiguration_configuration_ExtraDataPackageArn != null)
{
request.Configuration.ExtraDataPackageArn = requestConfiguration_configuration_ExtraDataPackageArn;
requestConfigurationIsNull = false;
}
System.String requestConfiguration_configuration_Locale = null;
if (cmdletContext.Configuration_Locale != null)
{
requestConfiguration_configuration_Locale = cmdletContext.Configuration_Locale;
}
if (requestConfiguration_configuration_Locale != null)
{
request.Configuration.Locale = requestConfiguration_configuration_Locale;
requestConfigurationIsNull = false;
}
System.String requestConfiguration_configuration_NetworkProfileArn = null;
if (cmdletContext.Configuration_NetworkProfileArn != null)
{
requestConfiguration_configuration_NetworkProfileArn = cmdletContext.Configuration_NetworkProfileArn;
}
if (requestConfiguration_configuration_NetworkProfileArn != null)
{
request.Configuration.NetworkProfileArn = requestConfiguration_configuration_NetworkProfileArn;
requestConfigurationIsNull = false;
}
List requestConfiguration_configuration_VpceConfigurationArn = null;
if (cmdletContext.Configuration_VpceConfigurationArn != null)
{
requestConfiguration_configuration_VpceConfigurationArn = cmdletContext.Configuration_VpceConfigurationArn;
}
if (requestConfiguration_configuration_VpceConfigurationArn != null)
{
request.Configuration.VpceConfigurationArns = requestConfiguration_configuration_VpceConfigurationArn;
requestConfigurationIsNull = false;
}
Amazon.DeviceFarm.Model.Location requestConfiguration_configuration_Location = null;
// populate Location
var requestConfiguration_configuration_LocationIsNull = true;
requestConfiguration_configuration_Location = new Amazon.DeviceFarm.Model.Location();
System.Double? requestConfiguration_configuration_Location_location_Latitude = null;
if (cmdletContext.Location_Latitude != null)
{
requestConfiguration_configuration_Location_location_Latitude = cmdletContext.Location_Latitude.Value;
}
if (requestConfiguration_configuration_Location_location_Latitude != null)
{
requestConfiguration_configuration_Location.Latitude = requestConfiguration_configuration_Location_location_Latitude.Value;
requestConfiguration_configuration_LocationIsNull = false;
}
System.Double? requestConfiguration_configuration_Location_location_Longitude = null;
if (cmdletContext.Location_Longitude != null)
{
requestConfiguration_configuration_Location_location_Longitude = cmdletContext.Location_Longitude.Value;
}
if (requestConfiguration_configuration_Location_location_Longitude != null)
{
requestConfiguration_configuration_Location.Longitude = requestConfiguration_configuration_Location_location_Longitude.Value;
requestConfiguration_configuration_LocationIsNull = false;
}
// determine if requestConfiguration_configuration_Location should be set to null
if (requestConfiguration_configuration_LocationIsNull)
{
requestConfiguration_configuration_Location = null;
}
if (requestConfiguration_configuration_Location != null)
{
request.Configuration.Location = requestConfiguration_configuration_Location;
requestConfigurationIsNull = false;
}
Amazon.DeviceFarm.Model.CustomerArtifactPaths requestConfiguration_configuration_CustomerArtifactPaths = null;
// populate CustomerArtifactPaths
var requestConfiguration_configuration_CustomerArtifactPathsIsNull = true;
requestConfiguration_configuration_CustomerArtifactPaths = new Amazon.DeviceFarm.Model.CustomerArtifactPaths();
List requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_AndroidPath = null;
if (cmdletContext.CustomerArtifactPaths_AndroidPath != null)
{
requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_AndroidPath = cmdletContext.CustomerArtifactPaths_AndroidPath;
}
if (requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_AndroidPath != null)
{
requestConfiguration_configuration_CustomerArtifactPaths.AndroidPaths = requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_AndroidPath;
requestConfiguration_configuration_CustomerArtifactPathsIsNull = false;
}
List requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_DeviceHostPath = null;
if (cmdletContext.CustomerArtifactPaths_DeviceHostPath != null)
{
requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_DeviceHostPath = cmdletContext.CustomerArtifactPaths_DeviceHostPath;
}
if (requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_DeviceHostPath != null)
{
requestConfiguration_configuration_CustomerArtifactPaths.DeviceHostPaths = requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_DeviceHostPath;
requestConfiguration_configuration_CustomerArtifactPathsIsNull = false;
}
List requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_IosPath = null;
if (cmdletContext.CustomerArtifactPaths_IosPath != null)
{
requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_IosPath = cmdletContext.CustomerArtifactPaths_IosPath;
}
if (requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_IosPath != null)
{
requestConfiguration_configuration_CustomerArtifactPaths.IosPaths = requestConfiguration_configuration_CustomerArtifactPaths_customerArtifactPaths_IosPath;
requestConfiguration_configuration_CustomerArtifactPathsIsNull = false;
}
// determine if requestConfiguration_configuration_CustomerArtifactPaths should be set to null
if (requestConfiguration_configuration_CustomerArtifactPathsIsNull)
{
requestConfiguration_configuration_CustomerArtifactPaths = null;
}
if (requestConfiguration_configuration_CustomerArtifactPaths != null)
{
request.Configuration.CustomerArtifactPaths = requestConfiguration_configuration_CustomerArtifactPaths;
requestConfigurationIsNull = false;
}
Amazon.DeviceFarm.Model.Radios requestConfiguration_configuration_Radios = null;
// populate Radios
var requestConfiguration_configuration_RadiosIsNull = true;
requestConfiguration_configuration_Radios = new Amazon.DeviceFarm.Model.Radios();
System.Boolean? requestConfiguration_configuration_Radios_radios_Bluetooth = null;
if (cmdletContext.Radios_Bluetooth != null)
{
requestConfiguration_configuration_Radios_radios_Bluetooth = cmdletContext.Radios_Bluetooth.Value;
}
if (requestConfiguration_configuration_Radios_radios_Bluetooth != null)
{
requestConfiguration_configuration_Radios.Bluetooth = requestConfiguration_configuration_Radios_radios_Bluetooth.Value;
requestConfiguration_configuration_RadiosIsNull = false;
}
System.Boolean? requestConfiguration_configuration_Radios_radios_Gp = null;
if (cmdletContext.Radios_Gp != null)
{
requestConfiguration_configuration_Radios_radios_Gp = cmdletContext.Radios_Gp.Value;
}
if (requestConfiguration_configuration_Radios_radios_Gp != null)
{
requestConfiguration_configuration_Radios.Gps = requestConfiguration_configuration_Radios_radios_Gp.Value;
requestConfiguration_configuration_RadiosIsNull = false;
}
System.Boolean? requestConfiguration_configuration_Radios_radios_Nfc = null;
if (cmdletContext.Radios_Nfc != null)
{
requestConfiguration_configuration_Radios_radios_Nfc = cmdletContext.Radios_Nfc.Value;
}
if (requestConfiguration_configuration_Radios_radios_Nfc != null)
{
requestConfiguration_configuration_Radios.Nfc = requestConfiguration_configuration_Radios_radios_Nfc.Value;
requestConfiguration_configuration_RadiosIsNull = false;
}
System.Boolean? requestConfiguration_configuration_Radios_radios_Wifi = null;
if (cmdletContext.Radios_Wifi != null)
{
requestConfiguration_configuration_Radios_radios_Wifi = cmdletContext.Radios_Wifi.Value;
}
if (requestConfiguration_configuration_Radios_radios_Wifi != null)
{
requestConfiguration_configuration_Radios.Wifi = requestConfiguration_configuration_Radios_radios_Wifi.Value;
requestConfiguration_configuration_RadiosIsNull = false;
}
// determine if requestConfiguration_configuration_Radios should be set to null
if (requestConfiguration_configuration_RadiosIsNull)
{
requestConfiguration_configuration_Radios = null;
}
if (requestConfiguration_configuration_Radios != null)
{
request.Configuration.Radios = requestConfiguration_configuration_Radios;
requestConfigurationIsNull = false;
}
// determine if request.Configuration should be set to null
if (requestConfigurationIsNull)
{
request.Configuration = null;
}
if (cmdletContext.DevicePoolArn != null)
{
request.DevicePoolArn = cmdletContext.DevicePoolArn;
}
// populate Test
var requestTestIsNull = true;
request.Test = new Amazon.DeviceFarm.Model.ScheduleRunTest();
System.String requestTest_test_Filter = null;
if (cmdletContext.Test_Filter != null)
{
requestTest_test_Filter = cmdletContext.Test_Filter;
}
if (requestTest_test_Filter != null)
{
request.Test.Filter = requestTest_test_Filter;
requestTestIsNull = false;
}
Dictionary requestTest_test_Parameter = null;
if (cmdletContext.Test_Parameter != null)
{
requestTest_test_Parameter = cmdletContext.Test_Parameter;
}
if (requestTest_test_Parameter != null)
{
request.Test.Parameters = requestTest_test_Parameter;
requestTestIsNull = false;
}
System.String requestTest_test_TestPackageArn = null;
if (cmdletContext.Test_TestPackageArn != null)
{
requestTest_test_TestPackageArn = cmdletContext.Test_TestPackageArn;
}
if (requestTest_test_TestPackageArn != null)
{
request.Test.TestPackageArn = requestTest_test_TestPackageArn;
requestTestIsNull = false;
}
System.String requestTest_test_TestSpecArn = null;
if (cmdletContext.Test_TestSpecArn != null)
{
requestTest_test_TestSpecArn = cmdletContext.Test_TestSpecArn;
}
if (requestTest_test_TestSpecArn != null)
{
request.Test.TestSpecArn = requestTest_test_TestSpecArn;
requestTestIsNull = false;
}
Amazon.DeviceFarm.TestType requestTest_test_Type = null;
if (cmdletContext.Test_Type != null)
{
requestTest_test_Type = cmdletContext.Test_Type;
}
if (requestTest_test_Type != null)
{
request.Test.Type = requestTest_test_Type;
requestTestIsNull = false;
}
// determine if request.Test should be set to null
if (requestTestIsNull)
{
request.Test = null;
}
if (cmdletContext.TestType != null)
{
request.TestType = cmdletContext.TestType;
}
CmdletOutput output;
// issue call
var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint);
try
{
var response = CallAWSServiceOperation(client, request);
object pipelineOutput = null;
pipelineOutput = cmdletContext.Select(response, this);
output = new CmdletOutput
{
PipelineOutput = pipelineOutput,
ServiceResponse = response
};
}
catch (Exception e)
{
output = new CmdletOutput { ErrorResponse = e };
}
return output;
}
public ExecutorContext CreateContext()
{
return new CmdletContext();
}
#endregion
#region AWS Service Operation Call
private Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityResponse CallAWSServiceOperation(IAmazonDeviceFarm client, Amazon.DeviceFarm.Model.GetDevicePoolCompatibilityRequest request)
{
Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Device Farm", "GetDevicePoolCompatibility");
try
{
#if DESKTOP
return client.GetDevicePoolCompatibility(request);
#elif CORECLR
return client.GetDevicePoolCompatibilityAsync(request).GetAwaiter().GetResult();
#else
#error "Unknown build edition"
#endif
}
catch (AmazonServiceException exc)
{
var webException = exc.InnerException as System.Net.WebException;
if (webException != null)
{
throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
}
throw;
}
}
#endregion
internal partial class CmdletContext : ExecutorContext
{
public System.String AppArn { get; set; }
public List Configuration_AuxiliaryApp { get; set; }
public Amazon.DeviceFarm.BillingMethod Configuration_BillingMethod { get; set; }
public List CustomerArtifactPaths_AndroidPath { get; set; }
public List CustomerArtifactPaths_DeviceHostPath { get; set; }
public List CustomerArtifactPaths_IosPath { get; set; }
public System.String Configuration_ExtraDataPackageArn { get; set; }
public System.String Configuration_Locale { get; set; }
public System.Double? Location_Latitude { get; set; }
public System.Double? Location_Longitude { get; set; }
public System.String Configuration_NetworkProfileArn { get; set; }
public System.Boolean? Radios_Bluetooth { get; set; }
public System.Boolean? Radios_Gp { get; set; }
public System.Boolean? Radios_Nfc { get; set; }
public System.Boolean? Radios_Wifi { get; set; }
public List Configuration_VpceConfigurationArn { get; set; }
public System.String DevicePoolArn { get; set; }
public System.String Test_Filter { get; set; }
public Dictionary Test_Parameter { get; set; }
public System.String Test_TestPackageArn { get; set; }
public System.String Test_TestSpecArn { get; set; }
public Amazon.DeviceFarm.TestType Test_Type { get; set; }
public Amazon.DeviceFarm.TestType TestType { get; set; }
public System.Func Select { get; set; } =
(response, cmdlet) => response;
}
}
}