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/states/SFN_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/states/model/HistoryEventExecutionDataDetails.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace SFN
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Contains details about the successful completion of a task
29    * state.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/TaskSucceededEventDetails">AWS
31    * API Reference</a></p>
32    */
33   class AWS_SFN_API TaskSucceededEventDetails
34   {
35   public:
36     TaskSucceededEventDetails();
37     TaskSucceededEventDetails(Aws::Utils::Json::JsonView jsonValue);
38     TaskSucceededEventDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The action of the resource called by a task state.</p>
44      */
GetResourceType()45     inline const Aws::String& GetResourceType() const{ return m_resourceType; }
46 
47     /**
48      * <p>The action of the resource called by a task state.</p>
49      */
ResourceTypeHasBeenSet()50     inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
51 
52     /**
53      * <p>The action of the resource called by a task state.</p>
54      */
SetResourceType(const Aws::String & value)55     inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
56 
57     /**
58      * <p>The action of the resource called by a task state.</p>
59      */
SetResourceType(Aws::String && value)60     inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
61 
62     /**
63      * <p>The action of the resource called by a task state.</p>
64      */
SetResourceType(const char * value)65     inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); }
66 
67     /**
68      * <p>The action of the resource called by a task state.</p>
69      */
WithResourceType(const Aws::String & value)70     inline TaskSucceededEventDetails& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;}
71 
72     /**
73      * <p>The action of the resource called by a task state.</p>
74      */
WithResourceType(Aws::String && value)75     inline TaskSucceededEventDetails& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;}
76 
77     /**
78      * <p>The action of the resource called by a task state.</p>
79      */
WithResourceType(const char * value)80     inline TaskSucceededEventDetails& WithResourceType(const char* value) { SetResourceType(value); return *this;}
81 
82 
83     /**
84      * <p>The service name of the resource in a task state.</p>
85      */
GetResource()86     inline const Aws::String& GetResource() const{ return m_resource; }
87 
88     /**
89      * <p>The service name of the resource in a task state.</p>
90      */
ResourceHasBeenSet()91     inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; }
92 
93     /**
94      * <p>The service name of the resource in a task state.</p>
95      */
SetResource(const Aws::String & value)96     inline void SetResource(const Aws::String& value) { m_resourceHasBeenSet = true; m_resource = value; }
97 
98     /**
99      * <p>The service name of the resource in a task state.</p>
100      */
SetResource(Aws::String && value)101     inline void SetResource(Aws::String&& value) { m_resourceHasBeenSet = true; m_resource = std::move(value); }
102 
103     /**
104      * <p>The service name of the resource in a task state.</p>
105      */
SetResource(const char * value)106     inline void SetResource(const char* value) { m_resourceHasBeenSet = true; m_resource.assign(value); }
107 
108     /**
109      * <p>The service name of the resource in a task state.</p>
110      */
WithResource(const Aws::String & value)111     inline TaskSucceededEventDetails& WithResource(const Aws::String& value) { SetResource(value); return *this;}
112 
113     /**
114      * <p>The service name of the resource in a task state.</p>
115      */
WithResource(Aws::String && value)116     inline TaskSucceededEventDetails& WithResource(Aws::String&& value) { SetResource(std::move(value)); return *this;}
117 
118     /**
119      * <p>The service name of the resource in a task state.</p>
120      */
WithResource(const char * value)121     inline TaskSucceededEventDetails& WithResource(const char* value) { SetResource(value); return *this;}
122 
123 
124     /**
125      * <p>The full JSON response from a resource when a task has succeeded. This
126      * response becomes the output of the related task. Length constraints apply to the
127      * payload size, and are expressed as bytes in UTF-8 encoding.</p>
128      */
GetOutput()129     inline const Aws::String& GetOutput() const{ return m_output; }
130 
131     /**
132      * <p>The full JSON response from a resource when a task has succeeded. This
133      * response becomes the output of the related task. Length constraints apply to the
134      * payload size, and are expressed as bytes in UTF-8 encoding.</p>
135      */
OutputHasBeenSet()136     inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; }
137 
138     /**
139      * <p>The full JSON response from a resource when a task has succeeded. This
140      * response becomes the output of the related task. Length constraints apply to the
141      * payload size, and are expressed as bytes in UTF-8 encoding.</p>
142      */
SetOutput(const Aws::String & value)143     inline void SetOutput(const Aws::String& value) { m_outputHasBeenSet = true; m_output = value; }
144 
145     /**
146      * <p>The full JSON response from a resource when a task has succeeded. This
147      * response becomes the output of the related task. Length constraints apply to the
148      * payload size, and are expressed as bytes in UTF-8 encoding.</p>
149      */
SetOutput(Aws::String && value)150     inline void SetOutput(Aws::String&& value) { m_outputHasBeenSet = true; m_output = std::move(value); }
151 
152     /**
153      * <p>The full JSON response from a resource when a task has succeeded. This
154      * response becomes the output of the related task. Length constraints apply to the
155      * payload size, and are expressed as bytes in UTF-8 encoding.</p>
156      */
SetOutput(const char * value)157     inline void SetOutput(const char* value) { m_outputHasBeenSet = true; m_output.assign(value); }
158 
159     /**
160      * <p>The full JSON response from a resource when a task has succeeded. This
161      * response becomes the output of the related task. Length constraints apply to the
162      * payload size, and are expressed as bytes in UTF-8 encoding.</p>
163      */
WithOutput(const Aws::String & value)164     inline TaskSucceededEventDetails& WithOutput(const Aws::String& value) { SetOutput(value); return *this;}
165 
166     /**
167      * <p>The full JSON response from a resource when a task has succeeded. This
168      * response becomes the output of the related task. Length constraints apply to the
169      * payload size, and are expressed as bytes in UTF-8 encoding.</p>
170      */
WithOutput(Aws::String && value)171     inline TaskSucceededEventDetails& WithOutput(Aws::String&& value) { SetOutput(std::move(value)); return *this;}
172 
173     /**
174      * <p>The full JSON response from a resource when a task has succeeded. This
175      * response becomes the output of the related task. Length constraints apply to the
176      * payload size, and are expressed as bytes in UTF-8 encoding.</p>
177      */
WithOutput(const char * value)178     inline TaskSucceededEventDetails& WithOutput(const char* value) { SetOutput(value); return *this;}
179 
180 
181     /**
182      * <p>Contains details about the output of an execution history event.</p>
183      */
GetOutputDetails()184     inline const HistoryEventExecutionDataDetails& GetOutputDetails() const{ return m_outputDetails; }
185 
186     /**
187      * <p>Contains details about the output of an execution history event.</p>
188      */
OutputDetailsHasBeenSet()189     inline bool OutputDetailsHasBeenSet() const { return m_outputDetailsHasBeenSet; }
190 
191     /**
192      * <p>Contains details about the output of an execution history event.</p>
193      */
SetOutputDetails(const HistoryEventExecutionDataDetails & value)194     inline void SetOutputDetails(const HistoryEventExecutionDataDetails& value) { m_outputDetailsHasBeenSet = true; m_outputDetails = value; }
195 
196     /**
197      * <p>Contains details about the output of an execution history event.</p>
198      */
SetOutputDetails(HistoryEventExecutionDataDetails && value)199     inline void SetOutputDetails(HistoryEventExecutionDataDetails&& value) { m_outputDetailsHasBeenSet = true; m_outputDetails = std::move(value); }
200 
201     /**
202      * <p>Contains details about the output of an execution history event.</p>
203      */
WithOutputDetails(const HistoryEventExecutionDataDetails & value)204     inline TaskSucceededEventDetails& WithOutputDetails(const HistoryEventExecutionDataDetails& value) { SetOutputDetails(value); return *this;}
205 
206     /**
207      * <p>Contains details about the output of an execution history event.</p>
208      */
WithOutputDetails(HistoryEventExecutionDataDetails && value)209     inline TaskSucceededEventDetails& WithOutputDetails(HistoryEventExecutionDataDetails&& value) { SetOutputDetails(std::move(value)); return *this;}
210 
211   private:
212 
213     Aws::String m_resourceType;
214     bool m_resourceTypeHasBeenSet;
215 
216     Aws::String m_resource;
217     bool m_resourceHasBeenSet;
218 
219     Aws::String m_output;
220     bool m_outputHasBeenSet;
221 
222     HistoryEventExecutionDataDetails m_outputDetails;
223     bool m_outputDetailsHasBeenSet;
224   };
225 
226 } // namespace Model
227 } // namespace SFN
228 } // namespace Aws
229