/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include using namespace Aws::Utils::Json; using namespace Aws::Utils; namespace Aws { namespace kendra { namespace Model { FsxConfiguration::FsxConfiguration() : m_fileSystemIdHasBeenSet(false), m_fileSystemType(FsxFileSystemType::NOT_SET), m_fileSystemTypeHasBeenSet(false), m_vpcConfigurationHasBeenSet(false), m_secretArnHasBeenSet(false), m_inclusionPatternsHasBeenSet(false), m_exclusionPatternsHasBeenSet(false), m_fieldMappingsHasBeenSet(false) { } FsxConfiguration::FsxConfiguration(JsonView jsonValue) : m_fileSystemIdHasBeenSet(false), m_fileSystemType(FsxFileSystemType::NOT_SET), m_fileSystemTypeHasBeenSet(false), m_vpcConfigurationHasBeenSet(false), m_secretArnHasBeenSet(false), m_inclusionPatternsHasBeenSet(false), m_exclusionPatternsHasBeenSet(false), m_fieldMappingsHasBeenSet(false) { *this = jsonValue; } FsxConfiguration& FsxConfiguration::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("FileSystemId")) { m_fileSystemId = jsonValue.GetString("FileSystemId"); m_fileSystemIdHasBeenSet = true; } if(jsonValue.ValueExists("FileSystemType")) { m_fileSystemType = FsxFileSystemTypeMapper::GetFsxFileSystemTypeForName(jsonValue.GetString("FileSystemType")); m_fileSystemTypeHasBeenSet = true; } if(jsonValue.ValueExists("VpcConfiguration")) { m_vpcConfiguration = jsonValue.GetObject("VpcConfiguration"); m_vpcConfigurationHasBeenSet = true; } if(jsonValue.ValueExists("SecretArn")) { m_secretArn = jsonValue.GetString("SecretArn"); m_secretArnHasBeenSet = true; } if(jsonValue.ValueExists("InclusionPatterns")) { Aws::Utils::Array inclusionPatternsJsonList = jsonValue.GetArray("InclusionPatterns"); for(unsigned inclusionPatternsIndex = 0; inclusionPatternsIndex < inclusionPatternsJsonList.GetLength(); ++inclusionPatternsIndex) { m_inclusionPatterns.push_back(inclusionPatternsJsonList[inclusionPatternsIndex].AsString()); } m_inclusionPatternsHasBeenSet = true; } if(jsonValue.ValueExists("ExclusionPatterns")) { Aws::Utils::Array exclusionPatternsJsonList = jsonValue.GetArray("ExclusionPatterns"); for(unsigned exclusionPatternsIndex = 0; exclusionPatternsIndex < exclusionPatternsJsonList.GetLength(); ++exclusionPatternsIndex) { m_exclusionPatterns.push_back(exclusionPatternsJsonList[exclusionPatternsIndex].AsString()); } m_exclusionPatternsHasBeenSet = true; } if(jsonValue.ValueExists("FieldMappings")) { Aws::Utils::Array fieldMappingsJsonList = jsonValue.GetArray("FieldMappings"); for(unsigned fieldMappingsIndex = 0; fieldMappingsIndex < fieldMappingsJsonList.GetLength(); ++fieldMappingsIndex) { m_fieldMappings.push_back(fieldMappingsJsonList[fieldMappingsIndex].AsObject()); } m_fieldMappingsHasBeenSet = true; } return *this; } JsonValue FsxConfiguration::Jsonize() const { JsonValue payload; if(m_fileSystemIdHasBeenSet) { payload.WithString("FileSystemId", m_fileSystemId); } if(m_fileSystemTypeHasBeenSet) { payload.WithString("FileSystemType", FsxFileSystemTypeMapper::GetNameForFsxFileSystemType(m_fileSystemType)); } if(m_vpcConfigurationHasBeenSet) { payload.WithObject("VpcConfiguration", m_vpcConfiguration.Jsonize()); } if(m_secretArnHasBeenSet) { payload.WithString("SecretArn", m_secretArn); } if(m_inclusionPatternsHasBeenSet) { Aws::Utils::Array inclusionPatternsJsonList(m_inclusionPatterns.size()); for(unsigned inclusionPatternsIndex = 0; inclusionPatternsIndex < inclusionPatternsJsonList.GetLength(); ++inclusionPatternsIndex) { inclusionPatternsJsonList[inclusionPatternsIndex].AsString(m_inclusionPatterns[inclusionPatternsIndex]); } payload.WithArray("InclusionPatterns", std::move(inclusionPatternsJsonList)); } if(m_exclusionPatternsHasBeenSet) { Aws::Utils::Array exclusionPatternsJsonList(m_exclusionPatterns.size()); for(unsigned exclusionPatternsIndex = 0; exclusionPatternsIndex < exclusionPatternsJsonList.GetLength(); ++exclusionPatternsIndex) { exclusionPatternsJsonList[exclusionPatternsIndex].AsString(m_exclusionPatterns[exclusionPatternsIndex]); } payload.WithArray("ExclusionPatterns", std::move(exclusionPatternsJsonList)); } if(m_fieldMappingsHasBeenSet) { Aws::Utils::Array fieldMappingsJsonList(m_fieldMappings.size()); for(unsigned fieldMappingsIndex = 0; fieldMappingsIndex < fieldMappingsJsonList.GetLength(); ++fieldMappingsIndex) { fieldMappingsJsonList[fieldMappingsIndex].AsObject(m_fieldMappings[fieldMappingsIndex].Jsonize()); } payload.WithArray("FieldMappings", std::move(fieldMappingsJsonList)); } return payload; } } // namespace Model } // namespace kendra } // namespace Aws