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/frauddetector/FraudDetector_EXPORTS.h>
8 #include <aws/frauddetector/FraudDetectorRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/frauddetector/model/Tag.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace FraudDetector
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_FRAUDDETECTOR_API PutOutcomeRequest : public FraudDetectorRequest
24   {
25   public:
26     PutOutcomeRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "PutOutcome"; }
33 
34     Aws::String SerializePayload() const override;
35 
36     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
38 
39     /**
40      * <p>The name of the outcome.</p>
41      */
GetName()42     inline const Aws::String& GetName() const{ return m_name; }
43 
44     /**
45      * <p>The name of the outcome.</p>
46      */
NameHasBeenSet()47     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
48 
49     /**
50      * <p>The name of the outcome.</p>
51      */
SetName(const Aws::String & value)52     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
53 
54     /**
55      * <p>The name of the outcome.</p>
56      */
SetName(Aws::String && value)57     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
58 
59     /**
60      * <p>The name of the outcome.</p>
61      */
SetName(const char * value)62     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
63 
64     /**
65      * <p>The name of the outcome.</p>
66      */
WithName(const Aws::String & value)67     inline PutOutcomeRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
68 
69     /**
70      * <p>The name of the outcome.</p>
71      */
WithName(Aws::String && value)72     inline PutOutcomeRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
73 
74     /**
75      * <p>The name of the outcome.</p>
76      */
WithName(const char * value)77     inline PutOutcomeRequest& WithName(const char* value) { SetName(value); return *this;}
78 
79 
80     /**
81      * <p>The outcome description.</p>
82      */
GetDescription()83     inline const Aws::String& GetDescription() const{ return m_description; }
84 
85     /**
86      * <p>The outcome description.</p>
87      */
DescriptionHasBeenSet()88     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
89 
90     /**
91      * <p>The outcome description.</p>
92      */
SetDescription(const Aws::String & value)93     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
94 
95     /**
96      * <p>The outcome description.</p>
97      */
SetDescription(Aws::String && value)98     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
99 
100     /**
101      * <p>The outcome description.</p>
102      */
SetDescription(const char * value)103     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
104 
105     /**
106      * <p>The outcome description.</p>
107      */
WithDescription(const Aws::String & value)108     inline PutOutcomeRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
109 
110     /**
111      * <p>The outcome description.</p>
112      */
WithDescription(Aws::String && value)113     inline PutOutcomeRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
114 
115     /**
116      * <p>The outcome description.</p>
117      */
WithDescription(const char * value)118     inline PutOutcomeRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
119 
120 
121     /**
122      * <p>A collection of key and value pairs.</p>
123      */
GetTags()124     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
125 
126     /**
127      * <p>A collection of key and value pairs.</p>
128      */
TagsHasBeenSet()129     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
130 
131     /**
132      * <p>A collection of key and value pairs.</p>
133      */
SetTags(const Aws::Vector<Tag> & value)134     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
135 
136     /**
137      * <p>A collection of key and value pairs.</p>
138      */
SetTags(Aws::Vector<Tag> && value)139     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
140 
141     /**
142      * <p>A collection of key and value pairs.</p>
143      */
WithTags(const Aws::Vector<Tag> & value)144     inline PutOutcomeRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
145 
146     /**
147      * <p>A collection of key and value pairs.</p>
148      */
WithTags(Aws::Vector<Tag> && value)149     inline PutOutcomeRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
150 
151     /**
152      * <p>A collection of key and value pairs.</p>
153      */
AddTags(const Tag & value)154     inline PutOutcomeRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
155 
156     /**
157      * <p>A collection of key and value pairs.</p>
158      */
AddTags(Tag && value)159     inline PutOutcomeRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
160 
161   private:
162 
163     Aws::String m_name;
164     bool m_nameHasBeenSet;
165 
166     Aws::String m_description;
167     bool m_descriptionHasBeenSet;
168 
169     Aws::Vector<Tag> m_tags;
170     bool m_tagsHasBeenSet;
171   };
172 
173 } // namespace Model
174 } // namespace FraudDetector
175 } // namespace Aws
176