1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/ec2/EC2_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/ec2/model/ResponseMetadata.h>
10 #include <aws/ec2/model/Image.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Xml
21 {
22   class XmlDocument;
23 } // namespace Xml
24 } // namespace Utils
25 namespace EC2
26 {
27 namespace Model
28 {
29   class AWS_EC2_API DescribeImagesResponse
30   {
31   public:
32     DescribeImagesResponse();
33     DescribeImagesResponse(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
34     DescribeImagesResponse& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
35 
36 
37     /**
38      * <p>Information about the images.</p>
39      */
GetImages()40     inline const Aws::Vector<Image>& GetImages() const{ return m_images; }
41 
42     /**
43      * <p>Information about the images.</p>
44      */
SetImages(const Aws::Vector<Image> & value)45     inline void SetImages(const Aws::Vector<Image>& value) { m_images = value; }
46 
47     /**
48      * <p>Information about the images.</p>
49      */
SetImages(Aws::Vector<Image> && value)50     inline void SetImages(Aws::Vector<Image>&& value) { m_images = std::move(value); }
51 
52     /**
53      * <p>Information about the images.</p>
54      */
WithImages(const Aws::Vector<Image> & value)55     inline DescribeImagesResponse& WithImages(const Aws::Vector<Image>& value) { SetImages(value); return *this;}
56 
57     /**
58      * <p>Information about the images.</p>
59      */
WithImages(Aws::Vector<Image> && value)60     inline DescribeImagesResponse& WithImages(Aws::Vector<Image>&& value) { SetImages(std::move(value)); return *this;}
61 
62     /**
63      * <p>Information about the images.</p>
64      */
AddImages(const Image & value)65     inline DescribeImagesResponse& AddImages(const Image& value) { m_images.push_back(value); return *this; }
66 
67     /**
68      * <p>Information about the images.</p>
69      */
AddImages(Image && value)70     inline DescribeImagesResponse& AddImages(Image&& value) { m_images.push_back(std::move(value)); return *this; }
71 
72 
73 
GetResponseMetadata()74     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
75 
76 
SetResponseMetadata(const ResponseMetadata & value)77     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
78 
79 
SetResponseMetadata(ResponseMetadata && value)80     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
81 
82 
WithResponseMetadata(const ResponseMetadata & value)83     inline DescribeImagesResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
84 
85 
WithResponseMetadata(ResponseMetadata && value)86     inline DescribeImagesResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
87 
88   private:
89 
90     Aws::Vector<Image> m_images;
91 
92     ResponseMetadata m_responseMetadata;
93   };
94 
95 } // namespace Model
96 } // namespace EC2
97 } // namespace Aws
98