/** * 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 FIS { namespace Model { ExperimentTarget::ExperimentTarget() : m_resourceTypeHasBeenSet(false), m_resourceArnsHasBeenSet(false), m_resourceTagsHasBeenSet(false), m_filtersHasBeenSet(false), m_selectionModeHasBeenSet(false), m_parametersHasBeenSet(false) { } ExperimentTarget::ExperimentTarget(JsonView jsonValue) : m_resourceTypeHasBeenSet(false), m_resourceArnsHasBeenSet(false), m_resourceTagsHasBeenSet(false), m_filtersHasBeenSet(false), m_selectionModeHasBeenSet(false), m_parametersHasBeenSet(false) { *this = jsonValue; } ExperimentTarget& ExperimentTarget::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("resourceType")) { m_resourceType = jsonValue.GetString("resourceType"); m_resourceTypeHasBeenSet = true; } if(jsonValue.ValueExists("resourceArns")) { Aws::Utils::Array resourceArnsJsonList = jsonValue.GetArray("resourceArns"); for(unsigned resourceArnsIndex = 0; resourceArnsIndex < resourceArnsJsonList.GetLength(); ++resourceArnsIndex) { m_resourceArns.push_back(resourceArnsJsonList[resourceArnsIndex].AsString()); } m_resourceArnsHasBeenSet = true; } if(jsonValue.ValueExists("resourceTags")) { Aws::Map resourceTagsJsonMap = jsonValue.GetObject("resourceTags").GetAllObjects(); for(auto& resourceTagsItem : resourceTagsJsonMap) { m_resourceTags[resourceTagsItem.first] = resourceTagsItem.second.AsString(); } m_resourceTagsHasBeenSet = true; } if(jsonValue.ValueExists("filters")) { Aws::Utils::Array filtersJsonList = jsonValue.GetArray("filters"); for(unsigned filtersIndex = 0; filtersIndex < filtersJsonList.GetLength(); ++filtersIndex) { m_filters.push_back(filtersJsonList[filtersIndex].AsObject()); } m_filtersHasBeenSet = true; } if(jsonValue.ValueExists("selectionMode")) { m_selectionMode = jsonValue.GetString("selectionMode"); m_selectionModeHasBeenSet = true; } if(jsonValue.ValueExists("parameters")) { Aws::Map parametersJsonMap = jsonValue.GetObject("parameters").GetAllObjects(); for(auto& parametersItem : parametersJsonMap) { m_parameters[parametersItem.first] = parametersItem.second.AsString(); } m_parametersHasBeenSet = true; } return *this; } JsonValue ExperimentTarget::Jsonize() const { JsonValue payload; if(m_resourceTypeHasBeenSet) { payload.WithString("resourceType", m_resourceType); } if(m_resourceArnsHasBeenSet) { Aws::Utils::Array resourceArnsJsonList(m_resourceArns.size()); for(unsigned resourceArnsIndex = 0; resourceArnsIndex < resourceArnsJsonList.GetLength(); ++resourceArnsIndex) { resourceArnsJsonList[resourceArnsIndex].AsString(m_resourceArns[resourceArnsIndex]); } payload.WithArray("resourceArns", std::move(resourceArnsJsonList)); } if(m_resourceTagsHasBeenSet) { JsonValue resourceTagsJsonMap; for(auto& resourceTagsItem : m_resourceTags) { resourceTagsJsonMap.WithString(resourceTagsItem.first, resourceTagsItem.second); } payload.WithObject("resourceTags", std::move(resourceTagsJsonMap)); } if(m_filtersHasBeenSet) { Aws::Utils::Array filtersJsonList(m_filters.size()); for(unsigned filtersIndex = 0; filtersIndex < filtersJsonList.GetLength(); ++filtersIndex) { filtersJsonList[filtersIndex].AsObject(m_filters[filtersIndex].Jsonize()); } payload.WithArray("filters", std::move(filtersJsonList)); } if(m_selectionModeHasBeenSet) { payload.WithString("selectionMode", m_selectionMode); } if(m_parametersHasBeenSet) { JsonValue parametersJsonMap; for(auto& parametersItem : m_parameters) { parametersJsonMap.WithString(parametersItem.first, parametersItem.second); } payload.WithObject("parameters", std::move(parametersJsonMap)); } return payload; } } // namespace Model } // namespace FIS } // namespace Aws