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/datasync/DataSync_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/datasync/model/TaskStatus.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 DataSync
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Represents a single entry in a list of tasks. <code>TaskListEntry</code>
29    * returns an array that contains a list of tasks when the <a
30    * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTasks.html">ListTasks</a>
31    * operation is called. A task includes the source and destination file systems to
32    * sync and the options to use for the tasks.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TaskListEntry">AWS
34    * API Reference</a></p>
35    */
36   class AWS_DATASYNC_API TaskListEntry
37   {
38   public:
39     TaskListEntry();
40     TaskListEntry(Aws::Utils::Json::JsonView jsonValue);
41     TaskListEntry& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>The Amazon Resource Name (ARN) of the task.</p>
47      */
GetTaskArn()48     inline const Aws::String& GetTaskArn() const{ return m_taskArn; }
49 
50     /**
51      * <p>The Amazon Resource Name (ARN) of the task.</p>
52      */
TaskArnHasBeenSet()53     inline bool TaskArnHasBeenSet() const { return m_taskArnHasBeenSet; }
54 
55     /**
56      * <p>The Amazon Resource Name (ARN) of the task.</p>
57      */
SetTaskArn(const Aws::String & value)58     inline void SetTaskArn(const Aws::String& value) { m_taskArnHasBeenSet = true; m_taskArn = value; }
59 
60     /**
61      * <p>The Amazon Resource Name (ARN) of the task.</p>
62      */
SetTaskArn(Aws::String && value)63     inline void SetTaskArn(Aws::String&& value) { m_taskArnHasBeenSet = true; m_taskArn = std::move(value); }
64 
65     /**
66      * <p>The Amazon Resource Name (ARN) of the task.</p>
67      */
SetTaskArn(const char * value)68     inline void SetTaskArn(const char* value) { m_taskArnHasBeenSet = true; m_taskArn.assign(value); }
69 
70     /**
71      * <p>The Amazon Resource Name (ARN) of the task.</p>
72      */
WithTaskArn(const Aws::String & value)73     inline TaskListEntry& WithTaskArn(const Aws::String& value) { SetTaskArn(value); return *this;}
74 
75     /**
76      * <p>The Amazon Resource Name (ARN) of the task.</p>
77      */
WithTaskArn(Aws::String && value)78     inline TaskListEntry& WithTaskArn(Aws::String&& value) { SetTaskArn(std::move(value)); return *this;}
79 
80     /**
81      * <p>The Amazon Resource Name (ARN) of the task.</p>
82      */
WithTaskArn(const char * value)83     inline TaskListEntry& WithTaskArn(const char* value) { SetTaskArn(value); return *this;}
84 
85 
86     /**
87      * <p>The status of the task.</p>
88      */
GetStatus()89     inline const TaskStatus& GetStatus() const{ return m_status; }
90 
91     /**
92      * <p>The status of the task.</p>
93      */
StatusHasBeenSet()94     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
95 
96     /**
97      * <p>The status of the task.</p>
98      */
SetStatus(const TaskStatus & value)99     inline void SetStatus(const TaskStatus& value) { m_statusHasBeenSet = true; m_status = value; }
100 
101     /**
102      * <p>The status of the task.</p>
103      */
SetStatus(TaskStatus && value)104     inline void SetStatus(TaskStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
105 
106     /**
107      * <p>The status of the task.</p>
108      */
WithStatus(const TaskStatus & value)109     inline TaskListEntry& WithStatus(const TaskStatus& value) { SetStatus(value); return *this;}
110 
111     /**
112      * <p>The status of the task.</p>
113      */
WithStatus(TaskStatus && value)114     inline TaskListEntry& WithStatus(TaskStatus&& value) { SetStatus(std::move(value)); return *this;}
115 
116 
117     /**
118      * <p>The name of the task.</p>
119      */
GetName()120     inline const Aws::String& GetName() const{ return m_name; }
121 
122     /**
123      * <p>The name of the task.</p>
124      */
NameHasBeenSet()125     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
126 
127     /**
128      * <p>The name of the task.</p>
129      */
SetName(const Aws::String & value)130     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
131 
132     /**
133      * <p>The name of the task.</p>
134      */
SetName(Aws::String && value)135     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
136 
137     /**
138      * <p>The name of the task.</p>
139      */
SetName(const char * value)140     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
141 
142     /**
143      * <p>The name of the task.</p>
144      */
WithName(const Aws::String & value)145     inline TaskListEntry& WithName(const Aws::String& value) { SetName(value); return *this;}
146 
147     /**
148      * <p>The name of the task.</p>
149      */
WithName(Aws::String && value)150     inline TaskListEntry& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
151 
152     /**
153      * <p>The name of the task.</p>
154      */
WithName(const char * value)155     inline TaskListEntry& WithName(const char* value) { SetName(value); return *this;}
156 
157   private:
158 
159     Aws::String m_taskArn;
160     bool m_taskArnHasBeenSet;
161 
162     TaskStatus m_status;
163     bool m_statusHasBeenSet;
164 
165     Aws::String m_name;
166     bool m_nameHasBeenSet;
167   };
168 
169 } // namespace Model
170 } // namespace DataSync
171 } // namespace Aws
172