1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/s3-crt/S3Crt_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Xml
16 {
17   class XmlNode;
18 } // namespace Xml
19 } // namespace Utils
20 namespace S3Crt
21 {
22 namespace Model
23 {
24 
25   /**
26    * <p>Information about the deleted object.</p><p><h3>See Also:</h3>   <a
27    * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletedObject">AWS
28    * API Reference</a></p>
29    */
30   class AWS_S3CRT_API DeletedObject
31   {
32   public:
33     DeletedObject();
34     DeletedObject(const Aws::Utils::Xml::XmlNode& xmlNode);
35     DeletedObject& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
36 
37     void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
38 
39 
40     /**
41      * <p>The name of the deleted object.</p>
42      */
GetKey()43     inline const Aws::String& GetKey() const{ return m_key; }
44 
45     /**
46      * <p>The name of the deleted object.</p>
47      */
KeyHasBeenSet()48     inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
49 
50     /**
51      * <p>The name of the deleted object.</p>
52      */
SetKey(const Aws::String & value)53     inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
54 
55     /**
56      * <p>The name of the deleted object.</p>
57      */
SetKey(Aws::String && value)58     inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
59 
60     /**
61      * <p>The name of the deleted object.</p>
62      */
SetKey(const char * value)63     inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
64 
65     /**
66      * <p>The name of the deleted object.</p>
67      */
WithKey(const Aws::String & value)68     inline DeletedObject& WithKey(const Aws::String& value) { SetKey(value); return *this;}
69 
70     /**
71      * <p>The name of the deleted object.</p>
72      */
WithKey(Aws::String && value)73     inline DeletedObject& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
74 
75     /**
76      * <p>The name of the deleted object.</p>
77      */
WithKey(const char * value)78     inline DeletedObject& WithKey(const char* value) { SetKey(value); return *this;}
79 
80 
81     /**
82      * <p>The version ID of the deleted object.</p>
83      */
GetVersionId()84     inline const Aws::String& GetVersionId() const{ return m_versionId; }
85 
86     /**
87      * <p>The version ID of the deleted object.</p>
88      */
VersionIdHasBeenSet()89     inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
90 
91     /**
92      * <p>The version ID of the deleted object.</p>
93      */
SetVersionId(const Aws::String & value)94     inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; }
95 
96     /**
97      * <p>The version ID of the deleted object.</p>
98      */
SetVersionId(Aws::String && value)99     inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); }
100 
101     /**
102      * <p>The version ID of the deleted object.</p>
103      */
SetVersionId(const char * value)104     inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); }
105 
106     /**
107      * <p>The version ID of the deleted object.</p>
108      */
WithVersionId(const Aws::String & value)109     inline DeletedObject& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
110 
111     /**
112      * <p>The version ID of the deleted object.</p>
113      */
WithVersionId(Aws::String && value)114     inline DeletedObject& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
115 
116     /**
117      * <p>The version ID of the deleted object.</p>
118      */
WithVersionId(const char * value)119     inline DeletedObject& WithVersionId(const char* value) { SetVersionId(value); return *this;}
120 
121 
122     /**
123      * <p>Specifies whether the versioned object that was permanently deleted was
124      * (true) or was not (false) a delete marker. In a simple DELETE, this header
125      * indicates whether (true) or not (false) a delete marker was created.</p>
126      */
GetDeleteMarker()127     inline bool GetDeleteMarker() const{ return m_deleteMarker; }
128 
129     /**
130      * <p>Specifies whether the versioned object that was permanently deleted was
131      * (true) or was not (false) a delete marker. In a simple DELETE, this header
132      * indicates whether (true) or not (false) a delete marker was created.</p>
133      */
DeleteMarkerHasBeenSet()134     inline bool DeleteMarkerHasBeenSet() const { return m_deleteMarkerHasBeenSet; }
135 
136     /**
137      * <p>Specifies whether the versioned object that was permanently deleted was
138      * (true) or was not (false) a delete marker. In a simple DELETE, this header
139      * indicates whether (true) or not (false) a delete marker was created.</p>
140      */
SetDeleteMarker(bool value)141     inline void SetDeleteMarker(bool value) { m_deleteMarkerHasBeenSet = true; m_deleteMarker = value; }
142 
143     /**
144      * <p>Specifies whether the versioned object that was permanently deleted was
145      * (true) or was not (false) a delete marker. In a simple DELETE, this header
146      * indicates whether (true) or not (false) a delete marker was created.</p>
147      */
WithDeleteMarker(bool value)148     inline DeletedObject& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;}
149 
150 
151     /**
152      * <p>The version ID of the delete marker created as a result of the DELETE
153      * operation. If you delete a specific object version, the value returned by this
154      * header is the version ID of the object version deleted.</p>
155      */
GetDeleteMarkerVersionId()156     inline const Aws::String& GetDeleteMarkerVersionId() const{ return m_deleteMarkerVersionId; }
157 
158     /**
159      * <p>The version ID of the delete marker created as a result of the DELETE
160      * operation. If you delete a specific object version, the value returned by this
161      * header is the version ID of the object version deleted.</p>
162      */
DeleteMarkerVersionIdHasBeenSet()163     inline bool DeleteMarkerVersionIdHasBeenSet() const { return m_deleteMarkerVersionIdHasBeenSet; }
164 
165     /**
166      * <p>The version ID of the delete marker created as a result of the DELETE
167      * operation. If you delete a specific object version, the value returned by this
168      * header is the version ID of the object version deleted.</p>
169      */
SetDeleteMarkerVersionId(const Aws::String & value)170     inline void SetDeleteMarkerVersionId(const Aws::String& value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId = value; }
171 
172     /**
173      * <p>The version ID of the delete marker created as a result of the DELETE
174      * operation. If you delete a specific object version, the value returned by this
175      * header is the version ID of the object version deleted.</p>
176      */
SetDeleteMarkerVersionId(Aws::String && value)177     inline void SetDeleteMarkerVersionId(Aws::String&& value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId = std::move(value); }
178 
179     /**
180      * <p>The version ID of the delete marker created as a result of the DELETE
181      * operation. If you delete a specific object version, the value returned by this
182      * header is the version ID of the object version deleted.</p>
183      */
SetDeleteMarkerVersionId(const char * value)184     inline void SetDeleteMarkerVersionId(const char* value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId.assign(value); }
185 
186     /**
187      * <p>The version ID of the delete marker created as a result of the DELETE
188      * operation. If you delete a specific object version, the value returned by this
189      * header is the version ID of the object version deleted.</p>
190      */
WithDeleteMarkerVersionId(const Aws::String & value)191     inline DeletedObject& WithDeleteMarkerVersionId(const Aws::String& value) { SetDeleteMarkerVersionId(value); return *this;}
192 
193     /**
194      * <p>The version ID of the delete marker created as a result of the DELETE
195      * operation. If you delete a specific object version, the value returned by this
196      * header is the version ID of the object version deleted.</p>
197      */
WithDeleteMarkerVersionId(Aws::String && value)198     inline DeletedObject& WithDeleteMarkerVersionId(Aws::String&& value) { SetDeleteMarkerVersionId(std::move(value)); return *this;}
199 
200     /**
201      * <p>The version ID of the delete marker created as a result of the DELETE
202      * operation. If you delete a specific object version, the value returned by this
203      * header is the version ID of the object version deleted.</p>
204      */
WithDeleteMarkerVersionId(const char * value)205     inline DeletedObject& WithDeleteMarkerVersionId(const char* value) { SetDeleteMarkerVersionId(value); return *this;}
206 
207   private:
208 
209     Aws::String m_key;
210     bool m_keyHasBeenSet;
211 
212     Aws::String m_versionId;
213     bool m_versionIdHasBeenSet;
214 
215     bool m_deleteMarker;
216     bool m_deleteMarkerHasBeenSet;
217 
218     Aws::String m_deleteMarkerVersionId;
219     bool m_deleteMarkerVersionIdHasBeenSet;
220   };
221 
222 } // namespace Model
223 } // namespace S3Crt
224 } // namespace Aws
225