/** * 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::SSM::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; using namespace Aws; GetMaintenanceWindowTaskResult::GetMaintenanceWindowTaskResult() : m_taskType(MaintenanceWindowTaskType::NOT_SET), m_priority(0), m_cutoffBehavior(MaintenanceWindowTaskCutoffBehavior::NOT_SET) { } GetMaintenanceWindowTaskResult::GetMaintenanceWindowTaskResult(const Aws::AmazonWebServiceResult& result) : m_taskType(MaintenanceWindowTaskType::NOT_SET), m_priority(0), m_cutoffBehavior(MaintenanceWindowTaskCutoffBehavior::NOT_SET) { *this = result; } GetMaintenanceWindowTaskResult& GetMaintenanceWindowTaskResult::operator =(const Aws::AmazonWebServiceResult& result) { JsonView jsonValue = result.GetPayload().View(); if(jsonValue.ValueExists("WindowId")) { m_windowId = jsonValue.GetString("WindowId"); } if(jsonValue.ValueExists("WindowTaskId")) { m_windowTaskId = jsonValue.GetString("WindowTaskId"); } if(jsonValue.ValueExists("Targets")) { Aws::Utils::Array targetsJsonList = jsonValue.GetArray("Targets"); for(unsigned targetsIndex = 0; targetsIndex < targetsJsonList.GetLength(); ++targetsIndex) { m_targets.push_back(targetsJsonList[targetsIndex].AsObject()); } } if(jsonValue.ValueExists("TaskArn")) { m_taskArn = jsonValue.GetString("TaskArn"); } if(jsonValue.ValueExists("ServiceRoleArn")) { m_serviceRoleArn = jsonValue.GetString("ServiceRoleArn"); } if(jsonValue.ValueExists("TaskType")) { m_taskType = MaintenanceWindowTaskTypeMapper::GetMaintenanceWindowTaskTypeForName(jsonValue.GetString("TaskType")); } if(jsonValue.ValueExists("TaskParameters")) { Aws::Map taskParametersJsonMap = jsonValue.GetObject("TaskParameters").GetAllObjects(); for(auto& taskParametersItem : taskParametersJsonMap) { m_taskParameters[taskParametersItem.first] = taskParametersItem.second.AsObject(); } } if(jsonValue.ValueExists("TaskInvocationParameters")) { m_taskInvocationParameters = jsonValue.GetObject("TaskInvocationParameters"); } if(jsonValue.ValueExists("Priority")) { m_priority = jsonValue.GetInteger("Priority"); } if(jsonValue.ValueExists("MaxConcurrency")) { m_maxConcurrency = jsonValue.GetString("MaxConcurrency"); } if(jsonValue.ValueExists("MaxErrors")) { m_maxErrors = jsonValue.GetString("MaxErrors"); } if(jsonValue.ValueExists("LoggingInfo")) { m_loggingInfo = jsonValue.GetObject("LoggingInfo"); } if(jsonValue.ValueExists("Name")) { m_name = jsonValue.GetString("Name"); } if(jsonValue.ValueExists("Description")) { m_description = jsonValue.GetString("Description"); } if(jsonValue.ValueExists("CutoffBehavior")) { m_cutoffBehavior = MaintenanceWindowTaskCutoffBehaviorMapper::GetMaintenanceWindowTaskCutoffBehaviorForName(jsonValue.GetString("CutoffBehavior")); } if(jsonValue.ValueExists("AlarmConfiguration")) { m_alarmConfiguration = jsonValue.GetObject("AlarmConfiguration"); } const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); if(requestIdIter != headers.end()) { m_requestId = requestIdIter->second; } return *this; }