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

Specifies the byte range of the object to get the records from. A record is * processed when its first byte is contained by the range. This parameter is * optional, but when specified, it must not be empty. See RFC 2616, Section * 14.35.1 about how to specify the start and end of the range.

See * Also:

AWS API * Reference

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

Specifies the start of the byte range. This parameter is optional. Valid * values: non-negative integers. The default value is 0. If only start is * supplied, it means scan from that point to the end of the file.For example; * <scanrange><start>50</start></scanrange> * means scan from byte 50 until the end of the file.

*/ inline long long GetStart() const{ return m_start; } /** *

Specifies the start of the byte range. This parameter is optional. Valid * values: non-negative integers. The default value is 0. If only start is * supplied, it means scan from that point to the end of the file.For example; * <scanrange><start>50</start></scanrange> * means scan from byte 50 until the end of the file.

*/ inline bool StartHasBeenSet() const { return m_startHasBeenSet; } /** *

Specifies the start of the byte range. This parameter is optional. Valid * values: non-negative integers. The default value is 0. If only start is * supplied, it means scan from that point to the end of the file.For example; * <scanrange><start>50</start></scanrange> * means scan from byte 50 until the end of the file.

*/ inline void SetStart(long long value) { m_startHasBeenSet = true; m_start = value; } /** *

Specifies the start of the byte range. This parameter is optional. Valid * values: non-negative integers. The default value is 0. If only start is * supplied, it means scan from that point to the end of the file.For example; * <scanrange><start>50</start></scanrange> * means scan from byte 50 until the end of the file.

*/ inline ScanRange& WithStart(long long value) { SetStart(value); return *this;} /** *

Specifies the end of the byte range. This parameter is optional. Valid * values: non-negative integers. The default value is one less than the size of * the object being queried. If only the End parameter is supplied, it is * interpreted to mean scan the last N bytes of the file. For example, * <scanrange><end>50</end></scanrange> means * scan the last 50 bytes.

*/ inline long long GetEnd() const{ return m_end; } /** *

Specifies the end of the byte range. This parameter is optional. Valid * values: non-negative integers. The default value is one less than the size of * the object being queried. If only the End parameter is supplied, it is * interpreted to mean scan the last N bytes of the file. For example, * <scanrange><end>50</end></scanrange> means * scan the last 50 bytes.

*/ inline bool EndHasBeenSet() const { return m_endHasBeenSet; } /** *

Specifies the end of the byte range. This parameter is optional. Valid * values: non-negative integers. The default value is one less than the size of * the object being queried. If only the End parameter is supplied, it is * interpreted to mean scan the last N bytes of the file. For example, * <scanrange><end>50</end></scanrange> means * scan the last 50 bytes.

*/ inline void SetEnd(long long value) { m_endHasBeenSet = true; m_end = value; } /** *

Specifies the end of the byte range. This parameter is optional. Valid * values: non-negative integers. The default value is one less than the size of * the object being queried. If only the End parameter is supplied, it is * interpreted to mean scan the last N bytes of the file. For example, * <scanrange><end>50</end></scanrange> means * scan the last 50 bytes.

*/ inline ScanRange& WithEnd(long long value) { SetEnd(value); return *this;} private: long long m_start; bool m_startHasBeenSet; long long m_end; bool m_endHasBeenSet; }; } // namespace Model } // namespace S3 } // namespace Aws