1/*
2* Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3*
4* Licensed under the Apache License, Version 2.0 (the "License").
5* You may not use this file except in compliance with the License.
6* A copy of the License is located at
7*
8* http://aws.amazon.com/apache2.0
9*
10* or in the "license" file accompanying this file. This file is distributed
11* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12* express or implied. See the License for the specific language governing
13* permissions and limitations under the License.
14*/
15
16#pragma once
17#include <aws/s3/S3_EXPORTS.h>
18#include <aws/core/utils/memory/stl/AWSString.h>
19#include <aws/core/utils/DateTime.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Xml
27{
28 class XmlNode;
29} // namespace Xml
30} // namespace Utils
31namespace S3
32{
33namespace Model
34{
35
36 /**
37 * <p>Container for all response elements.</p><p><h3>See Also:</h3> <a
38 * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectResult">AWS
39 * API Reference</a></p>
40 */
41 class AWS_S3_API CopyObjectResultDetails
42 {
43 public:
44 CopyObjectResultDetails();
45 CopyObjectResultDetails(const Aws::Utils::Xml::XmlNode& xmlNode);
46 CopyObjectResultDetails& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
47
48 void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
49
50
51 /**
52 * <p>Returns the ETag of the new object. The ETag reflects only changes to the
53 * contents of an object, not its metadata. The source and destination ETag is
54 * identical for a successfully copied object.</p>
55 */
56 inline const Aws::String& GetETag() const{ return m_eTag; }
57
58 /**
59 * <p>Returns the ETag of the new object. The ETag reflects only changes to the
60 * contents of an object, not its metadata. The source and destination ETag is
61 * identical for a successfully copied object.</p>
62 */
63 inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; }
64
65 /**
66 * <p>Returns the ETag of the new object. The ETag reflects only changes to the
67 * contents of an object, not its metadata. The source and destination ETag is
68 * identical for a successfully copied object.</p>
69 */
70 inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; }
71
72 /**
73 * <p>Returns the ETag of the new object. The ETag reflects only changes to the
74 * contents of an object, not its metadata. The source and destination ETag is
75 * identical for a successfully copied object.</p>
76 */
77 inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); }
78
79 /**
80 * <p>Returns the ETag of the new object. The ETag reflects only changes to the
81 * contents of an object, not its metadata. The source and destination ETag is
82 * identical for a successfully copied object.</p>
83 */
84 inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); }
85
86 /**
87 * <p>Returns the ETag of the new object. The ETag reflects only changes to the
88 * contents of an object, not its metadata. The source and destination ETag is
89 * identical for a successfully copied object.</p>
90 */
91 inline CopyObjectResultDetails& WithETag(const Aws::String& value) { SetETag(value); return *this;}
92
93 /**
94 * <p>Returns the ETag of the new object. The ETag reflects only changes to the
95 * contents of an object, not its metadata. The source and destination ETag is
96 * identical for a successfully copied object.</p>
97 */
98 inline CopyObjectResultDetails& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;}
99
100 /**
101 * <p>Returns the ETag of the new object. The ETag reflects only changes to the
102 * contents of an object, not its metadata. The source and destination ETag is
103 * identical for a successfully copied object.</p>
104 */
105 inline CopyObjectResultDetails& WithETag(const char* value) { SetETag(value); return *this;}
106
107
108 /**
109 * <p>Returns the date that the object was last modified.</p>
110 */
111 inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; }
112
113 /**
114 * <p>Returns the date that the object was last modified.</p>
115 */
116 inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; }
117
118 /**
119 * <p>Returns the date that the object was last modified.</p>
120 */
121 inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; }
122
123 /**
124 * <p>Returns the date that the object was last modified.</p>
125 */
126 inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); }
127
128 /**
129 * <p>Returns the date that the object was last modified.</p>
130 */
131 inline CopyObjectResultDetails& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;}
132
133 /**
134 * <p>Returns the date that the object was last modified.</p>
135 */
136 inline CopyObjectResultDetails& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;}
137
138 private:
139
140 Aws::String m_eTag;
141 bool m_eTagHasBeenSet;
142
143 Aws::Utils::DateTime m_lastModified;
144 bool m_lastModifiedHasBeenSet;
145 };
146
147} // namespace Model
148} // namespace S3
149} // namespace Aws
150