/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include <aws/serverlessrepo/model/ParameterDefinition.h> #include <aws/core/utils/json/JsonSerializer.h> #include <utility> using namespace Aws::Utils::Json; using namespace Aws::Utils; namespace Aws { namespace ServerlessApplicationRepository { namespace Model { ParameterDefinition::ParameterDefinition() : m_allowedPatternHasBeenSet(false), m_allowedValuesHasBeenSet(false), m_constraintDescriptionHasBeenSet(false), m_defaultValueHasBeenSet(false), m_descriptionHasBeenSet(false), m_maxLength(0), m_maxLengthHasBeenSet(false), m_maxValue(0), m_maxValueHasBeenSet(false), m_minLength(0), m_minLengthHasBeenSet(false), m_minValue(0), m_minValueHasBeenSet(false), m_nameHasBeenSet(false), m_noEcho(false), m_noEchoHasBeenSet(false), m_referencedByResourcesHasBeenSet(false), m_typeHasBeenSet(false) { } ParameterDefinition::ParameterDefinition(JsonView jsonValue) : m_allowedPatternHasBeenSet(false), m_allowedValuesHasBeenSet(false), m_constraintDescriptionHasBeenSet(false), m_defaultValueHasBeenSet(false), m_descriptionHasBeenSet(false), m_maxLength(0), m_maxLengthHasBeenSet(false), m_maxValue(0), m_maxValueHasBeenSet(false), m_minLength(0), m_minLengthHasBeenSet(false), m_minValue(0), m_minValueHasBeenSet(false), m_nameHasBeenSet(false), m_noEcho(false), m_noEchoHasBeenSet(false), m_referencedByResourcesHasBeenSet(false), m_typeHasBeenSet(false) { *this = jsonValue; } ParameterDefinition& ParameterDefinition::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("allowedPattern")) { m_allowedPattern = jsonValue.GetString("allowedPattern"); m_allowedPatternHasBeenSet = true; } if(jsonValue.ValueExists("allowedValues")) { Aws::Utils::Array<JsonView> allowedValuesJsonList = jsonValue.GetArray("allowedValues"); for(unsigned allowedValuesIndex = 0; allowedValuesIndex < allowedValuesJsonList.GetLength(); ++allowedValuesIndex) { m_allowedValues.push_back(allowedValuesJsonList[allowedValuesIndex].AsString()); } m_allowedValuesHasBeenSet = true; } if(jsonValue.ValueExists("constraintDescription")) { m_constraintDescription = jsonValue.GetString("constraintDescription"); m_constraintDescriptionHasBeenSet = true; } if(jsonValue.ValueExists("defaultValue")) { m_defaultValue = jsonValue.GetString("defaultValue"); m_defaultValueHasBeenSet = true; } if(jsonValue.ValueExists("description")) { m_description = jsonValue.GetString("description"); m_descriptionHasBeenSet = true; } if(jsonValue.ValueExists("maxLength")) { m_maxLength = jsonValue.GetInteger("maxLength"); m_maxLengthHasBeenSet = true; } if(jsonValue.ValueExists("maxValue")) { m_maxValue = jsonValue.GetInteger("maxValue"); m_maxValueHasBeenSet = true; } if(jsonValue.ValueExists("minLength")) { m_minLength = jsonValue.GetInteger("minLength"); m_minLengthHasBeenSet = true; } if(jsonValue.ValueExists("minValue")) { m_minValue = jsonValue.GetInteger("minValue"); m_minValueHasBeenSet = true; } if(jsonValue.ValueExists("name")) { m_name = jsonValue.GetString("name"); m_nameHasBeenSet = true; } if(jsonValue.ValueExists("noEcho")) { m_noEcho = jsonValue.GetBool("noEcho"); m_noEchoHasBeenSet = true; } if(jsonValue.ValueExists("referencedByResources")) { Aws::Utils::Array<JsonView> referencedByResourcesJsonList = jsonValue.GetArray("referencedByResources"); for(unsigned referencedByResourcesIndex = 0; referencedByResourcesIndex < referencedByResourcesJsonList.GetLength(); ++referencedByResourcesIndex) { m_referencedByResources.push_back(referencedByResourcesJsonList[referencedByResourcesIndex].AsString()); } m_referencedByResourcesHasBeenSet = true; } if(jsonValue.ValueExists("type")) { m_type = jsonValue.GetString("type"); m_typeHasBeenSet = true; } return *this; } JsonValue ParameterDefinition::Jsonize() const { JsonValue payload; if(m_allowedPatternHasBeenSet) { payload.WithString("allowedPattern", m_allowedPattern); } if(m_allowedValuesHasBeenSet) { Aws::Utils::Array<JsonValue> allowedValuesJsonList(m_allowedValues.size()); for(unsigned allowedValuesIndex = 0; allowedValuesIndex < allowedValuesJsonList.GetLength(); ++allowedValuesIndex) { allowedValuesJsonList[allowedValuesIndex].AsString(m_allowedValues[allowedValuesIndex]); } payload.WithArray("allowedValues", std::move(allowedValuesJsonList)); } if(m_constraintDescriptionHasBeenSet) { payload.WithString("constraintDescription", m_constraintDescription); } if(m_defaultValueHasBeenSet) { payload.WithString("defaultValue", m_defaultValue); } if(m_descriptionHasBeenSet) { payload.WithString("description", m_description); } if(m_maxLengthHasBeenSet) { payload.WithInteger("maxLength", m_maxLength); } if(m_maxValueHasBeenSet) { payload.WithInteger("maxValue", m_maxValue); } if(m_minLengthHasBeenSet) { payload.WithInteger("minLength", m_minLength); } if(m_minValueHasBeenSet) { payload.WithInteger("minValue", m_minValue); } if(m_nameHasBeenSet) { payload.WithString("name", m_name); } if(m_noEchoHasBeenSet) { payload.WithBool("noEcho", m_noEcho); } if(m_referencedByResourcesHasBeenSet) { Aws::Utils::Array<JsonValue> referencedByResourcesJsonList(m_referencedByResources.size()); for(unsigned referencedByResourcesIndex = 0; referencedByResourcesIndex < referencedByResourcesJsonList.GetLength(); ++referencedByResourcesIndex) { referencedByResourcesJsonList[referencedByResourcesIndex].AsString(m_referencedByResources[referencedByResourcesIndex]); } payload.WithArray("referencedByResources", std::move(referencedByResourcesJsonList)); } if(m_typeHasBeenSet) { payload.WithString("type", m_type); } return payload; } } // namespace Model } // namespace ServerlessApplicationRepository } // namespace Aws