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