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/iotthingsgraph/IoTThingsGraph_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/iotthingsgraph/model/UploadStatus.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24 } // namespace Json
25 } // namespace Utils
26 namespace IoTThingsGraph
27 {
28 namespace Model
29 {
30   class AWS_IOTTHINGSGRAPH_API GetUploadStatusResult
31   {
32   public:
33     GetUploadStatusResult();
34     GetUploadStatusResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35     GetUploadStatusResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36 
37 
38     /**
39      * <p>The ID of the upload.</p>
40      */
GetUploadId()41     inline const Aws::String& GetUploadId() const{ return m_uploadId; }
42 
43     /**
44      * <p>The ID of the upload.</p>
45      */
SetUploadId(const Aws::String & value)46     inline void SetUploadId(const Aws::String& value) { m_uploadId = value; }
47 
48     /**
49      * <p>The ID of the upload.</p>
50      */
SetUploadId(Aws::String && value)51     inline void SetUploadId(Aws::String&& value) { m_uploadId = std::move(value); }
52 
53     /**
54      * <p>The ID of the upload.</p>
55      */
SetUploadId(const char * value)56     inline void SetUploadId(const char* value) { m_uploadId.assign(value); }
57 
58     /**
59      * <p>The ID of the upload.</p>
60      */
WithUploadId(const Aws::String & value)61     inline GetUploadStatusResult& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;}
62 
63     /**
64      * <p>The ID of the upload.</p>
65      */
WithUploadId(Aws::String && value)66     inline GetUploadStatusResult& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;}
67 
68     /**
69      * <p>The ID of the upload.</p>
70      */
WithUploadId(const char * value)71     inline GetUploadStatusResult& WithUploadId(const char* value) { SetUploadId(value); return *this;}
72 
73 
74     /**
75      * <p>The status of the upload. The initial status is <code>IN_PROGRESS</code>. The
76      * response show all validation failures if the upload fails.</p>
77      */
GetUploadStatus()78     inline const UploadStatus& GetUploadStatus() const{ return m_uploadStatus; }
79 
80     /**
81      * <p>The status of the upload. The initial status is <code>IN_PROGRESS</code>. The
82      * response show all validation failures if the upload fails.</p>
83      */
SetUploadStatus(const UploadStatus & value)84     inline void SetUploadStatus(const UploadStatus& value) { m_uploadStatus = value; }
85 
86     /**
87      * <p>The status of the upload. The initial status is <code>IN_PROGRESS</code>. The
88      * response show all validation failures if the upload fails.</p>
89      */
SetUploadStatus(UploadStatus && value)90     inline void SetUploadStatus(UploadStatus&& value) { m_uploadStatus = std::move(value); }
91 
92     /**
93      * <p>The status of the upload. The initial status is <code>IN_PROGRESS</code>. The
94      * response show all validation failures if the upload fails.</p>
95      */
WithUploadStatus(const UploadStatus & value)96     inline GetUploadStatusResult& WithUploadStatus(const UploadStatus& value) { SetUploadStatus(value); return *this;}
97 
98     /**
99      * <p>The status of the upload. The initial status is <code>IN_PROGRESS</code>. The
100      * response show all validation failures if the upload fails.</p>
101      */
WithUploadStatus(UploadStatus && value)102     inline GetUploadStatusResult& WithUploadStatus(UploadStatus&& value) { SetUploadStatus(std::move(value)); return *this;}
103 
104 
105     /**
106      * <p>The ARN of the upload.</p>
107      */
GetNamespaceArn()108     inline const Aws::String& GetNamespaceArn() const{ return m_namespaceArn; }
109 
110     /**
111      * <p>The ARN of the upload.</p>
112      */
SetNamespaceArn(const Aws::String & value)113     inline void SetNamespaceArn(const Aws::String& value) { m_namespaceArn = value; }
114 
115     /**
116      * <p>The ARN of the upload.</p>
117      */
SetNamespaceArn(Aws::String && value)118     inline void SetNamespaceArn(Aws::String&& value) { m_namespaceArn = std::move(value); }
119 
120     /**
121      * <p>The ARN of the upload.</p>
122      */
SetNamespaceArn(const char * value)123     inline void SetNamespaceArn(const char* value) { m_namespaceArn.assign(value); }
124 
125     /**
126      * <p>The ARN of the upload.</p>
127      */
WithNamespaceArn(const Aws::String & value)128     inline GetUploadStatusResult& WithNamespaceArn(const Aws::String& value) { SetNamespaceArn(value); return *this;}
129 
130     /**
131      * <p>The ARN of the upload.</p>
132      */
WithNamespaceArn(Aws::String && value)133     inline GetUploadStatusResult& WithNamespaceArn(Aws::String&& value) { SetNamespaceArn(std::move(value)); return *this;}
134 
135     /**
136      * <p>The ARN of the upload.</p>
137      */
WithNamespaceArn(const char * value)138     inline GetUploadStatusResult& WithNamespaceArn(const char* value) { SetNamespaceArn(value); return *this;}
139 
140 
141     /**
142      * <p>The name of the upload's namespace.</p>
143      */
GetNamespaceName()144     inline const Aws::String& GetNamespaceName() const{ return m_namespaceName; }
145 
146     /**
147      * <p>The name of the upload's namespace.</p>
148      */
SetNamespaceName(const Aws::String & value)149     inline void SetNamespaceName(const Aws::String& value) { m_namespaceName = value; }
150 
151     /**
152      * <p>The name of the upload's namespace.</p>
153      */
SetNamespaceName(Aws::String && value)154     inline void SetNamespaceName(Aws::String&& value) { m_namespaceName = std::move(value); }
155 
156     /**
157      * <p>The name of the upload's namespace.</p>
158      */
SetNamespaceName(const char * value)159     inline void SetNamespaceName(const char* value) { m_namespaceName.assign(value); }
160 
161     /**
162      * <p>The name of the upload's namespace.</p>
163      */
WithNamespaceName(const Aws::String & value)164     inline GetUploadStatusResult& WithNamespaceName(const Aws::String& value) { SetNamespaceName(value); return *this;}
165 
166     /**
167      * <p>The name of the upload's namespace.</p>
168      */
WithNamespaceName(Aws::String && value)169     inline GetUploadStatusResult& WithNamespaceName(Aws::String&& value) { SetNamespaceName(std::move(value)); return *this;}
170 
171     /**
172      * <p>The name of the upload's namespace.</p>
173      */
WithNamespaceName(const char * value)174     inline GetUploadStatusResult& WithNamespaceName(const char* value) { SetNamespaceName(value); return *this;}
175 
176 
177     /**
178      * <p>The version of the user's namespace. Defaults to the latest version of the
179      * user's namespace.</p>
180      */
GetNamespaceVersion()181     inline long long GetNamespaceVersion() const{ return m_namespaceVersion; }
182 
183     /**
184      * <p>The version of the user's namespace. Defaults to the latest version of the
185      * user's namespace.</p>
186      */
SetNamespaceVersion(long long value)187     inline void SetNamespaceVersion(long long value) { m_namespaceVersion = value; }
188 
189     /**
190      * <p>The version of the user's namespace. Defaults to the latest version of the
191      * user's namespace.</p>
192      */
WithNamespaceVersion(long long value)193     inline GetUploadStatusResult& WithNamespaceVersion(long long value) { SetNamespaceVersion(value); return *this;}
194 
195 
196     /**
197      * <p>The reason for an upload failure.</p>
198      */
GetFailureReason()199     inline const Aws::Vector<Aws::String>& GetFailureReason() const{ return m_failureReason; }
200 
201     /**
202      * <p>The reason for an upload failure.</p>
203      */
SetFailureReason(const Aws::Vector<Aws::String> & value)204     inline void SetFailureReason(const Aws::Vector<Aws::String>& value) { m_failureReason = value; }
205 
206     /**
207      * <p>The reason for an upload failure.</p>
208      */
SetFailureReason(Aws::Vector<Aws::String> && value)209     inline void SetFailureReason(Aws::Vector<Aws::String>&& value) { m_failureReason = std::move(value); }
210 
211     /**
212      * <p>The reason for an upload failure.</p>
213      */
WithFailureReason(const Aws::Vector<Aws::String> & value)214     inline GetUploadStatusResult& WithFailureReason(const Aws::Vector<Aws::String>& value) { SetFailureReason(value); return *this;}
215 
216     /**
217      * <p>The reason for an upload failure.</p>
218      */
WithFailureReason(Aws::Vector<Aws::String> && value)219     inline GetUploadStatusResult& WithFailureReason(Aws::Vector<Aws::String>&& value) { SetFailureReason(std::move(value)); return *this;}
220 
221     /**
222      * <p>The reason for an upload failure.</p>
223      */
AddFailureReason(const Aws::String & value)224     inline GetUploadStatusResult& AddFailureReason(const Aws::String& value) { m_failureReason.push_back(value); return *this; }
225 
226     /**
227      * <p>The reason for an upload failure.</p>
228      */
AddFailureReason(Aws::String && value)229     inline GetUploadStatusResult& AddFailureReason(Aws::String&& value) { m_failureReason.push_back(std::move(value)); return *this; }
230 
231     /**
232      * <p>The reason for an upload failure.</p>
233      */
AddFailureReason(const char * value)234     inline GetUploadStatusResult& AddFailureReason(const char* value) { m_failureReason.push_back(value); return *this; }
235 
236 
237     /**
238      * <p>The date at which the upload was created.</p>
239      */
GetCreatedDate()240     inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
241 
242     /**
243      * <p>The date at which the upload was created.</p>
244      */
SetCreatedDate(const Aws::Utils::DateTime & value)245     inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; }
246 
247     /**
248      * <p>The date at which the upload was created.</p>
249      */
SetCreatedDate(Aws::Utils::DateTime && value)250     inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); }
251 
252     /**
253      * <p>The date at which the upload was created.</p>
254      */
WithCreatedDate(const Aws::Utils::DateTime & value)255     inline GetUploadStatusResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
256 
257     /**
258      * <p>The date at which the upload was created.</p>
259      */
WithCreatedDate(Aws::Utils::DateTime && value)260     inline GetUploadStatusResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
261 
262   private:
263 
264     Aws::String m_uploadId;
265 
266     UploadStatus m_uploadStatus;
267 
268     Aws::String m_namespaceArn;
269 
270     Aws::String m_namespaceName;
271 
272     long long m_namespaceVersion;
273 
274     Aws::Vector<Aws::String> m_failureReason;
275 
276     Aws::Utils::DateTime m_createdDate;
277   };
278 
279 } // namespace Model
280 } // namespace IoTThingsGraph
281 } // namespace Aws
282