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/servicecatalog/ServiceCatalog_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace ServiceCatalog
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Information about a constraint.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ConstraintDetail">AWS
29    * API Reference</a></p>
30    */
31   class AWS_SERVICECATALOG_API ConstraintDetail
32   {
33   public:
34     ConstraintDetail();
35     ConstraintDetail(Aws::Utils::Json::JsonView jsonValue);
36     ConstraintDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>The identifier of the constraint.</p>
42      */
GetConstraintId()43     inline const Aws::String& GetConstraintId() const{ return m_constraintId; }
44 
45     /**
46      * <p>The identifier of the constraint.</p>
47      */
ConstraintIdHasBeenSet()48     inline bool ConstraintIdHasBeenSet() const { return m_constraintIdHasBeenSet; }
49 
50     /**
51      * <p>The identifier of the constraint.</p>
52      */
SetConstraintId(const Aws::String & value)53     inline void SetConstraintId(const Aws::String& value) { m_constraintIdHasBeenSet = true; m_constraintId = value; }
54 
55     /**
56      * <p>The identifier of the constraint.</p>
57      */
SetConstraintId(Aws::String && value)58     inline void SetConstraintId(Aws::String&& value) { m_constraintIdHasBeenSet = true; m_constraintId = std::move(value); }
59 
60     /**
61      * <p>The identifier of the constraint.</p>
62      */
SetConstraintId(const char * value)63     inline void SetConstraintId(const char* value) { m_constraintIdHasBeenSet = true; m_constraintId.assign(value); }
64 
65     /**
66      * <p>The identifier of the constraint.</p>
67      */
WithConstraintId(const Aws::String & value)68     inline ConstraintDetail& WithConstraintId(const Aws::String& value) { SetConstraintId(value); return *this;}
69 
70     /**
71      * <p>The identifier of the constraint.</p>
72      */
WithConstraintId(Aws::String && value)73     inline ConstraintDetail& WithConstraintId(Aws::String&& value) { SetConstraintId(std::move(value)); return *this;}
74 
75     /**
76      * <p>The identifier of the constraint.</p>
77      */
WithConstraintId(const char * value)78     inline ConstraintDetail& WithConstraintId(const char* value) { SetConstraintId(value); return *this;}
79 
80 
81     /**
82      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
83      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
84      * <code>TEMPLATE</code> </p> </li> </ul>
85      */
GetType()86     inline const Aws::String& GetType() const{ return m_type; }
87 
88     /**
89      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
90      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
91      * <code>TEMPLATE</code> </p> </li> </ul>
92      */
TypeHasBeenSet()93     inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
94 
95     /**
96      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
97      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
98      * <code>TEMPLATE</code> </p> </li> </ul>
99      */
SetType(const Aws::String & value)100     inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; }
101 
102     /**
103      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
104      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
105      * <code>TEMPLATE</code> </p> </li> </ul>
106      */
SetType(Aws::String && value)107     inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
108 
109     /**
110      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
111      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
112      * <code>TEMPLATE</code> </p> </li> </ul>
113      */
SetType(const char * value)114     inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); }
115 
116     /**
117      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
118      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
119      * <code>TEMPLATE</code> </p> </li> </ul>
120      */
WithType(const Aws::String & value)121     inline ConstraintDetail& WithType(const Aws::String& value) { SetType(value); return *this;}
122 
123     /**
124      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
125      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
126      * <code>TEMPLATE</code> </p> </li> </ul>
127      */
WithType(Aws::String && value)128     inline ConstraintDetail& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;}
129 
130     /**
131      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
132      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
133      * <code>TEMPLATE</code> </p> </li> </ul>
134      */
WithType(const char * value)135     inline ConstraintDetail& WithType(const char* value) { SetType(value); return *this;}
136 
137 
138     /**
139      * <p>The description of the constraint.</p>
140      */
GetDescription()141     inline const Aws::String& GetDescription() const{ return m_description; }
142 
143     /**
144      * <p>The description of the constraint.</p>
145      */
DescriptionHasBeenSet()146     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
147 
148     /**
149      * <p>The description of the constraint.</p>
150      */
SetDescription(const Aws::String & value)151     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
152 
153     /**
154      * <p>The description of the constraint.</p>
155      */
SetDescription(Aws::String && value)156     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
157 
158     /**
159      * <p>The description of the constraint.</p>
160      */
SetDescription(const char * value)161     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
162 
163     /**
164      * <p>The description of the constraint.</p>
165      */
WithDescription(const Aws::String & value)166     inline ConstraintDetail& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
167 
168     /**
169      * <p>The description of the constraint.</p>
170      */
WithDescription(Aws::String && value)171     inline ConstraintDetail& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
172 
173     /**
174      * <p>The description of the constraint.</p>
175      */
WithDescription(const char * value)176     inline ConstraintDetail& WithDescription(const char* value) { SetDescription(value); return *this;}
177 
178 
179     /**
180      * <p>The owner of the constraint.</p>
181      */
GetOwner()182     inline const Aws::String& GetOwner() const{ return m_owner; }
183 
184     /**
185      * <p>The owner of the constraint.</p>
186      */
OwnerHasBeenSet()187     inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
188 
189     /**
190      * <p>The owner of the constraint.</p>
191      */
SetOwner(const Aws::String & value)192     inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; }
193 
194     /**
195      * <p>The owner of the constraint.</p>
196      */
SetOwner(Aws::String && value)197     inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); }
198 
199     /**
200      * <p>The owner of the constraint.</p>
201      */
SetOwner(const char * value)202     inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); }
203 
204     /**
205      * <p>The owner of the constraint.</p>
206      */
WithOwner(const Aws::String & value)207     inline ConstraintDetail& WithOwner(const Aws::String& value) { SetOwner(value); return *this;}
208 
209     /**
210      * <p>The owner of the constraint.</p>
211      */
WithOwner(Aws::String && value)212     inline ConstraintDetail& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;}
213 
214     /**
215      * <p>The owner of the constraint.</p>
216      */
WithOwner(const char * value)217     inline ConstraintDetail& WithOwner(const char* value) { SetOwner(value); return *this;}
218 
219 
220     /**
221      * <p>The identifier of the product the constraint applies to. Note that a
222      * constraint applies to a specific instance of a product within a certain
223      * portfolio.</p>
224      */
GetProductId()225     inline const Aws::String& GetProductId() const{ return m_productId; }
226 
227     /**
228      * <p>The identifier of the product the constraint applies to. Note that a
229      * constraint applies to a specific instance of a product within a certain
230      * portfolio.</p>
231      */
ProductIdHasBeenSet()232     inline bool ProductIdHasBeenSet() const { return m_productIdHasBeenSet; }
233 
234     /**
235      * <p>The identifier of the product the constraint applies to. Note that a
236      * constraint applies to a specific instance of a product within a certain
237      * portfolio.</p>
238      */
SetProductId(const Aws::String & value)239     inline void SetProductId(const Aws::String& value) { m_productIdHasBeenSet = true; m_productId = value; }
240 
241     /**
242      * <p>The identifier of the product the constraint applies to. Note that a
243      * constraint applies to a specific instance of a product within a certain
244      * portfolio.</p>
245      */
SetProductId(Aws::String && value)246     inline void SetProductId(Aws::String&& value) { m_productIdHasBeenSet = true; m_productId = std::move(value); }
247 
248     /**
249      * <p>The identifier of the product the constraint applies to. Note that a
250      * constraint applies to a specific instance of a product within a certain
251      * portfolio.</p>
252      */
SetProductId(const char * value)253     inline void SetProductId(const char* value) { m_productIdHasBeenSet = true; m_productId.assign(value); }
254 
255     /**
256      * <p>The identifier of the product the constraint applies to. Note that a
257      * constraint applies to a specific instance of a product within a certain
258      * portfolio.</p>
259      */
WithProductId(const Aws::String & value)260     inline ConstraintDetail& WithProductId(const Aws::String& value) { SetProductId(value); return *this;}
261 
262     /**
263      * <p>The identifier of the product the constraint applies to. Note that a
264      * constraint applies to a specific instance of a product within a certain
265      * portfolio.</p>
266      */
WithProductId(Aws::String && value)267     inline ConstraintDetail& WithProductId(Aws::String&& value) { SetProductId(std::move(value)); return *this;}
268 
269     /**
270      * <p>The identifier of the product the constraint applies to. Note that a
271      * constraint applies to a specific instance of a product within a certain
272      * portfolio.</p>
273      */
WithProductId(const char * value)274     inline ConstraintDetail& WithProductId(const char* value) { SetProductId(value); return *this;}
275 
276 
277     /**
278      * <p>The identifier of the portfolio the product resides in. The constraint
279      * applies only to the instance of the product that lives within this
280      * portfolio.</p>
281      */
GetPortfolioId()282     inline const Aws::String& GetPortfolioId() const{ return m_portfolioId; }
283 
284     /**
285      * <p>The identifier of the portfolio the product resides in. The constraint
286      * applies only to the instance of the product that lives within this
287      * portfolio.</p>
288      */
PortfolioIdHasBeenSet()289     inline bool PortfolioIdHasBeenSet() const { return m_portfolioIdHasBeenSet; }
290 
291     /**
292      * <p>The identifier of the portfolio the product resides in. The constraint
293      * applies only to the instance of the product that lives within this
294      * portfolio.</p>
295      */
SetPortfolioId(const Aws::String & value)296     inline void SetPortfolioId(const Aws::String& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = value; }
297 
298     /**
299      * <p>The identifier of the portfolio the product resides in. The constraint
300      * applies only to the instance of the product that lives within this
301      * portfolio.</p>
302      */
SetPortfolioId(Aws::String && value)303     inline void SetPortfolioId(Aws::String&& value) { m_portfolioIdHasBeenSet = true; m_portfolioId = std::move(value); }
304 
305     /**
306      * <p>The identifier of the portfolio the product resides in. The constraint
307      * applies only to the instance of the product that lives within this
308      * portfolio.</p>
309      */
SetPortfolioId(const char * value)310     inline void SetPortfolioId(const char* value) { m_portfolioIdHasBeenSet = true; m_portfolioId.assign(value); }
311 
312     /**
313      * <p>The identifier of the portfolio the product resides in. The constraint
314      * applies only to the instance of the product that lives within this
315      * portfolio.</p>
316      */
WithPortfolioId(const Aws::String & value)317     inline ConstraintDetail& WithPortfolioId(const Aws::String& value) { SetPortfolioId(value); return *this;}
318 
319     /**
320      * <p>The identifier of the portfolio the product resides in. The constraint
321      * applies only to the instance of the product that lives within this
322      * portfolio.</p>
323      */
WithPortfolioId(Aws::String && value)324     inline ConstraintDetail& WithPortfolioId(Aws::String&& value) { SetPortfolioId(std::move(value)); return *this;}
325 
326     /**
327      * <p>The identifier of the portfolio the product resides in. The constraint
328      * applies only to the instance of the product that lives within this
329      * portfolio.</p>
330      */
WithPortfolioId(const char * value)331     inline ConstraintDetail& WithPortfolioId(const char* value) { SetPortfolioId(value); return *this;}
332 
333   private:
334 
335     Aws::String m_constraintId;
336     bool m_constraintIdHasBeenSet;
337 
338     Aws::String m_type;
339     bool m_typeHasBeenSet;
340 
341     Aws::String m_description;
342     bool m_descriptionHasBeenSet;
343 
344     Aws::String m_owner;
345     bool m_ownerHasBeenSet;
346 
347     Aws::String m_productId;
348     bool m_productIdHasBeenSet;
349 
350     Aws::String m_portfolioId;
351     bool m_portfolioIdHasBeenSet;
352   };
353 
354 } // namespace Model
355 } // namespace ServiceCatalog
356 } // namespace Aws
357