/** * 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 { /** *

Contains the information required to locate a manifest object.

See * Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) for a manifest object.

When * you're using XML requests, you must replace special characters (such as carriage * returns) in object keys with their equivalent XML entity codes. For more * information, see * XML-related object key constraints in the Amazon S3 User Guide.

* */ inline const Aws::String& GetObjectArn() const{ return m_objectArn; } /** *

The Amazon Resource Name (ARN) for a manifest object.

When * you're using XML requests, you must replace special characters (such as carriage * returns) in object keys with their equivalent XML entity codes. For more * information, see * XML-related object key constraints in the Amazon S3 User Guide.

* */ inline bool ObjectArnHasBeenSet() const { return m_objectArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for a manifest object.

When * you're using XML requests, you must replace special characters (such as carriage * returns) in object keys with their equivalent XML entity codes. For more * information, see * XML-related object key constraints in the Amazon S3 User Guide.

* */ inline void SetObjectArn(const Aws::String& value) { m_objectArnHasBeenSet = true; m_objectArn = value; } /** *

The Amazon Resource Name (ARN) for a manifest object.

When * you're using XML requests, you must replace special characters (such as carriage * returns) in object keys with their equivalent XML entity codes. For more * information, see * XML-related object key constraints in the Amazon S3 User Guide.

* */ inline void SetObjectArn(Aws::String&& value) { m_objectArnHasBeenSet = true; m_objectArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for a manifest object.

When * you're using XML requests, you must replace special characters (such as carriage * returns) in object keys with their equivalent XML entity codes. For more * information, see * XML-related object key constraints in the Amazon S3 User Guide.

* */ inline void SetObjectArn(const char* value) { m_objectArnHasBeenSet = true; m_objectArn.assign(value); } /** *

The Amazon Resource Name (ARN) for a manifest object.

When * you're using XML requests, you must replace special characters (such as carriage * returns) in object keys with their equivalent XML entity codes. For more * information, see * XML-related object key constraints in the Amazon S3 User Guide.

* */ inline JobManifestLocation& WithObjectArn(const Aws::String& value) { SetObjectArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for a manifest object.

When * you're using XML requests, you must replace special characters (such as carriage * returns) in object keys with their equivalent XML entity codes. For more * information, see * XML-related object key constraints in the Amazon S3 User Guide.

* */ inline JobManifestLocation& WithObjectArn(Aws::String&& value) { SetObjectArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for a manifest object.

When * you're using XML requests, you must replace special characters (such as carriage * returns) in object keys with their equivalent XML entity codes. For more * information, see * XML-related object key constraints in the Amazon S3 User Guide.

* */ inline JobManifestLocation& WithObjectArn(const char* value) { SetObjectArn(value); return *this;} /** *

The optional version ID to identify a specific version of the manifest * object.

*/ inline const Aws::String& GetObjectVersionId() const{ return m_objectVersionId; } /** *

The optional version ID to identify a specific version of the manifest * object.

*/ inline bool ObjectVersionIdHasBeenSet() const { return m_objectVersionIdHasBeenSet; } /** *

The optional version ID to identify a specific version of the manifest * object.

*/ inline void SetObjectVersionId(const Aws::String& value) { m_objectVersionIdHasBeenSet = true; m_objectVersionId = value; } /** *

The optional version ID to identify a specific version of the manifest * object.

*/ inline void SetObjectVersionId(Aws::String&& value) { m_objectVersionIdHasBeenSet = true; m_objectVersionId = std::move(value); } /** *

The optional version ID to identify a specific version of the manifest * object.

*/ inline void SetObjectVersionId(const char* value) { m_objectVersionIdHasBeenSet = true; m_objectVersionId.assign(value); } /** *

The optional version ID to identify a specific version of the manifest * object.

*/ inline JobManifestLocation& WithObjectVersionId(const Aws::String& value) { SetObjectVersionId(value); return *this;} /** *

The optional version ID to identify a specific version of the manifest * object.

*/ inline JobManifestLocation& WithObjectVersionId(Aws::String&& value) { SetObjectVersionId(std::move(value)); return *this;} /** *

The optional version ID to identify a specific version of the manifest * object.

*/ inline JobManifestLocation& WithObjectVersionId(const char* value) { SetObjectVersionId(value); return *this;} /** *

The ETag for the specified manifest object.

*/ inline const Aws::String& GetETag() const{ return m_eTag; } /** *

The ETag for the specified manifest object.

*/ inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; } /** *

The ETag for the specified manifest object.

*/ inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; } /** *

The ETag for the specified manifest object.

*/ inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); } /** *

The ETag for the specified manifest object.

*/ inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); } /** *

The ETag for the specified manifest object.

*/ inline JobManifestLocation& WithETag(const Aws::String& value) { SetETag(value); return *this;} /** *

The ETag for the specified manifest object.

*/ inline JobManifestLocation& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} /** *

The ETag for the specified manifest object.

*/ inline JobManifestLocation& WithETag(const char* value) { SetETag(value); return *this;} private: Aws::String m_objectArn; bool m_objectArnHasBeenSet = false; Aws::String m_objectVersionId; bool m_objectVersionIdHasBeenSet = false; Aws::String m_eTag; bool m_eTagHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws