ListCustomImagesResult.cc 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #include <alibabacloud/ehpc/model/ListCustomImagesResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::EHPC;
  19. using namespace AlibabaCloud::EHPC::Model;
  20. ListCustomImagesResult::ListCustomImagesResult() :
  21. ServiceResult()
  22. {}
  23. ListCustomImagesResult::ListCustomImagesResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. ListCustomImagesResult::~ListCustomImagesResult()
  29. {}
  30. void ListCustomImagesResult::parse(const std::string &payload)
  31. {
  32. Json::Reader reader;
  33. Json::Value value;
  34. reader.parse(payload, value);
  35. setRequestId(value["RequestId"].asString());
  36. auto allImagesNode = value["Images"]["ImageInfo"];
  37. for (auto valueImagesImageInfo : allImagesNode)
  38. {
  39. ImageInfo imagesObject;
  40. if(!valueImagesImageInfo["Uid"].isNull())
  41. imagesObject.uid = valueImagesImageInfo["Uid"].asString();
  42. if(!valueImagesImageInfo["ImageId"].isNull())
  43. imagesObject.imageId = valueImagesImageInfo["ImageId"].asString();
  44. if(!valueImagesImageInfo["ImageName"].isNull())
  45. imagesObject.imageName = valueImagesImageInfo["ImageName"].asString();
  46. if(!valueImagesImageInfo["ImageOwnerAlias"].isNull())
  47. imagesObject.imageOwnerAlias = valueImagesImageInfo["ImageOwnerAlias"].asString();
  48. if(!valueImagesImageInfo["Description"].isNull())
  49. imagesObject.description = valueImagesImageInfo["Description"].asString();
  50. if(!valueImagesImageInfo["Status"].isNull())
  51. imagesObject.status = valueImagesImageInfo["Status"].asString();
  52. if(!valueImagesImageInfo["ProductCode"].isNull())
  53. imagesObject.productCode = valueImagesImageInfo["ProductCode"].asString();
  54. if(!valueImagesImageInfo["SkuCode"].isNull())
  55. imagesObject.skuCode = valueImagesImageInfo["SkuCode"].asString();
  56. if(!valueImagesImageInfo["PricingCycle"].isNull())
  57. imagesObject.pricingCycle = valueImagesImageInfo["PricingCycle"].asString();
  58. if(!valueImagesImageInfo["PostInstallScript"].isNull())
  59. imagesObject.postInstallScript = valueImagesImageInfo["PostInstallScript"].asString();
  60. if(!valueImagesImageInfo["Size"].isNull())
  61. imagesObject.size = std::stoi(valueImagesImageInfo["Size"].asString());
  62. auto baseOsTagNode = value["BaseOsTag"];
  63. if(!baseOsTagNode["OsTag"].isNull())
  64. imagesObject.baseOsTag.osTag = baseOsTagNode["OsTag"].asString();
  65. if(!baseOsTagNode["Platform"].isNull())
  66. imagesObject.baseOsTag.platform = baseOsTagNode["Platform"].asString();
  67. if(!baseOsTagNode["Version"].isNull())
  68. imagesObject.baseOsTag.version = baseOsTagNode["Version"].asString();
  69. if(!baseOsTagNode["Architecture"].isNull())
  70. imagesObject.baseOsTag.architecture = baseOsTagNode["Architecture"].asString();
  71. auto osTagNode = value["OsTag"];
  72. if(!osTagNode["OsTag"].isNull())
  73. imagesObject.osTag.osTag = osTagNode["OsTag"].asString();
  74. if(!osTagNode["BaseOsTag"].isNull())
  75. imagesObject.osTag.baseOsTag = osTagNode["BaseOsTag"].asString();
  76. if(!osTagNode["Platform"].isNull())
  77. imagesObject.osTag.platform = osTagNode["Platform"].asString();
  78. if(!osTagNode["Version"].isNull())
  79. imagesObject.osTag.version = osTagNode["Version"].asString();
  80. if(!osTagNode["Architecture"].isNull())
  81. imagesObject.osTag.architecture = osTagNode["Architecture"].asString();
  82. images_.push_back(imagesObject);
  83. }
  84. }
  85. std::vector<ListCustomImagesResult::ImageInfo> ListCustomImagesResult::getImages()const
  86. {
  87. return images_;
  88. }