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

An array of settings that describes characteristics of a network * profile.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the network profile.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the network profile.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the network profile.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the network profile.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the network profile.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the network profile.

*/ inline NetworkProfile& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the network profile.

*/ inline NetworkProfile& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the network profile.

*/ inline NetworkProfile& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the network profile.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the network profile.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the network profile.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the network profile.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the network profile.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the network profile.

*/ inline NetworkProfile& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the network profile.

*/ inline NetworkProfile& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the network profile.

*/ inline NetworkProfile& WithName(const char* value) { SetName(value); return *this;} /** *

The description of the network profile.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the network profile.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the network profile.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the network profile.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the network profile.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the network profile.

*/ inline NetworkProfile& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the network profile.

*/ inline NetworkProfile& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the network profile.

*/ inline NetworkProfile& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The type of network profile. Valid values are listed here.

*/ inline const NetworkProfileType& GetType() const{ return m_type; } /** *

The type of network profile. Valid values are listed here.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of network profile. Valid values are listed here.

*/ inline void SetType(const NetworkProfileType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of network profile. Valid values are listed here.

*/ inline void SetType(NetworkProfileType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of network profile. Valid values are listed here.

*/ inline NetworkProfile& WithType(const NetworkProfileType& value) { SetType(value); return *this;} /** *

The type of network profile. Valid values are listed here.

*/ inline NetworkProfile& WithType(NetworkProfileType&& value) { SetType(std::move(value)); return *this;} /** *

The data throughput rate in bits per second, as an integer from 0 to * 104857600.

*/ inline long long GetUplinkBandwidthBits() const{ return m_uplinkBandwidthBits; } /** *

The data throughput rate in bits per second, as an integer from 0 to * 104857600.

*/ inline bool UplinkBandwidthBitsHasBeenSet() const { return m_uplinkBandwidthBitsHasBeenSet; } /** *

The data throughput rate in bits per second, as an integer from 0 to * 104857600.

*/ inline void SetUplinkBandwidthBits(long long value) { m_uplinkBandwidthBitsHasBeenSet = true; m_uplinkBandwidthBits = value; } /** *

The data throughput rate in bits per second, as an integer from 0 to * 104857600.

*/ inline NetworkProfile& WithUplinkBandwidthBits(long long value) { SetUplinkBandwidthBits(value); return *this;} /** *

The data throughput rate in bits per second, as an integer from 0 to * 104857600.

*/ inline long long GetDownlinkBandwidthBits() const{ return m_downlinkBandwidthBits; } /** *

The data throughput rate in bits per second, as an integer from 0 to * 104857600.

*/ inline bool DownlinkBandwidthBitsHasBeenSet() const { return m_downlinkBandwidthBitsHasBeenSet; } /** *

The data throughput rate in bits per second, as an integer from 0 to * 104857600.

*/ inline void SetDownlinkBandwidthBits(long long value) { m_downlinkBandwidthBitsHasBeenSet = true; m_downlinkBandwidthBits = value; } /** *

The data throughput rate in bits per second, as an integer from 0 to * 104857600.

*/ inline NetworkProfile& WithDownlinkBandwidthBits(long long value) { SetDownlinkBandwidthBits(value); return *this;} /** *

Delay time for all packets to destination in milliseconds as an integer from * 0 to 2000.

*/ inline long long GetUplinkDelayMs() const{ return m_uplinkDelayMs; } /** *

Delay time for all packets to destination in milliseconds as an integer from * 0 to 2000.

*/ inline bool UplinkDelayMsHasBeenSet() const { return m_uplinkDelayMsHasBeenSet; } /** *

Delay time for all packets to destination in milliseconds as an integer from * 0 to 2000.

*/ inline void SetUplinkDelayMs(long long value) { m_uplinkDelayMsHasBeenSet = true; m_uplinkDelayMs = value; } /** *

Delay time for all packets to destination in milliseconds as an integer from * 0 to 2000.

*/ inline NetworkProfile& WithUplinkDelayMs(long long value) { SetUplinkDelayMs(value); return *this;} /** *

Delay time for all packets to destination in milliseconds as an integer from * 0 to 2000.

*/ inline long long GetDownlinkDelayMs() const{ return m_downlinkDelayMs; } /** *

Delay time for all packets to destination in milliseconds as an integer from * 0 to 2000.

*/ inline bool DownlinkDelayMsHasBeenSet() const { return m_downlinkDelayMsHasBeenSet; } /** *

Delay time for all packets to destination in milliseconds as an integer from * 0 to 2000.

*/ inline void SetDownlinkDelayMs(long long value) { m_downlinkDelayMsHasBeenSet = true; m_downlinkDelayMs = value; } /** *

Delay time for all packets to destination in milliseconds as an integer from * 0 to 2000.

*/ inline NetworkProfile& WithDownlinkDelayMs(long long value) { SetDownlinkDelayMs(value); return *this;} /** *

Time variation in the delay of received packets in milliseconds as an integer * from 0 to 2000.

*/ inline long long GetUplinkJitterMs() const{ return m_uplinkJitterMs; } /** *

Time variation in the delay of received packets in milliseconds as an integer * from 0 to 2000.

*/ inline bool UplinkJitterMsHasBeenSet() const { return m_uplinkJitterMsHasBeenSet; } /** *

Time variation in the delay of received packets in milliseconds as an integer * from 0 to 2000.

*/ inline void SetUplinkJitterMs(long long value) { m_uplinkJitterMsHasBeenSet = true; m_uplinkJitterMs = value; } /** *

Time variation in the delay of received packets in milliseconds as an integer * from 0 to 2000.

*/ inline NetworkProfile& WithUplinkJitterMs(long long value) { SetUplinkJitterMs(value); return *this;} /** *

Time variation in the delay of received packets in milliseconds as an integer * from 0 to 2000.

*/ inline long long GetDownlinkJitterMs() const{ return m_downlinkJitterMs; } /** *

Time variation in the delay of received packets in milliseconds as an integer * from 0 to 2000.

*/ inline bool DownlinkJitterMsHasBeenSet() const { return m_downlinkJitterMsHasBeenSet; } /** *

Time variation in the delay of received packets in milliseconds as an integer * from 0 to 2000.

*/ inline void SetDownlinkJitterMs(long long value) { m_downlinkJitterMsHasBeenSet = true; m_downlinkJitterMs = value; } /** *

Time variation in the delay of received packets in milliseconds as an integer * from 0 to 2000.

*/ inline NetworkProfile& WithDownlinkJitterMs(long long value) { SetDownlinkJitterMs(value); return *this;} /** *

Proportion of transmitted packets that fail to arrive from 0 to 100 * percent.

*/ inline int GetUplinkLossPercent() const{ return m_uplinkLossPercent; } /** *

Proportion of transmitted packets that fail to arrive from 0 to 100 * percent.

*/ inline bool UplinkLossPercentHasBeenSet() const { return m_uplinkLossPercentHasBeenSet; } /** *

Proportion of transmitted packets that fail to arrive from 0 to 100 * percent.

*/ inline void SetUplinkLossPercent(int value) { m_uplinkLossPercentHasBeenSet = true; m_uplinkLossPercent = value; } /** *

Proportion of transmitted packets that fail to arrive from 0 to 100 * percent.

*/ inline NetworkProfile& WithUplinkLossPercent(int value) { SetUplinkLossPercent(value); return *this;} /** *

Proportion of received packets that fail to arrive from 0 to 100 percent.

*/ inline int GetDownlinkLossPercent() const{ return m_downlinkLossPercent; } /** *

Proportion of received packets that fail to arrive from 0 to 100 percent.

*/ inline bool DownlinkLossPercentHasBeenSet() const { return m_downlinkLossPercentHasBeenSet; } /** *

Proportion of received packets that fail to arrive from 0 to 100 percent.

*/ inline void SetDownlinkLossPercent(int value) { m_downlinkLossPercentHasBeenSet = true; m_downlinkLossPercent = value; } /** *

Proportion of received packets that fail to arrive from 0 to 100 percent.

*/ inline NetworkProfile& WithDownlinkLossPercent(int value) { SetDownlinkLossPercent(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; NetworkProfileType m_type; bool m_typeHasBeenSet = false; long long m_uplinkBandwidthBits; bool m_uplinkBandwidthBitsHasBeenSet = false; long long m_downlinkBandwidthBits; bool m_downlinkBandwidthBitsHasBeenSet = false; long long m_uplinkDelayMs; bool m_uplinkDelayMsHasBeenSet = false; long long m_downlinkDelayMs; bool m_downlinkDelayMsHasBeenSet = false; long long m_uplinkJitterMs; bool m_uplinkJitterMsHasBeenSet = false; long long m_downlinkJitterMs; bool m_downlinkJitterMsHasBeenSet = false; int m_uplinkLossPercent; bool m_uplinkLossPercentHasBeenSet = false; int m_downlinkLossPercent; bool m_downlinkLossPercentHasBeenSet = false; }; } // namespace Model } // namespace DeviceFarm } // namespace Aws