1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/batch/model/EFSVolumeConfiguration.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 Batch
17 {
18 namespace Model
19 {
20
EFSVolumeConfiguration()21 EFSVolumeConfiguration::EFSVolumeConfiguration() :
22 m_fileSystemIdHasBeenSet(false),
23 m_rootDirectoryHasBeenSet(false),
24 m_transitEncryption(EFSTransitEncryption::NOT_SET),
25 m_transitEncryptionHasBeenSet(false),
26 m_transitEncryptionPort(0),
27 m_transitEncryptionPortHasBeenSet(false),
28 m_authorizationConfigHasBeenSet(false)
29 {
30 }
31
EFSVolumeConfiguration(JsonView jsonValue)32 EFSVolumeConfiguration::EFSVolumeConfiguration(JsonView jsonValue) :
33 m_fileSystemIdHasBeenSet(false),
34 m_rootDirectoryHasBeenSet(false),
35 m_transitEncryption(EFSTransitEncryption::NOT_SET),
36 m_transitEncryptionHasBeenSet(false),
37 m_transitEncryptionPort(0),
38 m_transitEncryptionPortHasBeenSet(false),
39 m_authorizationConfigHasBeenSet(false)
40 {
41 *this = jsonValue;
42 }
43
operator =(JsonView jsonValue)44 EFSVolumeConfiguration& EFSVolumeConfiguration::operator =(JsonView jsonValue)
45 {
46 if(jsonValue.ValueExists("fileSystemId"))
47 {
48 m_fileSystemId = jsonValue.GetString("fileSystemId");
49
50 m_fileSystemIdHasBeenSet = true;
51 }
52
53 if(jsonValue.ValueExists("rootDirectory"))
54 {
55 m_rootDirectory = jsonValue.GetString("rootDirectory");
56
57 m_rootDirectoryHasBeenSet = true;
58 }
59
60 if(jsonValue.ValueExists("transitEncryption"))
61 {
62 m_transitEncryption = EFSTransitEncryptionMapper::GetEFSTransitEncryptionForName(jsonValue.GetString("transitEncryption"));
63
64 m_transitEncryptionHasBeenSet = true;
65 }
66
67 if(jsonValue.ValueExists("transitEncryptionPort"))
68 {
69 m_transitEncryptionPort = jsonValue.GetInteger("transitEncryptionPort");
70
71 m_transitEncryptionPortHasBeenSet = true;
72 }
73
74 if(jsonValue.ValueExists("authorizationConfig"))
75 {
76 m_authorizationConfig = jsonValue.GetObject("authorizationConfig");
77
78 m_authorizationConfigHasBeenSet = true;
79 }
80
81 return *this;
82 }
83
Jsonize() const84 JsonValue EFSVolumeConfiguration::Jsonize() const
85 {
86 JsonValue payload;
87
88 if(m_fileSystemIdHasBeenSet)
89 {
90 payload.WithString("fileSystemId", m_fileSystemId);
91
92 }
93
94 if(m_rootDirectoryHasBeenSet)
95 {
96 payload.WithString("rootDirectory", m_rootDirectory);
97
98 }
99
100 if(m_transitEncryptionHasBeenSet)
101 {
102 payload.WithString("transitEncryption", EFSTransitEncryptionMapper::GetNameForEFSTransitEncryption(m_transitEncryption));
103 }
104
105 if(m_transitEncryptionPortHasBeenSet)
106 {
107 payload.WithInteger("transitEncryptionPort", m_transitEncryptionPort);
108
109 }
110
111 if(m_authorizationConfigHasBeenSet)
112 {
113 payload.WithObject("authorizationConfig", m_authorizationConfig.Jsonize());
114
115 }
116
117 return payload;
118 }
119
120 } // namespace Model
121 } // namespace Batch
122 } // namespace Aws
123