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

Contains a key range. For export jobs, a S3Resource object can * have an optional KeyRange value. The length of the range is defined * at job creation, and has either an inclusive BeginMarker, an * inclusive EndMarker, or both. Ranges are UTF-8 binary * sorted.

See Also:

AWS * API Reference

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

The key that starts an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline const Aws::String& GetBeginMarker() const{ return m_beginMarker; } /** *

The key that starts an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline bool BeginMarkerHasBeenSet() const { return m_beginMarkerHasBeenSet; } /** *

The key that starts an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline void SetBeginMarker(const Aws::String& value) { m_beginMarkerHasBeenSet = true; m_beginMarker = value; } /** *

The key that starts an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline void SetBeginMarker(Aws::String&& value) { m_beginMarkerHasBeenSet = true; m_beginMarker = std::move(value); } /** *

The key that starts an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline void SetBeginMarker(const char* value) { m_beginMarkerHasBeenSet = true; m_beginMarker.assign(value); } /** *

The key that starts an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline KeyRange& WithBeginMarker(const Aws::String& value) { SetBeginMarker(value); return *this;} /** *

The key that starts an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline KeyRange& WithBeginMarker(Aws::String&& value) { SetBeginMarker(std::move(value)); return *this;} /** *

The key that starts an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline KeyRange& WithBeginMarker(const char* value) { SetBeginMarker(value); return *this;} /** *

The key that ends an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline const Aws::String& GetEndMarker() const{ return m_endMarker; } /** *

The key that ends an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline bool EndMarkerHasBeenSet() const { return m_endMarkerHasBeenSet; } /** *

The key that ends an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline void SetEndMarker(const Aws::String& value) { m_endMarkerHasBeenSet = true; m_endMarker = value; } /** *

The key that ends an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline void SetEndMarker(Aws::String&& value) { m_endMarkerHasBeenSet = true; m_endMarker = std::move(value); } /** *

The key that ends an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline void SetEndMarker(const char* value) { m_endMarkerHasBeenSet = true; m_endMarker.assign(value); } /** *

The key that ends an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline KeyRange& WithEndMarker(const Aws::String& value) { SetEndMarker(value); return *this;} /** *

The key that ends an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline KeyRange& WithEndMarker(Aws::String&& value) { SetEndMarker(std::move(value)); return *this;} /** *

The key that ends an optional key range for an export job. Ranges are * inclusive and UTF-8 binary sorted.

*/ inline KeyRange& WithEndMarker(const char* value) { SetEndMarker(value); return *this;} private: Aws::String m_beginMarker; bool m_beginMarkerHasBeenSet = false; Aws::String m_endMarker; bool m_endMarkerHasBeenSet = false; }; } // namespace Model } // namespace Snowball } // namespace Aws