/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3Control { namespace Model { /** *

See Also:

AWS * API Reference

*/ class SelectionCriteria { public: AWS_S3CONTROL_API SelectionCriteria(); AWS_S3CONTROL_API SelectionCriteria(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API SelectionCriteria& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

A container for the delimiter of the selection criteria being used.

*/ inline const Aws::String& GetDelimiter() const{ return m_delimiter; } /** *

A container for the delimiter of the selection criteria being used.

*/ inline bool DelimiterHasBeenSet() const { return m_delimiterHasBeenSet; } /** *

A container for the delimiter of the selection criteria being used.

*/ inline void SetDelimiter(const Aws::String& value) { m_delimiterHasBeenSet = true; m_delimiter = value; } /** *

A container for the delimiter of the selection criteria being used.

*/ inline void SetDelimiter(Aws::String&& value) { m_delimiterHasBeenSet = true; m_delimiter = std::move(value); } /** *

A container for the delimiter of the selection criteria being used.

*/ inline void SetDelimiter(const char* value) { m_delimiterHasBeenSet = true; m_delimiter.assign(value); } /** *

A container for the delimiter of the selection criteria being used.

*/ inline SelectionCriteria& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} /** *

A container for the delimiter of the selection criteria being used.

*/ inline SelectionCriteria& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} /** *

A container for the delimiter of the selection criteria being used.

*/ inline SelectionCriteria& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} /** *

The max depth of the selection criteria

*/ inline int GetMaxDepth() const{ return m_maxDepth; } /** *

The max depth of the selection criteria

*/ inline bool MaxDepthHasBeenSet() const { return m_maxDepthHasBeenSet; } /** *

The max depth of the selection criteria

*/ inline void SetMaxDepth(int value) { m_maxDepthHasBeenSet = true; m_maxDepth = value; } /** *

The max depth of the selection criteria

*/ inline SelectionCriteria& WithMaxDepth(int value) { SetMaxDepth(value); return *this;} /** *

The minimum number of storage bytes percentage whose metrics will be * selected.

You must choose a value greater than or equal to * 1.0.

*/ inline double GetMinStorageBytesPercentage() const{ return m_minStorageBytesPercentage; } /** *

The minimum number of storage bytes percentage whose metrics will be * selected.

You must choose a value greater than or equal to * 1.0.

*/ inline bool MinStorageBytesPercentageHasBeenSet() const { return m_minStorageBytesPercentageHasBeenSet; } /** *

The minimum number of storage bytes percentage whose metrics will be * selected.

You must choose a value greater than or equal to * 1.0.

*/ inline void SetMinStorageBytesPercentage(double value) { m_minStorageBytesPercentageHasBeenSet = true; m_minStorageBytesPercentage = value; } /** *

The minimum number of storage bytes percentage whose metrics will be * selected.

You must choose a value greater than or equal to * 1.0.

*/ inline SelectionCriteria& WithMinStorageBytesPercentage(double value) { SetMinStorageBytesPercentage(value); return *this;} private: Aws::String m_delimiter; bool m_delimiterHasBeenSet = false; int m_maxDepth; bool m_maxDepthHasBeenSet = false; double m_minStorageBytesPercentage; bool m_minStorageBytesPercentageHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws