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/glacier/Glacier_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 Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace Glacier
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Contains the Amazon S3 Glacier response to your request.</p><p><h3>See
28    * Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/glacier-2012-06-01/DescribeVaultOutput">AWS
30    * API Reference</a></p>
31    */
32   class AWS_GLACIER_API DescribeVaultOutput
33   {
34   public:
35     DescribeVaultOutput();
36     DescribeVaultOutput(Aws::Utils::Json::JsonView jsonValue);
37     DescribeVaultOutput& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The Amazon Resource Name (ARN) of the vault.</p>
43      */
GetVaultARN()44     inline const Aws::String& GetVaultARN() const{ return m_vaultARN; }
45 
46     /**
47      * <p>The Amazon Resource Name (ARN) of the vault.</p>
48      */
VaultARNHasBeenSet()49     inline bool VaultARNHasBeenSet() const { return m_vaultARNHasBeenSet; }
50 
51     /**
52      * <p>The Amazon Resource Name (ARN) of the vault.</p>
53      */
SetVaultARN(const Aws::String & value)54     inline void SetVaultARN(const Aws::String& value) { m_vaultARNHasBeenSet = true; m_vaultARN = value; }
55 
56     /**
57      * <p>The Amazon Resource Name (ARN) of the vault.</p>
58      */
SetVaultARN(Aws::String && value)59     inline void SetVaultARN(Aws::String&& value) { m_vaultARNHasBeenSet = true; m_vaultARN = std::move(value); }
60 
61     /**
62      * <p>The Amazon Resource Name (ARN) of the vault.</p>
63      */
SetVaultARN(const char * value)64     inline void SetVaultARN(const char* value) { m_vaultARNHasBeenSet = true; m_vaultARN.assign(value); }
65 
66     /**
67      * <p>The Amazon Resource Name (ARN) of the vault.</p>
68      */
WithVaultARN(const Aws::String & value)69     inline DescribeVaultOutput& WithVaultARN(const Aws::String& value) { SetVaultARN(value); return *this;}
70 
71     /**
72      * <p>The Amazon Resource Name (ARN) of the vault.</p>
73      */
WithVaultARN(Aws::String && value)74     inline DescribeVaultOutput& WithVaultARN(Aws::String&& value) { SetVaultARN(std::move(value)); return *this;}
75 
76     /**
77      * <p>The Amazon Resource Name (ARN) of the vault.</p>
78      */
WithVaultARN(const char * value)79     inline DescribeVaultOutput& WithVaultARN(const char* value) { SetVaultARN(value); return *this;}
80 
81 
82     /**
83      * <p>The name of the vault.</p>
84      */
GetVaultName()85     inline const Aws::String& GetVaultName() const{ return m_vaultName; }
86 
87     /**
88      * <p>The name of the vault.</p>
89      */
VaultNameHasBeenSet()90     inline bool VaultNameHasBeenSet() const { return m_vaultNameHasBeenSet; }
91 
92     /**
93      * <p>The name of the vault.</p>
94      */
SetVaultName(const Aws::String & value)95     inline void SetVaultName(const Aws::String& value) { m_vaultNameHasBeenSet = true; m_vaultName = value; }
96 
97     /**
98      * <p>The name of the vault.</p>
99      */
SetVaultName(Aws::String && value)100     inline void SetVaultName(Aws::String&& value) { m_vaultNameHasBeenSet = true; m_vaultName = std::move(value); }
101 
102     /**
103      * <p>The name of the vault.</p>
104      */
SetVaultName(const char * value)105     inline void SetVaultName(const char* value) { m_vaultNameHasBeenSet = true; m_vaultName.assign(value); }
106 
107     /**
108      * <p>The name of the vault.</p>
109      */
WithVaultName(const Aws::String & value)110     inline DescribeVaultOutput& WithVaultName(const Aws::String& value) { SetVaultName(value); return *this;}
111 
112     /**
113      * <p>The name of the vault.</p>
114      */
WithVaultName(Aws::String && value)115     inline DescribeVaultOutput& WithVaultName(Aws::String&& value) { SetVaultName(std::move(value)); return *this;}
116 
117     /**
118      * <p>The name of the vault.</p>
119      */
WithVaultName(const char * value)120     inline DescribeVaultOutput& WithVaultName(const char* value) { SetVaultName(value); return *this;}
121 
122 
123     /**
124      * <p>The Universal Coordinated Time (UTC) date when the vault was created. This
125      * value should be a string in the ISO 8601 date format, for example
126      * <code>2012-03-20T17:03:43.221Z</code>.</p>
127      */
GetCreationDate()128     inline const Aws::String& GetCreationDate() const{ return m_creationDate; }
129 
130     /**
131      * <p>The Universal Coordinated Time (UTC) date when the vault was created. This
132      * value should be a string in the ISO 8601 date format, for example
133      * <code>2012-03-20T17:03:43.221Z</code>.</p>
134      */
CreationDateHasBeenSet()135     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
136 
137     /**
138      * <p>The Universal Coordinated Time (UTC) date when the vault was created. This
139      * value should be a string in the ISO 8601 date format, for example
140      * <code>2012-03-20T17:03:43.221Z</code>.</p>
141      */
SetCreationDate(const Aws::String & value)142     inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
143 
144     /**
145      * <p>The Universal Coordinated Time (UTC) date when the vault was created. This
146      * value should be a string in the ISO 8601 date format, for example
147      * <code>2012-03-20T17:03:43.221Z</code>.</p>
148      */
SetCreationDate(Aws::String && value)149     inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
150 
151     /**
152      * <p>The Universal Coordinated Time (UTC) date when the vault was created. This
153      * value should be a string in the ISO 8601 date format, for example
154      * <code>2012-03-20T17:03:43.221Z</code>.</p>
155      */
SetCreationDate(const char * value)156     inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); }
157 
158     /**
159      * <p>The Universal Coordinated Time (UTC) date when the vault was created. This
160      * value should be a string in the ISO 8601 date format, for example
161      * <code>2012-03-20T17:03:43.221Z</code>.</p>
162      */
WithCreationDate(const Aws::String & value)163     inline DescribeVaultOutput& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;}
164 
165     /**
166      * <p>The Universal Coordinated Time (UTC) date when the vault was created. This
167      * value should be a string in the ISO 8601 date format, for example
168      * <code>2012-03-20T17:03:43.221Z</code>.</p>
169      */
WithCreationDate(Aws::String && value)170     inline DescribeVaultOutput& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;}
171 
172     /**
173      * <p>The Universal Coordinated Time (UTC) date when the vault was created. This
174      * value should be a string in the ISO 8601 date format, for example
175      * <code>2012-03-20T17:03:43.221Z</code>.</p>
176      */
WithCreationDate(const char * value)177     inline DescribeVaultOutput& WithCreationDate(const char* value) { SetCreationDate(value); return *this;}
178 
179 
180     /**
181      * <p>The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed
182      * the last vault inventory. This value should be a string in the ISO 8601 date
183      * format, for example <code>2012-03-20T17:03:43.221Z</code>.</p>
184      */
GetLastInventoryDate()185     inline const Aws::String& GetLastInventoryDate() const{ return m_lastInventoryDate; }
186 
187     /**
188      * <p>The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed
189      * the last vault inventory. This value should be a string in the ISO 8601 date
190      * format, for example <code>2012-03-20T17:03:43.221Z</code>.</p>
191      */
LastInventoryDateHasBeenSet()192     inline bool LastInventoryDateHasBeenSet() const { return m_lastInventoryDateHasBeenSet; }
193 
194     /**
195      * <p>The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed
196      * the last vault inventory. This value should be a string in the ISO 8601 date
197      * format, for example <code>2012-03-20T17:03:43.221Z</code>.</p>
198      */
SetLastInventoryDate(const Aws::String & value)199     inline void SetLastInventoryDate(const Aws::String& value) { m_lastInventoryDateHasBeenSet = true; m_lastInventoryDate = value; }
200 
201     /**
202      * <p>The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed
203      * the last vault inventory. This value should be a string in the ISO 8601 date
204      * format, for example <code>2012-03-20T17:03:43.221Z</code>.</p>
205      */
SetLastInventoryDate(Aws::String && value)206     inline void SetLastInventoryDate(Aws::String&& value) { m_lastInventoryDateHasBeenSet = true; m_lastInventoryDate = std::move(value); }
207 
208     /**
209      * <p>The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed
210      * the last vault inventory. This value should be a string in the ISO 8601 date
211      * format, for example <code>2012-03-20T17:03:43.221Z</code>.</p>
212      */
SetLastInventoryDate(const char * value)213     inline void SetLastInventoryDate(const char* value) { m_lastInventoryDateHasBeenSet = true; m_lastInventoryDate.assign(value); }
214 
215     /**
216      * <p>The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed
217      * the last vault inventory. This value should be a string in the ISO 8601 date
218      * format, for example <code>2012-03-20T17:03:43.221Z</code>.</p>
219      */
WithLastInventoryDate(const Aws::String & value)220     inline DescribeVaultOutput& WithLastInventoryDate(const Aws::String& value) { SetLastInventoryDate(value); return *this;}
221 
222     /**
223      * <p>The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed
224      * the last vault inventory. This value should be a string in the ISO 8601 date
225      * format, for example <code>2012-03-20T17:03:43.221Z</code>.</p>
226      */
WithLastInventoryDate(Aws::String && value)227     inline DescribeVaultOutput& WithLastInventoryDate(Aws::String&& value) { SetLastInventoryDate(std::move(value)); return *this;}
228 
229     /**
230      * <p>The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed
231      * the last vault inventory. This value should be a string in the ISO 8601 date
232      * format, for example <code>2012-03-20T17:03:43.221Z</code>.</p>
233      */
WithLastInventoryDate(const char * value)234     inline DescribeVaultOutput& WithLastInventoryDate(const char* value) { SetLastInventoryDate(value); return *this;}
235 
236 
237     /**
238      * <p>The number of archives in the vault as of the last inventory date. This field
239      * will return <code>null</code> if an inventory has not yet run on the vault, for
240      * example if you just created the vault.</p>
241      */
GetNumberOfArchives()242     inline long long GetNumberOfArchives() const{ return m_numberOfArchives; }
243 
244     /**
245      * <p>The number of archives in the vault as of the last inventory date. This field
246      * will return <code>null</code> if an inventory has not yet run on the vault, for
247      * example if you just created the vault.</p>
248      */
NumberOfArchivesHasBeenSet()249     inline bool NumberOfArchivesHasBeenSet() const { return m_numberOfArchivesHasBeenSet; }
250 
251     /**
252      * <p>The number of archives in the vault as of the last inventory date. This field
253      * will return <code>null</code> if an inventory has not yet run on the vault, for
254      * example if you just created the vault.</p>
255      */
SetNumberOfArchives(long long value)256     inline void SetNumberOfArchives(long long value) { m_numberOfArchivesHasBeenSet = true; m_numberOfArchives = value; }
257 
258     /**
259      * <p>The number of archives in the vault as of the last inventory date. This field
260      * will return <code>null</code> if an inventory has not yet run on the vault, for
261      * example if you just created the vault.</p>
262      */
WithNumberOfArchives(long long value)263     inline DescribeVaultOutput& WithNumberOfArchives(long long value) { SetNumberOfArchives(value); return *this;}
264 
265 
266     /**
267      * <p>Total size, in bytes, of the archives in the vault as of the last inventory
268      * date. This field will return null if an inventory has not yet run on the vault,
269      * for example if you just created the vault.</p>
270      */
GetSizeInBytes()271     inline long long GetSizeInBytes() const{ return m_sizeInBytes; }
272 
273     /**
274      * <p>Total size, in bytes, of the archives in the vault as of the last inventory
275      * date. This field will return null if an inventory has not yet run on the vault,
276      * for example if you just created the vault.</p>
277      */
SizeInBytesHasBeenSet()278     inline bool SizeInBytesHasBeenSet() const { return m_sizeInBytesHasBeenSet; }
279 
280     /**
281      * <p>Total size, in bytes, of the archives in the vault as of the last inventory
282      * date. This field will return null if an inventory has not yet run on the vault,
283      * for example if you just created the vault.</p>
284      */
SetSizeInBytes(long long value)285     inline void SetSizeInBytes(long long value) { m_sizeInBytesHasBeenSet = true; m_sizeInBytes = value; }
286 
287     /**
288      * <p>Total size, in bytes, of the archives in the vault as of the last inventory
289      * date. This field will return null if an inventory has not yet run on the vault,
290      * for example if you just created the vault.</p>
291      */
WithSizeInBytes(long long value)292     inline DescribeVaultOutput& WithSizeInBytes(long long value) { SetSizeInBytes(value); return *this;}
293 
294   private:
295 
296     Aws::String m_vaultARN;
297     bool m_vaultARNHasBeenSet;
298 
299     Aws::String m_vaultName;
300     bool m_vaultNameHasBeenSet;
301 
302     Aws::String m_creationDate;
303     bool m_creationDateHasBeenSet;
304 
305     Aws::String m_lastInventoryDate;
306     bool m_lastInventoryDateHasBeenSet;
307 
308     long long m_numberOfArchives;
309     bool m_numberOfArchivesHasBeenSet;
310 
311     long long m_sizeInBytes;
312     bool m_sizeInBytesHasBeenSet;
313   };
314 
315 } // namespace Model
316 } // namespace Glacier
317 } // namespace Aws
318