/** * 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 ApplicationInsights { namespace Model { /** *

The configuration of the workload.

See Also:

AWS * API Reference

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

The name of the workload.

*/ inline const Aws::String& GetWorkloadName() const{ return m_workloadName; } /** *

The name of the workload.

*/ inline bool WorkloadNameHasBeenSet() const { return m_workloadNameHasBeenSet; } /** *

The name of the workload.

*/ inline void SetWorkloadName(const Aws::String& value) { m_workloadNameHasBeenSet = true; m_workloadName = value; } /** *

The name of the workload.

*/ inline void SetWorkloadName(Aws::String&& value) { m_workloadNameHasBeenSet = true; m_workloadName = std::move(value); } /** *

The name of the workload.

*/ inline void SetWorkloadName(const char* value) { m_workloadNameHasBeenSet = true; m_workloadName.assign(value); } /** *

The name of the workload.

*/ inline WorkloadConfiguration& WithWorkloadName(const Aws::String& value) { SetWorkloadName(value); return *this;} /** *

The name of the workload.

*/ inline WorkloadConfiguration& WithWorkloadName(Aws::String&& value) { SetWorkloadName(std::move(value)); return *this;} /** *

The name of the workload.

*/ inline WorkloadConfiguration& WithWorkloadName(const char* value) { SetWorkloadName(value); return *this;} /** *

The configuration of the workload tier.

*/ inline const Tier& GetTier() const{ return m_tier; } /** *

The configuration of the workload tier.

*/ inline bool TierHasBeenSet() const { return m_tierHasBeenSet; } /** *

The configuration of the workload tier.

*/ inline void SetTier(const Tier& value) { m_tierHasBeenSet = true; m_tier = value; } /** *

The configuration of the workload tier.

*/ inline void SetTier(Tier&& value) { m_tierHasBeenSet = true; m_tier = std::move(value); } /** *

The configuration of the workload tier.

*/ inline WorkloadConfiguration& WithTier(const Tier& value) { SetTier(value); return *this;} /** *

The configuration of the workload tier.

*/ inline WorkloadConfiguration& WithTier(Tier&& value) { SetTier(std::move(value)); return *this;} /** *

The configuration settings of the workload.

*/ inline const Aws::String& GetConfiguration() const{ return m_configuration; } /** *

The configuration settings of the workload.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The configuration settings of the workload.

*/ inline void SetConfiguration(const Aws::String& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The configuration settings of the workload.

*/ inline void SetConfiguration(Aws::String&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The configuration settings of the workload.

*/ inline void SetConfiguration(const char* value) { m_configurationHasBeenSet = true; m_configuration.assign(value); } /** *

The configuration settings of the workload.

*/ inline WorkloadConfiguration& WithConfiguration(const Aws::String& value) { SetConfiguration(value); return *this;} /** *

The configuration settings of the workload.

*/ inline WorkloadConfiguration& WithConfiguration(Aws::String&& value) { SetConfiguration(std::move(value)); return *this;} /** *

The configuration settings of the workload.

*/ inline WorkloadConfiguration& WithConfiguration(const char* value) { SetConfiguration(value); return *this;} private: Aws::String m_workloadName; bool m_workloadNameHasBeenSet = false; Tier m_tier; bool m_tierHasBeenSet = false; Aws::String m_configuration; bool m_configurationHasBeenSet = false; }; } // namespace Model } // namespace ApplicationInsights } // namespace Aws