1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/appstream/model/ResourceError.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8
9 #include <utility>
10
11 using namespace Aws::Utils::Json;
12 using namespace Aws::Utils;
13
14 namespace Aws
15 {
16 namespace AppStream
17 {
18 namespace Model
19 {
20
ResourceError()21 ResourceError::ResourceError() :
22 m_errorCode(FleetErrorCode::NOT_SET),
23 m_errorCodeHasBeenSet(false),
24 m_errorMessageHasBeenSet(false),
25 m_errorTimestampHasBeenSet(false)
26 {
27 }
28
ResourceError(JsonView jsonValue)29 ResourceError::ResourceError(JsonView jsonValue) :
30 m_errorCode(FleetErrorCode::NOT_SET),
31 m_errorCodeHasBeenSet(false),
32 m_errorMessageHasBeenSet(false),
33 m_errorTimestampHasBeenSet(false)
34 {
35 *this = jsonValue;
36 }
37
operator =(JsonView jsonValue)38 ResourceError& ResourceError::operator =(JsonView jsonValue)
39 {
40 if(jsonValue.ValueExists("ErrorCode"))
41 {
42 m_errorCode = FleetErrorCodeMapper::GetFleetErrorCodeForName(jsonValue.GetString("ErrorCode"));
43
44 m_errorCodeHasBeenSet = true;
45 }
46
47 if(jsonValue.ValueExists("ErrorMessage"))
48 {
49 m_errorMessage = jsonValue.GetString("ErrorMessage");
50
51 m_errorMessageHasBeenSet = true;
52 }
53
54 if(jsonValue.ValueExists("ErrorTimestamp"))
55 {
56 m_errorTimestamp = jsonValue.GetDouble("ErrorTimestamp");
57
58 m_errorTimestampHasBeenSet = true;
59 }
60
61 return *this;
62 }
63
Jsonize() const64 JsonValue ResourceError::Jsonize() const
65 {
66 JsonValue payload;
67
68 if(m_errorCodeHasBeenSet)
69 {
70 payload.WithString("ErrorCode", FleetErrorCodeMapper::GetNameForFleetErrorCode(m_errorCode));
71 }
72
73 if(m_errorMessageHasBeenSet)
74 {
75 payload.WithString("ErrorMessage", m_errorMessage);
76
77 }
78
79 if(m_errorTimestampHasBeenSet)
80 {
81 payload.WithDouble("ErrorTimestamp", m_errorTimestamp.SecondsWithMSPrecision());
82 }
83
84 return payload;
85 }
86
87 } // namespace Model
88 } // namespace AppStream
89 } // namespace Aws
90