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/imagebuilder/Imagebuilder_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace imagebuilder
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>A container encapsulates the runtime environment for an
29    * application.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Container">AWS
31    * API Reference</a></p>
32    */
33   class AWS_IMAGEBUILDER_API Container
34   {
35   public:
36     Container();
37     Container(Aws::Utils::Json::JsonView jsonValue);
38     Container& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>Containers and container images are Region-specific. This is the Region
44      * context for the container.</p>
45      */
GetRegion()46     inline const Aws::String& GetRegion() const{ return m_region; }
47 
48     /**
49      * <p>Containers and container images are Region-specific. This is the Region
50      * context for the container.</p>
51      */
RegionHasBeenSet()52     inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
53 
54     /**
55      * <p>Containers and container images are Region-specific. This is the Region
56      * context for the container.</p>
57      */
SetRegion(const Aws::String & value)58     inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; }
59 
60     /**
61      * <p>Containers and container images are Region-specific. This is the Region
62      * context for the container.</p>
63      */
SetRegion(Aws::String && value)64     inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); }
65 
66     /**
67      * <p>Containers and container images are Region-specific. This is the Region
68      * context for the container.</p>
69      */
SetRegion(const char * value)70     inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); }
71 
72     /**
73      * <p>Containers and container images are Region-specific. This is the Region
74      * context for the container.</p>
75      */
WithRegion(const Aws::String & value)76     inline Container& WithRegion(const Aws::String& value) { SetRegion(value); return *this;}
77 
78     /**
79      * <p>Containers and container images are Region-specific. This is the Region
80      * context for the container.</p>
81      */
WithRegion(Aws::String && value)82     inline Container& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;}
83 
84     /**
85      * <p>Containers and container images are Region-specific. This is the Region
86      * context for the container.</p>
87      */
WithRegion(const char * value)88     inline Container& WithRegion(const char* value) { SetRegion(value); return *this;}
89 
90 
91     /**
92      * <p>A list of URIs for containers created in the context Region.</p>
93      */
GetImageUris()94     inline const Aws::Vector<Aws::String>& GetImageUris() const{ return m_imageUris; }
95 
96     /**
97      * <p>A list of URIs for containers created in the context Region.</p>
98      */
ImageUrisHasBeenSet()99     inline bool ImageUrisHasBeenSet() const { return m_imageUrisHasBeenSet; }
100 
101     /**
102      * <p>A list of URIs for containers created in the context Region.</p>
103      */
SetImageUris(const Aws::Vector<Aws::String> & value)104     inline void SetImageUris(const Aws::Vector<Aws::String>& value) { m_imageUrisHasBeenSet = true; m_imageUris = value; }
105 
106     /**
107      * <p>A list of URIs for containers created in the context Region.</p>
108      */
SetImageUris(Aws::Vector<Aws::String> && value)109     inline void SetImageUris(Aws::Vector<Aws::String>&& value) { m_imageUrisHasBeenSet = true; m_imageUris = std::move(value); }
110 
111     /**
112      * <p>A list of URIs for containers created in the context Region.</p>
113      */
WithImageUris(const Aws::Vector<Aws::String> & value)114     inline Container& WithImageUris(const Aws::Vector<Aws::String>& value) { SetImageUris(value); return *this;}
115 
116     /**
117      * <p>A list of URIs for containers created in the context Region.</p>
118      */
WithImageUris(Aws::Vector<Aws::String> && value)119     inline Container& WithImageUris(Aws::Vector<Aws::String>&& value) { SetImageUris(std::move(value)); return *this;}
120 
121     /**
122      * <p>A list of URIs for containers created in the context Region.</p>
123      */
AddImageUris(const Aws::String & value)124     inline Container& AddImageUris(const Aws::String& value) { m_imageUrisHasBeenSet = true; m_imageUris.push_back(value); return *this; }
125 
126     /**
127      * <p>A list of URIs for containers created in the context Region.</p>
128      */
AddImageUris(Aws::String && value)129     inline Container& AddImageUris(Aws::String&& value) { m_imageUrisHasBeenSet = true; m_imageUris.push_back(std::move(value)); return *this; }
130 
131     /**
132      * <p>A list of URIs for containers created in the context Region.</p>
133      */
AddImageUris(const char * value)134     inline Container& AddImageUris(const char* value) { m_imageUrisHasBeenSet = true; m_imageUris.push_back(value); return *this; }
135 
136   private:
137 
138     Aws::String m_region;
139     bool m_regionHasBeenSet;
140 
141     Aws::Vector<Aws::String> m_imageUris;
142     bool m_imageUrisHasBeenSet;
143   };
144 
145 } // namespace Model
146 } // namespace imagebuilder
147 } // namespace Aws
148