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

The settings for container log rotation.

See Also:

AWS * API Reference

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

The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

*/ inline const Aws::String& GetRotationSize() const{ return m_rotationSize; } /** *

The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

*/ inline bool RotationSizeHasBeenSet() const { return m_rotationSizeHasBeenSet; } /** *

The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

*/ inline void SetRotationSize(const Aws::String& value) { m_rotationSizeHasBeenSet = true; m_rotationSize = value; } /** *

The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

*/ inline void SetRotationSize(Aws::String&& value) { m_rotationSizeHasBeenSet = true; m_rotationSize = std::move(value); } /** *

The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

*/ inline void SetRotationSize(const char* value) { m_rotationSizeHasBeenSet = true; m_rotationSize.assign(value); } /** *

The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

*/ inline ContainerLogRotationConfiguration& WithRotationSize(const Aws::String& value) { SetRotationSize(value); return *this;} /** *

The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

*/ inline ContainerLogRotationConfiguration& WithRotationSize(Aws::String&& value) { SetRotationSize(std::move(value)); return *this;} /** *

The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

*/ inline ContainerLogRotationConfiguration& WithRotationSize(const char* value) { SetRotationSize(value); return *this;} /** *

The number of files to keep in container after rotation.

*/ inline int GetMaxFilesToKeep() const{ return m_maxFilesToKeep; } /** *

The number of files to keep in container after rotation.

*/ inline bool MaxFilesToKeepHasBeenSet() const { return m_maxFilesToKeepHasBeenSet; } /** *

The number of files to keep in container after rotation.

*/ inline void SetMaxFilesToKeep(int value) { m_maxFilesToKeepHasBeenSet = true; m_maxFilesToKeep = value; } /** *

The number of files to keep in container after rotation.

*/ inline ContainerLogRotationConfiguration& WithMaxFilesToKeep(int value) { SetMaxFilesToKeep(value); return *this;} private: Aws::String m_rotationSize; bool m_rotationSizeHasBeenSet = false; int m_maxFilesToKeep; bool m_maxFilesToKeepHasBeenSet = false; }; } // namespace Model } // namespace EMRContainers } // namespace Aws