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/swf/SWF_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 SWF
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Used to filter the workflow executions in visibility APIs based on a
28    * tag.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/swf-2012-01-25/TagFilter">AWS API
30    * Reference</a></p>
31    */
32   class AWS_SWF_API TagFilter
33   {
34   public:
35     TagFilter();
36     TagFilter(Aws::Utils::Json::JsonView jsonValue);
37     TagFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p> Specifies the tag that must be associated with the execution for it to meet
43      * the filter criteria.</p> <p>Tags may only contain unicode letters, digits,
44      * whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
45      */
GetTag()46     inline const Aws::String& GetTag() const{ return m_tag; }
47 
48     /**
49      * <p> Specifies the tag that must be associated with the execution for it to meet
50      * the filter criteria.</p> <p>Tags may only contain unicode letters, digits,
51      * whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
52      */
TagHasBeenSet()53     inline bool TagHasBeenSet() const { return m_tagHasBeenSet; }
54 
55     /**
56      * <p> Specifies the tag that must be associated with the execution for it to meet
57      * the filter criteria.</p> <p>Tags may only contain unicode letters, digits,
58      * whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
59      */
SetTag(const Aws::String & value)60     inline void SetTag(const Aws::String& value) { m_tagHasBeenSet = true; m_tag = value; }
61 
62     /**
63      * <p> Specifies the tag that must be associated with the execution for it to meet
64      * the filter criteria.</p> <p>Tags may only contain unicode letters, digits,
65      * whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
66      */
SetTag(Aws::String && value)67     inline void SetTag(Aws::String&& value) { m_tagHasBeenSet = true; m_tag = std::move(value); }
68 
69     /**
70      * <p> Specifies the tag that must be associated with the execution for it to meet
71      * the filter criteria.</p> <p>Tags may only contain unicode letters, digits,
72      * whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
73      */
SetTag(const char * value)74     inline void SetTag(const char* value) { m_tagHasBeenSet = true; m_tag.assign(value); }
75 
76     /**
77      * <p> Specifies the tag that must be associated with the execution for it to meet
78      * the filter criteria.</p> <p>Tags may only contain unicode letters, digits,
79      * whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
80      */
WithTag(const Aws::String & value)81     inline TagFilter& WithTag(const Aws::String& value) { SetTag(value); return *this;}
82 
83     /**
84      * <p> Specifies the tag that must be associated with the execution for it to meet
85      * the filter criteria.</p> <p>Tags may only contain unicode letters, digits,
86      * whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
87      */
WithTag(Aws::String && value)88     inline TagFilter& WithTag(Aws::String&& value) { SetTag(std::move(value)); return *this;}
89 
90     /**
91      * <p> Specifies the tag that must be associated with the execution for it to meet
92      * the filter criteria.</p> <p>Tags may only contain unicode letters, digits,
93      * whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
94      */
WithTag(const char * value)95     inline TagFilter& WithTag(const char* value) { SetTag(value); return *this;}
96 
97   private:
98 
99     Aws::String m_tag;
100     bool m_tagHasBeenSet;
101   };
102 
103 } // namespace Model
104 } // namespace SWF
105 } // namespace Aws
106