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

Data retrieval policy rule.

See Also:

AWS * API Reference

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

The type of data retrieval policy to set.

Valid values: * BytesPerHour|FreeTier|None

*/ inline const Aws::String& GetStrategy() const{ return m_strategy; } /** *

The type of data retrieval policy to set.

Valid values: * BytesPerHour|FreeTier|None

*/ inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } /** *

The type of data retrieval policy to set.

Valid values: * BytesPerHour|FreeTier|None

*/ inline void SetStrategy(const Aws::String& value) { m_strategyHasBeenSet = true; m_strategy = value; } /** *

The type of data retrieval policy to set.

Valid values: * BytesPerHour|FreeTier|None

*/ inline void SetStrategy(Aws::String&& value) { m_strategyHasBeenSet = true; m_strategy = std::move(value); } /** *

The type of data retrieval policy to set.

Valid values: * BytesPerHour|FreeTier|None

*/ inline void SetStrategy(const char* value) { m_strategyHasBeenSet = true; m_strategy.assign(value); } /** *

The type of data retrieval policy to set.

Valid values: * BytesPerHour|FreeTier|None

*/ inline DataRetrievalRule& WithStrategy(const Aws::String& value) { SetStrategy(value); return *this;} /** *

The type of data retrieval policy to set.

Valid values: * BytesPerHour|FreeTier|None

*/ inline DataRetrievalRule& WithStrategy(Aws::String&& value) { SetStrategy(std::move(value)); return *this;} /** *

The type of data retrieval policy to set.

Valid values: * BytesPerHour|FreeTier|None

*/ inline DataRetrievalRule& WithStrategy(const char* value) { SetStrategy(value); return *this;} /** *

The maximum number of bytes that can be retrieved in an hour.

This * field is required only if the value of the Strategy field is * BytesPerHour. Your PUT operation will be rejected if the Strategy * field is not set to BytesPerHour and you set this field.

*/ inline long long GetBytesPerHour() const{ return m_bytesPerHour; } /** *

The maximum number of bytes that can be retrieved in an hour.

This * field is required only if the value of the Strategy field is * BytesPerHour. Your PUT operation will be rejected if the Strategy * field is not set to BytesPerHour and you set this field.

*/ inline bool BytesPerHourHasBeenSet() const { return m_bytesPerHourHasBeenSet; } /** *

The maximum number of bytes that can be retrieved in an hour.

This * field is required only if the value of the Strategy field is * BytesPerHour. Your PUT operation will be rejected if the Strategy * field is not set to BytesPerHour and you set this field.

*/ inline void SetBytesPerHour(long long value) { m_bytesPerHourHasBeenSet = true; m_bytesPerHour = value; } /** *

The maximum number of bytes that can be retrieved in an hour.

This * field is required only if the value of the Strategy field is * BytesPerHour. Your PUT operation will be rejected if the Strategy * field is not set to BytesPerHour and you set this field.

*/ inline DataRetrievalRule& WithBytesPerHour(long long value) { SetBytesPerHour(value); return *this;} private: Aws::String m_strategy; bool m_strategyHasBeenSet = false; long long m_bytesPerHour; bool m_bytesPerHourHasBeenSet = false; }; } // namespace Model } // namespace Glacier } // namespace Aws