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

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

See * Also:

AWS * API Reference

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

The AWS account number specified in the AccountSettings * container.

*/ inline const Aws::String& GetAwsAccountNumber() const{ return m_awsAccountNumber; } /** *

The AWS account number specified in the AccountSettings * container.

*/ inline bool AwsAccountNumberHasBeenSet() const { return m_awsAccountNumberHasBeenSet; } /** *

The AWS account number specified in the AccountSettings * container.

*/ inline void SetAwsAccountNumber(const Aws::String& value) { m_awsAccountNumberHasBeenSet = true; m_awsAccountNumber = value; } /** *

The AWS account number specified in the AccountSettings * container.

*/ inline void SetAwsAccountNumber(Aws::String&& value) { m_awsAccountNumberHasBeenSet = true; m_awsAccountNumber = std::move(value); } /** *

The AWS account number specified in the AccountSettings * container.

*/ inline void SetAwsAccountNumber(const char* value) { m_awsAccountNumberHasBeenSet = true; m_awsAccountNumber.assign(value); } /** *

The AWS account number specified in the AccountSettings * container.

*/ inline AccountSettings& WithAwsAccountNumber(const Aws::String& value) { SetAwsAccountNumber(value); return *this;} /** *

The AWS account number specified in the AccountSettings * container.

*/ inline AccountSettings& WithAwsAccountNumber(Aws::String&& value) { SetAwsAccountNumber(std::move(value)); return *this;} /** *

The AWS account number specified in the AccountSettings * container.

*/ inline AccountSettings& WithAwsAccountNumber(const char* value) { SetAwsAccountNumber(value); return *this;} /** *

Returns the unmetered devices you have purchased or want to purchase.

*/ inline const Aws::Map& GetUnmeteredDevices() const{ return m_unmeteredDevices; } /** *

Returns the unmetered devices you have purchased or want to purchase.

*/ inline bool UnmeteredDevicesHasBeenSet() const { return m_unmeteredDevicesHasBeenSet; } /** *

Returns the unmetered devices you have purchased or want to purchase.

*/ inline void SetUnmeteredDevices(const Aws::Map& value) { m_unmeteredDevicesHasBeenSet = true; m_unmeteredDevices = value; } /** *

Returns the unmetered devices you have purchased or want to purchase.

*/ inline void SetUnmeteredDevices(Aws::Map&& value) { m_unmeteredDevicesHasBeenSet = true; m_unmeteredDevices = std::move(value); } /** *

Returns the unmetered devices you have purchased or want to purchase.

*/ inline AccountSettings& WithUnmeteredDevices(const Aws::Map& value) { SetUnmeteredDevices(value); return *this;} /** *

Returns the unmetered devices you have purchased or want to purchase.

*/ inline AccountSettings& WithUnmeteredDevices(Aws::Map&& value) { SetUnmeteredDevices(std::move(value)); return *this;} /** *

Returns the unmetered devices you have purchased or want to purchase.

*/ inline AccountSettings& AddUnmeteredDevices(const DevicePlatform& key, int value) { m_unmeteredDevicesHasBeenSet = true; m_unmeteredDevices.emplace(key, value); return *this; } /** *

Returns the unmetered devices you have purchased or want to purchase.

*/ inline AccountSettings& AddUnmeteredDevices(DevicePlatform&& key, int value) { m_unmeteredDevicesHasBeenSet = true; m_unmeteredDevices.emplace(std::move(key), value); return *this; } /** *

Returns the unmetered remote access devices you have purchased or want to * purchase.

*/ inline const Aws::Map& GetUnmeteredRemoteAccessDevices() const{ return m_unmeteredRemoteAccessDevices; } /** *

Returns the unmetered remote access devices you have purchased or want to * purchase.

*/ inline bool UnmeteredRemoteAccessDevicesHasBeenSet() const { return m_unmeteredRemoteAccessDevicesHasBeenSet; } /** *

Returns the unmetered remote access devices you have purchased or want to * purchase.

*/ inline void SetUnmeteredRemoteAccessDevices(const Aws::Map& value) { m_unmeteredRemoteAccessDevicesHasBeenSet = true; m_unmeteredRemoteAccessDevices = value; } /** *

Returns the unmetered remote access devices you have purchased or want to * purchase.

*/ inline void SetUnmeteredRemoteAccessDevices(Aws::Map&& value) { m_unmeteredRemoteAccessDevicesHasBeenSet = true; m_unmeteredRemoteAccessDevices = std::move(value); } /** *

Returns the unmetered remote access devices you have purchased or want to * purchase.

*/ inline AccountSettings& WithUnmeteredRemoteAccessDevices(const Aws::Map& value) { SetUnmeteredRemoteAccessDevices(value); return *this;} /** *

Returns the unmetered remote access devices you have purchased or want to * purchase.

*/ inline AccountSettings& WithUnmeteredRemoteAccessDevices(Aws::Map&& value) { SetUnmeteredRemoteAccessDevices(std::move(value)); return *this;} /** *

Returns the unmetered remote access devices you have purchased or want to * purchase.

*/ inline AccountSettings& AddUnmeteredRemoteAccessDevices(const DevicePlatform& key, int value) { m_unmeteredRemoteAccessDevicesHasBeenSet = true; m_unmeteredRemoteAccessDevices.emplace(key, value); return *this; } /** *

Returns the unmetered remote access devices you have purchased or want to * purchase.

*/ inline AccountSettings& AddUnmeteredRemoteAccessDevices(DevicePlatform&& key, int value) { m_unmeteredRemoteAccessDevicesHasBeenSet = true; m_unmeteredRemoteAccessDevices.emplace(std::move(key), value); return *this; } /** *

The maximum number of minutes a test run executes before it times out.

*/ inline int GetMaxJobTimeoutMinutes() const{ return m_maxJobTimeoutMinutes; } /** *

The maximum number of minutes a test run executes before it times out.

*/ inline bool MaxJobTimeoutMinutesHasBeenSet() const { return m_maxJobTimeoutMinutesHasBeenSet; } /** *

The maximum number of minutes a test run executes before it times out.

*/ inline void SetMaxJobTimeoutMinutes(int value) { m_maxJobTimeoutMinutesHasBeenSet = true; m_maxJobTimeoutMinutes = value; } /** *

The maximum number of minutes a test run executes before it times out.

*/ inline AccountSettings& WithMaxJobTimeoutMinutes(int value) { SetMaxJobTimeoutMinutes(value); return *this;} /** *

Information about an AWS account's usage of free trial device minutes.

*/ inline const TrialMinutes& GetTrialMinutes() const{ return m_trialMinutes; } /** *

Information about an AWS account's usage of free trial device minutes.

*/ inline bool TrialMinutesHasBeenSet() const { return m_trialMinutesHasBeenSet; } /** *

Information about an AWS account's usage of free trial device minutes.

*/ inline void SetTrialMinutes(const TrialMinutes& value) { m_trialMinutesHasBeenSet = true; m_trialMinutes = value; } /** *

Information about an AWS account's usage of free trial device minutes.

*/ inline void SetTrialMinutes(TrialMinutes&& value) { m_trialMinutesHasBeenSet = true; m_trialMinutes = std::move(value); } /** *

Information about an AWS account's usage of free trial device minutes.

*/ inline AccountSettings& WithTrialMinutes(const TrialMinutes& value) { SetTrialMinutes(value); return *this;} /** *

Information about an AWS account's usage of free trial device minutes.

*/ inline AccountSettings& WithTrialMinutes(TrialMinutes&& value) { SetTrialMinutes(std::move(value)); return *this;} /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline const Aws::Map& GetMaxSlots() const{ return m_maxSlots; } /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline bool MaxSlotsHasBeenSet() const { return m_maxSlotsHasBeenSet; } /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline void SetMaxSlots(const Aws::Map& value) { m_maxSlotsHasBeenSet = true; m_maxSlots = value; } /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline void SetMaxSlots(Aws::Map&& value) { m_maxSlotsHasBeenSet = true; m_maxSlots = std::move(value); } /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline AccountSettings& WithMaxSlots(const Aws::Map& value) { SetMaxSlots(value); return *this;} /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline AccountSettings& WithMaxSlots(Aws::Map&& value) { SetMaxSlots(std::move(value)); return *this;} /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline AccountSettings& AddMaxSlots(const Aws::String& key, int value) { m_maxSlotsHasBeenSet = true; m_maxSlots.emplace(key, value); return *this; } /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline AccountSettings& AddMaxSlots(Aws::String&& key, int value) { m_maxSlotsHasBeenSet = true; m_maxSlots.emplace(std::move(key), value); return *this; } /** *

The maximum number of device slots that the AWS account can purchase. Each * maximum is expressed as an offering-id:number pair, where the * offering-id represents one of the IDs returned by the * ListOfferings command.

*/ inline AccountSettings& AddMaxSlots(const char* key, int value) { m_maxSlotsHasBeenSet = true; m_maxSlots.emplace(key, value); return *this; } /** *

The default number of minutes (at the account level) a test run executes * before it times out. The default value is 150 minutes.

*/ inline int GetDefaultJobTimeoutMinutes() const{ return m_defaultJobTimeoutMinutes; } /** *

The default number of minutes (at the account level) a test run executes * before it times out. The default value is 150 minutes.

*/ inline bool DefaultJobTimeoutMinutesHasBeenSet() const { return m_defaultJobTimeoutMinutesHasBeenSet; } /** *

The default number of minutes (at the account level) a test run executes * before it times out. The default value is 150 minutes.

*/ inline void SetDefaultJobTimeoutMinutes(int value) { m_defaultJobTimeoutMinutesHasBeenSet = true; m_defaultJobTimeoutMinutes = value; } /** *

The default number of minutes (at the account level) a test run executes * before it times out. The default value is 150 minutes.

*/ inline AccountSettings& WithDefaultJobTimeoutMinutes(int value) { SetDefaultJobTimeoutMinutes(value); return *this;} /** *

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.

*/ inline bool GetSkipAppResign() const{ return m_skipAppResign; } /** *

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.

*/ inline bool SkipAppResignHasBeenSet() const { return m_skipAppResignHasBeenSet; } /** *

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.

*/ inline void SetSkipAppResign(bool value) { m_skipAppResignHasBeenSet = true; m_skipAppResign = value; } /** *

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.

*/ inline AccountSettings& WithSkipAppResign(bool value) { SetSkipAppResign(value); return *this;} private: Aws::String m_awsAccountNumber; bool m_awsAccountNumberHasBeenSet = false; Aws::Map m_unmeteredDevices; bool m_unmeteredDevicesHasBeenSet = false; Aws::Map m_unmeteredRemoteAccessDevices; bool m_unmeteredRemoteAccessDevicesHasBeenSet = false; int m_maxJobTimeoutMinutes; bool m_maxJobTimeoutMinutesHasBeenSet = false; TrialMinutes m_trialMinutes; bool m_trialMinutesHasBeenSet = false; Aws::Map m_maxSlots; bool m_maxSlotsHasBeenSet = false; int m_defaultJobTimeoutMinutes; bool m_defaultJobTimeoutMinutesHasBeenSet = false; bool m_skipAppResign; bool m_skipAppResignHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws