/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include #include #include #include #include using namespace Aws::EFS::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; using namespace Aws; CreateFileSystemResult::CreateFileSystemResult() : m_lifeCycleState(LifeCycleState::NOT_SET), m_numberOfMountTargets(0), m_performanceMode(PerformanceMode::NOT_SET), m_encrypted(false), m_throughputMode(ThroughputMode::NOT_SET), m_provisionedThroughputInMibps(0.0) { } CreateFileSystemResult::CreateFileSystemResult(const Aws::AmazonWebServiceResult& result) : m_lifeCycleState(LifeCycleState::NOT_SET), m_numberOfMountTargets(0), m_performanceMode(PerformanceMode::NOT_SET), m_encrypted(false), m_throughputMode(ThroughputMode::NOT_SET), m_provisionedThroughputInMibps(0.0) { *this = result; } CreateFileSystemResult& CreateFileSystemResult::operator =(const Aws::AmazonWebServiceResult& result) { JsonView jsonValue = result.GetPayload().View(); if(jsonValue.ValueExists("OwnerId")) { m_ownerId = jsonValue.GetString("OwnerId"); } if(jsonValue.ValueExists("CreationToken")) { m_creationToken = jsonValue.GetString("CreationToken"); } if(jsonValue.ValueExists("FileSystemId")) { m_fileSystemId = jsonValue.GetString("FileSystemId"); } if(jsonValue.ValueExists("FileSystemArn")) { m_fileSystemArn = jsonValue.GetString("FileSystemArn"); } if(jsonValue.ValueExists("CreationTime")) { m_creationTime = jsonValue.GetDouble("CreationTime"); } if(jsonValue.ValueExists("LifeCycleState")) { m_lifeCycleState = LifeCycleStateMapper::GetLifeCycleStateForName(jsonValue.GetString("LifeCycleState")); } if(jsonValue.ValueExists("Name")) { m_name = jsonValue.GetString("Name"); } if(jsonValue.ValueExists("NumberOfMountTargets")) { m_numberOfMountTargets = jsonValue.GetInteger("NumberOfMountTargets"); } if(jsonValue.ValueExists("SizeInBytes")) { m_sizeInBytes = jsonValue.GetObject("SizeInBytes"); } if(jsonValue.ValueExists("PerformanceMode")) { m_performanceMode = PerformanceModeMapper::GetPerformanceModeForName(jsonValue.GetString("PerformanceMode")); } if(jsonValue.ValueExists("Encrypted")) { m_encrypted = jsonValue.GetBool("Encrypted"); } if(jsonValue.ValueExists("KmsKeyId")) { m_kmsKeyId = jsonValue.GetString("KmsKeyId"); } if(jsonValue.ValueExists("ThroughputMode")) { m_throughputMode = ThroughputModeMapper::GetThroughputModeForName(jsonValue.GetString("ThroughputMode")); } if(jsonValue.ValueExists("ProvisionedThroughputInMibps")) { m_provisionedThroughputInMibps = jsonValue.GetDouble("ProvisionedThroughputInMibps"); } if(jsonValue.ValueExists("AvailabilityZoneName")) { m_availabilityZoneName = jsonValue.GetString("AvailabilityZoneName"); } if(jsonValue.ValueExists("AvailabilityZoneId")) { m_availabilityZoneId = jsonValue.GetString("AvailabilityZoneId"); } if(jsonValue.ValueExists("Tags")) { Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex) { m_tags.push_back(tagsJsonList[tagsIndex].AsObject()); } } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); if(requestIdIter != headers.end()) { m_requestId = requestIdIter->second; } return *this; }