/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DeviceFarm { namespace Model { /** *

Represents the settings for a run. Includes things like location, radio * states, auxiliary apps, and network profiles.

See Also:

AWS * API Reference

*/ class ScheduleRunConfiguration { public: AWS_DEVICEFARM_API ScheduleRunConfiguration(); AWS_DEVICEFARM_API ScheduleRunConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_DEVICEFARM_API ScheduleRunConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DEVICEFARM_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

*/ inline const Aws::String& GetExtraDataPackageArn() const{ return m_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.

*/ inline bool ExtraDataPackageArnHasBeenSet() const { return m_extraDataPackageArnHasBeenSet; } /** *

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.

*/ inline void SetExtraDataPackageArn(const Aws::String& value) { m_extraDataPackageArnHasBeenSet = true; m_extraDataPackageArn = value; } /** *

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.

*/ inline void SetExtraDataPackageArn(Aws::String&& value) { m_extraDataPackageArnHasBeenSet = true; m_extraDataPackageArn = std::move(value); } /** *

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.

*/ inline void SetExtraDataPackageArn(const char* value) { m_extraDataPackageArnHasBeenSet = true; m_extraDataPackageArn.assign(value); } /** *

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.

*/ inline ScheduleRunConfiguration& WithExtraDataPackageArn(const Aws::String& value) { SetExtraDataPackageArn(value); return *this;} /** *

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.

*/ inline ScheduleRunConfiguration& WithExtraDataPackageArn(Aws::String&& value) { SetExtraDataPackageArn(std::move(value)); return *this;} /** *

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.

*/ inline ScheduleRunConfiguration& WithExtraDataPackageArn(const char* value) { SetExtraDataPackageArn(value); return *this;} /** *

Reserved for internal use.

*/ inline const Aws::String& GetNetworkProfileArn() const{ return m_networkProfileArn; } /** *

Reserved for internal use.

*/ inline bool NetworkProfileArnHasBeenSet() const { return m_networkProfileArnHasBeenSet; } /** *

Reserved for internal use.

*/ inline void SetNetworkProfileArn(const Aws::String& value) { m_networkProfileArnHasBeenSet = true; m_networkProfileArn = value; } /** *

Reserved for internal use.

*/ inline void SetNetworkProfileArn(Aws::String&& value) { m_networkProfileArnHasBeenSet = true; m_networkProfileArn = std::move(value); } /** *

Reserved for internal use.

*/ inline void SetNetworkProfileArn(const char* value) { m_networkProfileArnHasBeenSet = true; m_networkProfileArn.assign(value); } /** *

Reserved for internal use.

*/ inline ScheduleRunConfiguration& WithNetworkProfileArn(const Aws::String& value) { SetNetworkProfileArn(value); return *this;} /** *

Reserved for internal use.

*/ inline ScheduleRunConfiguration& WithNetworkProfileArn(Aws::String&& value) { SetNetworkProfileArn(std::move(value)); return *this;} /** *

Reserved for internal use.

*/ inline ScheduleRunConfiguration& WithNetworkProfileArn(const char* value) { SetNetworkProfileArn(value); return *this;} /** *

Information about the locale that is used for the run.

*/ inline const Aws::String& GetLocale() const{ return m_locale; } /** *

Information about the locale that is used for the run.

*/ inline bool LocaleHasBeenSet() const { return m_localeHasBeenSet; } /** *

Information about the locale that is used for the run.

*/ inline void SetLocale(const Aws::String& value) { m_localeHasBeenSet = true; m_locale = value; } /** *

Information about the locale that is used for the run.

*/ inline void SetLocale(Aws::String&& value) { m_localeHasBeenSet = true; m_locale = std::move(value); } /** *

Information about the locale that is used for the run.

*/ inline void SetLocale(const char* value) { m_localeHasBeenSet = true; m_locale.assign(value); } /** *

Information about the locale that is used for the run.

*/ inline ScheduleRunConfiguration& WithLocale(const Aws::String& value) { SetLocale(value); return *this;} /** *

Information about the locale that is used for the run.

*/ inline ScheduleRunConfiguration& WithLocale(Aws::String&& value) { SetLocale(std::move(value)); return *this;} /** *

Information about the locale that is used for the run.

*/ inline ScheduleRunConfiguration& WithLocale(const char* value) { SetLocale(value); return *this;} /** *

Information about the location that is used for the run.

*/ inline const Location& GetLocation() const{ return m_location; } /** *

Information about the location that is used for the run.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

Information about the location that is used for the run.

*/ inline void SetLocation(const Location& value) { m_locationHasBeenSet = true; m_location = value; } /** *

Information about the location that is used for the run.

*/ inline void SetLocation(Location&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

Information about the location that is used for the run.

*/ inline ScheduleRunConfiguration& WithLocation(const Location& value) { SetLocation(value); return *this;} /** *

Information about the location that is used for the run.

*/ inline ScheduleRunConfiguration& WithLocation(Location&& value) { SetLocation(std::move(value)); return *this;} /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline const Aws::Vector& GetVpceConfigurationArns() const{ return m_vpceConfigurationArns; } /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline bool VpceConfigurationArnsHasBeenSet() const { return m_vpceConfigurationArnsHasBeenSet; } /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline void SetVpceConfigurationArns(const Aws::Vector& value) { m_vpceConfigurationArnsHasBeenSet = true; m_vpceConfigurationArns = value; } /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline void SetVpceConfigurationArns(Aws::Vector&& value) { m_vpceConfigurationArnsHasBeenSet = true; m_vpceConfigurationArns = std::move(value); } /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline ScheduleRunConfiguration& WithVpceConfigurationArns(const Aws::Vector& value) { SetVpceConfigurationArns(value); return *this;} /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline ScheduleRunConfiguration& WithVpceConfigurationArns(Aws::Vector&& value) { SetVpceConfigurationArns(std::move(value)); return *this;} /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline ScheduleRunConfiguration& AddVpceConfigurationArns(const Aws::String& value) { m_vpceConfigurationArnsHasBeenSet = true; m_vpceConfigurationArns.push_back(value); return *this; } /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline ScheduleRunConfiguration& AddVpceConfigurationArns(Aws::String&& value) { m_vpceConfigurationArnsHasBeenSet = true; m_vpceConfigurationArns.push_back(std::move(value)); return *this; } /** *

An array of ARNs for your VPC endpoint configurations.

*/ inline ScheduleRunConfiguration& AddVpceConfigurationArns(const char* value) { m_vpceConfigurationArnsHasBeenSet = true; m_vpceConfigurationArns.push_back(value); return *this; } /** *

Input CustomerArtifactPaths object for the scheduled run * configuration.

*/ inline const CustomerArtifactPaths& GetCustomerArtifactPaths() const{ return m_customerArtifactPaths; } /** *

Input CustomerArtifactPaths object for the scheduled run * configuration.

*/ inline bool CustomerArtifactPathsHasBeenSet() const { return m_customerArtifactPathsHasBeenSet; } /** *

Input CustomerArtifactPaths object for the scheduled run * configuration.

*/ inline void SetCustomerArtifactPaths(const CustomerArtifactPaths& value) { m_customerArtifactPathsHasBeenSet = true; m_customerArtifactPaths = value; } /** *

Input CustomerArtifactPaths object for the scheduled run * configuration.

*/ inline void SetCustomerArtifactPaths(CustomerArtifactPaths&& value) { m_customerArtifactPathsHasBeenSet = true; m_customerArtifactPaths = std::move(value); } /** *

Input CustomerArtifactPaths object for the scheduled run * configuration.

*/ inline ScheduleRunConfiguration& WithCustomerArtifactPaths(const CustomerArtifactPaths& value) { SetCustomerArtifactPaths(value); return *this;} /** *

Input CustomerArtifactPaths object for the scheduled run * configuration.

*/ inline ScheduleRunConfiguration& WithCustomerArtifactPaths(CustomerArtifactPaths&& value) { SetCustomerArtifactPaths(std::move(value)); return *this;} /** *

Information about the radio states for the run.

*/ inline const Radios& GetRadios() const{ return m_radios; } /** *

Information about the radio states for the run.

*/ inline bool RadiosHasBeenSet() const { return m_radiosHasBeenSet; } /** *

Information about the radio states for the run.

*/ inline void SetRadios(const Radios& value) { m_radiosHasBeenSet = true; m_radios = value; } /** *

Information about the radio states for the run.

*/ inline void SetRadios(Radios&& value) { m_radiosHasBeenSet = true; m_radios = std::move(value); } /** *

Information about the radio states for the run.

*/ inline ScheduleRunConfiguration& WithRadios(const Radios& value) { SetRadios(value); return *this;} /** *

Information about the radio states for the run.

*/ inline ScheduleRunConfiguration& WithRadios(Radios&& value) { SetRadios(std::move(value)); return *this;} /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline const Aws::Vector& GetAuxiliaryApps() const{ return m_auxiliaryApps; } /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline bool AuxiliaryAppsHasBeenSet() const { return m_auxiliaryAppsHasBeenSet; } /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline void SetAuxiliaryApps(const Aws::Vector& value) { m_auxiliaryAppsHasBeenSet = true; m_auxiliaryApps = value; } /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline void SetAuxiliaryApps(Aws::Vector&& value) { m_auxiliaryAppsHasBeenSet = true; m_auxiliaryApps = std::move(value); } /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline ScheduleRunConfiguration& WithAuxiliaryApps(const Aws::Vector& value) { SetAuxiliaryApps(value); return *this;} /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline ScheduleRunConfiguration& WithAuxiliaryApps(Aws::Vector&& value) { SetAuxiliaryApps(std::move(value)); return *this;} /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline ScheduleRunConfiguration& AddAuxiliaryApps(const Aws::String& value) { m_auxiliaryAppsHasBeenSet = true; m_auxiliaryApps.push_back(value); return *this; } /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline ScheduleRunConfiguration& AddAuxiliaryApps(Aws::String&& value) { m_auxiliaryAppsHasBeenSet = true; m_auxiliaryApps.push_back(std::move(value)); return *this; } /** *

A list of upload ARNs for app packages to be installed with your app.

*/ inline ScheduleRunConfiguration& AddAuxiliaryApps(const char* value) { m_auxiliaryAppsHasBeenSet = true; m_auxiliaryApps.push_back(value); return *this; } /** *

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.

*/ inline const BillingMethod& GetBillingMethod() const{ return m_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.

*/ inline bool BillingMethodHasBeenSet() const { return m_billingMethodHasBeenSet; } /** *

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.

*/ inline void SetBillingMethod(const BillingMethod& value) { m_billingMethodHasBeenSet = true; m_billingMethod = value; } /** *

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.

*/ inline void SetBillingMethod(BillingMethod&& value) { m_billingMethodHasBeenSet = true; m_billingMethod = std::move(value); } /** *

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.

*/ inline ScheduleRunConfiguration& WithBillingMethod(const BillingMethod& value) { SetBillingMethod(value); return *this;} /** *

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.

*/ inline ScheduleRunConfiguration& WithBillingMethod(BillingMethod&& value) { SetBillingMethod(std::move(value)); return *this;} private: Aws::String m_extraDataPackageArn; bool m_extraDataPackageArnHasBeenSet = false; Aws::String m_networkProfileArn; bool m_networkProfileArnHasBeenSet = false; Aws::String m_locale; bool m_localeHasBeenSet = false; Location m_location; bool m_locationHasBeenSet = false; Aws::Vector m_vpceConfigurationArns; bool m_vpceConfigurationArnsHasBeenSet = false; CustomerArtifactPaths m_customerArtifactPaths; bool m_customerArtifactPathsHasBeenSet = false; Radios m_radios; bool m_radiosHasBeenSet = false; Aws::Vector m_auxiliaryApps; bool m_auxiliaryAppsHasBeenSet = false; BillingMethod m_billingMethod; bool m_billingMethodHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws