/** * 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 AppMesh { namespace Model { GrpcRouteMatch::GrpcRouteMatch() : m_metadataHasBeenSet(false), m_methodNameHasBeenSet(false), m_serviceNameHasBeenSet(false) { } GrpcRouteMatch::GrpcRouteMatch(JsonView jsonValue) : m_metadataHasBeenSet(false), m_methodNameHasBeenSet(false), m_serviceNameHasBeenSet(false) { *this = jsonValue; } GrpcRouteMatch& GrpcRouteMatch::operator =(JsonView jsonValue) { if(jsonValue.ValueExists("metadata")) { Array metadataJsonList = jsonValue.GetArray("metadata"); for(unsigned metadataIndex = 0; metadataIndex < metadataJsonList.GetLength(); ++metadataIndex) { m_metadata.push_back(metadataJsonList[metadataIndex].AsObject()); } m_metadataHasBeenSet = true; } if(jsonValue.ValueExists("methodName")) { m_methodName = jsonValue.GetString("methodName"); m_methodNameHasBeenSet = true; } if(jsonValue.ValueExists("serviceName")) { m_serviceName = jsonValue.GetString("serviceName"); m_serviceNameHasBeenSet = true; } return *this; } JsonValue GrpcRouteMatch::Jsonize() const { JsonValue payload; if(m_metadataHasBeenSet) { Array metadataJsonList(m_metadata.size()); for(unsigned metadataIndex = 0; metadataIndex < metadataJsonList.GetLength(); ++metadataIndex) { metadataJsonList[metadataIndex].AsObject(m_metadata[metadataIndex].Jsonize()); } payload.WithArray("metadata", std::move(metadataJsonList)); } if(m_methodNameHasBeenSet) { payload.WithString("methodName", m_methodName); } if(m_serviceNameHasBeenSet) { payload.WithString("serviceName", m_serviceName); } return payload; } } // namespace Model } // namespace AppMesh } // namespace Aws