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>The search filter to use when listing history records.</p><p><h3>See
28    * Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ListRecordHistorySearchFilter">AWS
30    * API Reference</a></p>
31    */
32   class AWS_SERVICECATALOG_API ListRecordHistorySearchFilter
33   {
34   public:
35     ListRecordHistorySearchFilter();
36     ListRecordHistorySearchFilter(Aws::Utils::Json::JsonView jsonValue);
37     ListRecordHistorySearchFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The filter key.</p> <ul> <li> <p> <code>product</code> - Filter results based
43      * on the specified product identifier.</p> </li> <li> <p>
44      * <code>provisionedproduct</code> - Filter results based on the provisioned
45      * product identifier.</p> </li> </ul>
46      */
GetKey()47     inline const Aws::String& GetKey() const{ return m_key; }
48 
49     /**
50      * <p>The filter key.</p> <ul> <li> <p> <code>product</code> - Filter results based
51      * on the specified product identifier.</p> </li> <li> <p>
52      * <code>provisionedproduct</code> - Filter results based on the provisioned
53      * product identifier.</p> </li> </ul>
54      */
KeyHasBeenSet()55     inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
56 
57     /**
58      * <p>The filter key.</p> <ul> <li> <p> <code>product</code> - Filter results based
59      * on the specified product identifier.</p> </li> <li> <p>
60      * <code>provisionedproduct</code> - Filter results based on the provisioned
61      * product identifier.</p> </li> </ul>
62      */
SetKey(const Aws::String & value)63     inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
64 
65     /**
66      * <p>The filter key.</p> <ul> <li> <p> <code>product</code> - Filter results based
67      * on the specified product identifier.</p> </li> <li> <p>
68      * <code>provisionedproduct</code> - Filter results based on the provisioned
69      * product identifier.</p> </li> </ul>
70      */
SetKey(Aws::String && value)71     inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
72 
73     /**
74      * <p>The filter key.</p> <ul> <li> <p> <code>product</code> - Filter results based
75      * on the specified product identifier.</p> </li> <li> <p>
76      * <code>provisionedproduct</code> - Filter results based on the provisioned
77      * product identifier.</p> </li> </ul>
78      */
SetKey(const char * value)79     inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
80 
81     /**
82      * <p>The filter key.</p> <ul> <li> <p> <code>product</code> - Filter results based
83      * on the specified product identifier.</p> </li> <li> <p>
84      * <code>provisionedproduct</code> - Filter results based on the provisioned
85      * product identifier.</p> </li> </ul>
86      */
WithKey(const Aws::String & value)87     inline ListRecordHistorySearchFilter& WithKey(const Aws::String& value) { SetKey(value); return *this;}
88 
89     /**
90      * <p>The filter key.</p> <ul> <li> <p> <code>product</code> - Filter results based
91      * on the specified product identifier.</p> </li> <li> <p>
92      * <code>provisionedproduct</code> - Filter results based on the provisioned
93      * product identifier.</p> </li> </ul>
94      */
WithKey(Aws::String && value)95     inline ListRecordHistorySearchFilter& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
96 
97     /**
98      * <p>The filter key.</p> <ul> <li> <p> <code>product</code> - Filter results based
99      * on the specified product identifier.</p> </li> <li> <p>
100      * <code>provisionedproduct</code> - Filter results based on the provisioned
101      * product identifier.</p> </li> </ul>
102      */
WithKey(const char * value)103     inline ListRecordHistorySearchFilter& WithKey(const char* value) { SetKey(value); return *this;}
104 
105 
106     /**
107      * <p>The filter value.</p>
108      */
GetValue()109     inline const Aws::String& GetValue() const{ return m_value; }
110 
111     /**
112      * <p>The filter value.</p>
113      */
ValueHasBeenSet()114     inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
115 
116     /**
117      * <p>The filter value.</p>
118      */
SetValue(const Aws::String & value)119     inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
120 
121     /**
122      * <p>The filter value.</p>
123      */
SetValue(Aws::String && value)124     inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
125 
126     /**
127      * <p>The filter value.</p>
128      */
SetValue(const char * value)129     inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
130 
131     /**
132      * <p>The filter value.</p>
133      */
WithValue(const Aws::String & value)134     inline ListRecordHistorySearchFilter& WithValue(const Aws::String& value) { SetValue(value); return *this;}
135 
136     /**
137      * <p>The filter value.</p>
138      */
WithValue(Aws::String && value)139     inline ListRecordHistorySearchFilter& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
140 
141     /**
142      * <p>The filter value.</p>
143      */
WithValue(const char * value)144     inline ListRecordHistorySearchFilter& WithValue(const char* value) { SetValue(value); return *this;}
145 
146   private:
147 
148     Aws::String m_key;
149     bool m_keyHasBeenSet;
150 
151     Aws::String m_value;
152     bool m_valueHasBeenSet;
153   };
154 
155 } // namespace Model
156 } // namespace ServiceCatalog
157 } // namespace Aws
158