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

A list of parameters for a control. A control can have zero, one, or more * than one parameter. An example of a control with two parameters is: "backup plan * frequency is at least daily and the retention period is at least * 1 year". The first parameter is daily. The second * parameter is 1 year.

See Also:

AWS * API Reference

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

The name of a parameter, for example, BackupPlanFrequency.

*/ inline const Aws::String& GetParameterName() const{ return m_parameterName; } /** *

The name of a parameter, for example, BackupPlanFrequency.

*/ inline bool ParameterNameHasBeenSet() const { return m_parameterNameHasBeenSet; } /** *

The name of a parameter, for example, BackupPlanFrequency.

*/ inline void SetParameterName(const Aws::String& value) { m_parameterNameHasBeenSet = true; m_parameterName = value; } /** *

The name of a parameter, for example, BackupPlanFrequency.

*/ inline void SetParameterName(Aws::String&& value) { m_parameterNameHasBeenSet = true; m_parameterName = std::move(value); } /** *

The name of a parameter, for example, BackupPlanFrequency.

*/ inline void SetParameterName(const char* value) { m_parameterNameHasBeenSet = true; m_parameterName.assign(value); } /** *

The name of a parameter, for example, BackupPlanFrequency.

*/ inline ControlInputParameter& WithParameterName(const Aws::String& value) { SetParameterName(value); return *this;} /** *

The name of a parameter, for example, BackupPlanFrequency.

*/ inline ControlInputParameter& WithParameterName(Aws::String&& value) { SetParameterName(std::move(value)); return *this;} /** *

The name of a parameter, for example, BackupPlanFrequency.

*/ inline ControlInputParameter& WithParameterName(const char* value) { SetParameterName(value); return *this;} /** *

The value of parameter, for example, hourly.

*/ inline const Aws::String& GetParameterValue() const{ return m_parameterValue; } /** *

The value of parameter, for example, hourly.

*/ inline bool ParameterValueHasBeenSet() const { return m_parameterValueHasBeenSet; } /** *

The value of parameter, for example, hourly.

*/ inline void SetParameterValue(const Aws::String& value) { m_parameterValueHasBeenSet = true; m_parameterValue = value; } /** *

The value of parameter, for example, hourly.

*/ inline void SetParameterValue(Aws::String&& value) { m_parameterValueHasBeenSet = true; m_parameterValue = std::move(value); } /** *

The value of parameter, for example, hourly.

*/ inline void SetParameterValue(const char* value) { m_parameterValueHasBeenSet = true; m_parameterValue.assign(value); } /** *

The value of parameter, for example, hourly.

*/ inline ControlInputParameter& WithParameterValue(const Aws::String& value) { SetParameterValue(value); return *this;} /** *

The value of parameter, for example, hourly.

*/ inline ControlInputParameter& WithParameterValue(Aws::String&& value) { SetParameterValue(std::move(value)); return *this;} /** *

The value of parameter, for example, hourly.

*/ inline ControlInputParameter& WithParameterValue(const char* value) { SetParameterValue(value); return *this;} private: Aws::String m_parameterName; bool m_parameterNameHasBeenSet = false; Aws::String m_parameterValue; bool m_parameterValueHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws