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>Summary information about a constraint.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ConstraintSummary">AWS
29    * API Reference</a></p>
30    */
31   class AWS_SERVICECATALOG_API ConstraintSummary
32   {
33   public:
34     ConstraintSummary();
35     ConstraintSummary(Aws::Utils::Json::JsonView jsonValue);
36     ConstraintSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
42      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
43      * <code>TEMPLATE</code> </p> </li> </ul>
44      */
GetType()45     inline const Aws::String& GetType() const{ return m_type; }
46 
47     /**
48      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
49      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
50      * <code>TEMPLATE</code> </p> </li> </ul>
51      */
TypeHasBeenSet()52     inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
53 
54     /**
55      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
56      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
57      * <code>TEMPLATE</code> </p> </li> </ul>
58      */
SetType(const Aws::String & value)59     inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; }
60 
61     /**
62      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
63      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
64      * <code>TEMPLATE</code> </p> </li> </ul>
65      */
SetType(Aws::String && value)66     inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
67 
68     /**
69      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
70      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
71      * <code>TEMPLATE</code> </p> </li> </ul>
72      */
SetType(const char * value)73     inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); }
74 
75     /**
76      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
77      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
78      * <code>TEMPLATE</code> </p> </li> </ul>
79      */
WithType(const Aws::String & value)80     inline ConstraintSummary& WithType(const Aws::String& value) { SetType(value); return *this;}
81 
82     /**
83      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
84      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
85      * <code>TEMPLATE</code> </p> </li> </ul>
86      */
WithType(Aws::String && value)87     inline ConstraintSummary& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;}
88 
89     /**
90      * <p>The type of constraint.</p> <ul> <li> <p> <code>LAUNCH</code> </p> </li> <li>
91      * <p> <code>NOTIFICATION</code> </p> </li> <li> <p>STACKSET</p> </li> <li> <p>
92      * <code>TEMPLATE</code> </p> </li> </ul>
93      */
WithType(const char * value)94     inline ConstraintSummary& WithType(const char* value) { SetType(value); return *this;}
95 
96 
97     /**
98      * <p>The description of the constraint.</p>
99      */
GetDescription()100     inline const Aws::String& GetDescription() const{ return m_description; }
101 
102     /**
103      * <p>The description of the constraint.</p>
104      */
DescriptionHasBeenSet()105     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
106 
107     /**
108      * <p>The description of the constraint.</p>
109      */
SetDescription(const Aws::String & value)110     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
111 
112     /**
113      * <p>The description of the constraint.</p>
114      */
SetDescription(Aws::String && value)115     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
116 
117     /**
118      * <p>The description of the constraint.</p>
119      */
SetDescription(const char * value)120     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
121 
122     /**
123      * <p>The description of the constraint.</p>
124      */
WithDescription(const Aws::String & value)125     inline ConstraintSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
126 
127     /**
128      * <p>The description of the constraint.</p>
129      */
WithDescription(Aws::String && value)130     inline ConstraintSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
131 
132     /**
133      * <p>The description of the constraint.</p>
134      */
WithDescription(const char * value)135     inline ConstraintSummary& WithDescription(const char* value) { SetDescription(value); return *this;}
136 
137   private:
138 
139     Aws::String m_type;
140     bool m_typeHasBeenSet;
141 
142     Aws::String m_description;
143     bool m_descriptionHasBeenSet;
144   };
145 
146 } // namespace Model
147 } // namespace ServiceCatalog
148 } // namespace Aws
149