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/swf/SWFRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/swf/model/WorkflowType.h> 11 #include <aws/swf/model/TaskList.h> 12 #include <aws/core/utils/memory/stl/AWSVector.h> 13 #include <aws/swf/model/ChildPolicy.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace SWF 19 { 20 namespace Model 21 { 22 23 /** 24 */ 25 class AWS_SWF_API StartWorkflowExecutionRequest : public SWFRequest 26 { 27 public: 28 StartWorkflowExecutionRequest(); 29 30 // Service request name is the Operation name which will send this request out, 31 // each operation should has unique request name, so that we can get operation's name from this request. 32 // Note: this is not true for response, multiple operations may have the same response name, 33 // so we can not get operation's name from response. GetServiceRequestName()34 inline virtual const char* GetServiceRequestName() const override { return "StartWorkflowExecution"; } 35 36 Aws::String SerializePayload() const override; 37 38 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 39 40 41 /** 42 * <p>The name of the domain in which the workflow execution is created.</p> 43 */ GetDomain()44 inline const Aws::String& GetDomain() const{ return m_domain; } 45 46 /** 47 * <p>The name of the domain in which the workflow execution is created.</p> 48 */ DomainHasBeenSet()49 inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } 50 51 /** 52 * <p>The name of the domain in which the workflow execution is created.</p> 53 */ SetDomain(const Aws::String & value)54 inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } 55 56 /** 57 * <p>The name of the domain in which the workflow execution is created.</p> 58 */ SetDomain(Aws::String && value)59 inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } 60 61 /** 62 * <p>The name of the domain in which the workflow execution is created.</p> 63 */ SetDomain(const char * value)64 inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } 65 66 /** 67 * <p>The name of the domain in which the workflow execution is created.</p> 68 */ WithDomain(const Aws::String & value)69 inline StartWorkflowExecutionRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} 70 71 /** 72 * <p>The name of the domain in which the workflow execution is created.</p> 73 */ WithDomain(Aws::String && value)74 inline StartWorkflowExecutionRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} 75 76 /** 77 * <p>The name of the domain in which the workflow execution is created.</p> 78 */ WithDomain(const char * value)79 inline StartWorkflowExecutionRequest& WithDomain(const char* value) { SetDomain(value); return *this;} 80 81 82 /** 83 * <p>The user defined identifier associated with the workflow execution. You can 84 * use this to associate a custom identifier with the workflow execution. You may 85 * specify the same identifier if a workflow execution is logically a 86 * <i>restart</i> of a previous execution. You cannot have two open workflow 87 * executions with the same <code>workflowId</code> at the same time within the 88 * same domain.</p> <p>The specified string must not start or end with whitespace. 89 * It must not contain a <code>:</code> (colon), <code>/</code> (slash), 90 * <code>|</code> (vertical bar), or any control characters 91 * (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not 92 * <i>be</i> the literal string <code>arn</code>.</p> 93 */ GetWorkflowId()94 inline const Aws::String& GetWorkflowId() const{ return m_workflowId; } 95 96 /** 97 * <p>The user defined identifier associated with the workflow execution. You can 98 * use this to associate a custom identifier with the workflow execution. You may 99 * specify the same identifier if a workflow execution is logically a 100 * <i>restart</i> of a previous execution. You cannot have two open workflow 101 * executions with the same <code>workflowId</code> at the same time within the 102 * same domain.</p> <p>The specified string must not start or end with whitespace. 103 * It must not contain a <code>:</code> (colon), <code>/</code> (slash), 104 * <code>|</code> (vertical bar), or any control characters 105 * (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not 106 * <i>be</i> the literal string <code>arn</code>.</p> 107 */ WorkflowIdHasBeenSet()108 inline bool WorkflowIdHasBeenSet() const { return m_workflowIdHasBeenSet; } 109 110 /** 111 * <p>The user defined identifier associated with the workflow execution. You can 112 * use this to associate a custom identifier with the workflow execution. You may 113 * specify the same identifier if a workflow execution is logically a 114 * <i>restart</i> of a previous execution. You cannot have two open workflow 115 * executions with the same <code>workflowId</code> at the same time within the 116 * same domain.</p> <p>The specified string must not start or end with whitespace. 117 * It must not contain a <code>:</code> (colon), <code>/</code> (slash), 118 * <code>|</code> (vertical bar), or any control characters 119 * (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not 120 * <i>be</i> the literal string <code>arn</code>.</p> 121 */ SetWorkflowId(const Aws::String & value)122 inline void SetWorkflowId(const Aws::String& value) { m_workflowIdHasBeenSet = true; m_workflowId = value; } 123 124 /** 125 * <p>The user defined identifier associated with the workflow execution. You can 126 * use this to associate a custom identifier with the workflow execution. You may 127 * specify the same identifier if a workflow execution is logically a 128 * <i>restart</i> of a previous execution. You cannot have two open workflow 129 * executions with the same <code>workflowId</code> at the same time within the 130 * same domain.</p> <p>The specified string must not start or end with whitespace. 131 * It must not contain a <code>:</code> (colon), <code>/</code> (slash), 132 * <code>|</code> (vertical bar), or any control characters 133 * (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not 134 * <i>be</i> the literal string <code>arn</code>.</p> 135 */ SetWorkflowId(Aws::String && value)136 inline void SetWorkflowId(Aws::String&& value) { m_workflowIdHasBeenSet = true; m_workflowId = std::move(value); } 137 138 /** 139 * <p>The user defined identifier associated with the workflow execution. You can 140 * use this to associate a custom identifier with the workflow execution. You may 141 * specify the same identifier if a workflow execution is logically a 142 * <i>restart</i> of a previous execution. You cannot have two open workflow 143 * executions with the same <code>workflowId</code> at the same time within the 144 * same domain.</p> <p>The specified string must not start or end with whitespace. 145 * It must not contain a <code>:</code> (colon), <code>/</code> (slash), 146 * <code>|</code> (vertical bar), or any control characters 147 * (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not 148 * <i>be</i> the literal string <code>arn</code>.</p> 149 */ SetWorkflowId(const char * value)150 inline void SetWorkflowId(const char* value) { m_workflowIdHasBeenSet = true; m_workflowId.assign(value); } 151 152 /** 153 * <p>The user defined identifier associated with the workflow execution. You can 154 * use this to associate a custom identifier with the workflow execution. You may 155 * specify the same identifier if a workflow execution is logically a 156 * <i>restart</i> of a previous execution. You cannot have two open workflow 157 * executions with the same <code>workflowId</code> at the same time within the 158 * same domain.</p> <p>The specified string must not start or end with whitespace. 159 * It must not contain a <code>:</code> (colon), <code>/</code> (slash), 160 * <code>|</code> (vertical bar), or any control characters 161 * (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not 162 * <i>be</i> the literal string <code>arn</code>.</p> 163 */ WithWorkflowId(const Aws::String & value)164 inline StartWorkflowExecutionRequest& WithWorkflowId(const Aws::String& value) { SetWorkflowId(value); return *this;} 165 166 /** 167 * <p>The user defined identifier associated with the workflow execution. You can 168 * use this to associate a custom identifier with the workflow execution. You may 169 * specify the same identifier if a workflow execution is logically a 170 * <i>restart</i> of a previous execution. You cannot have two open workflow 171 * executions with the same <code>workflowId</code> at the same time within the 172 * same domain.</p> <p>The specified string must not start or end with whitespace. 173 * It must not contain a <code>:</code> (colon), <code>/</code> (slash), 174 * <code>|</code> (vertical bar), or any control characters 175 * (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not 176 * <i>be</i> the literal string <code>arn</code>.</p> 177 */ WithWorkflowId(Aws::String && value)178 inline StartWorkflowExecutionRequest& WithWorkflowId(Aws::String&& value) { SetWorkflowId(std::move(value)); return *this;} 179 180 /** 181 * <p>The user defined identifier associated with the workflow execution. You can 182 * use this to associate a custom identifier with the workflow execution. You may 183 * specify the same identifier if a workflow execution is logically a 184 * <i>restart</i> of a previous execution. You cannot have two open workflow 185 * executions with the same <code>workflowId</code> at the same time within the 186 * same domain.</p> <p>The specified string must not start or end with whitespace. 187 * It must not contain a <code>:</code> (colon), <code>/</code> (slash), 188 * <code>|</code> (vertical bar), or any control characters 189 * (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not 190 * <i>be</i> the literal string <code>arn</code>.</p> 191 */ WithWorkflowId(const char * value)192 inline StartWorkflowExecutionRequest& WithWorkflowId(const char* value) { SetWorkflowId(value); return *this;} 193 194 195 /** 196 * <p>The type of the workflow to start.</p> 197 */ GetWorkflowType()198 inline const WorkflowType& GetWorkflowType() const{ return m_workflowType; } 199 200 /** 201 * <p>The type of the workflow to start.</p> 202 */ WorkflowTypeHasBeenSet()203 inline bool WorkflowTypeHasBeenSet() const { return m_workflowTypeHasBeenSet; } 204 205 /** 206 * <p>The type of the workflow to start.</p> 207 */ SetWorkflowType(const WorkflowType & value)208 inline void SetWorkflowType(const WorkflowType& value) { m_workflowTypeHasBeenSet = true; m_workflowType = value; } 209 210 /** 211 * <p>The type of the workflow to start.</p> 212 */ SetWorkflowType(WorkflowType && value)213 inline void SetWorkflowType(WorkflowType&& value) { m_workflowTypeHasBeenSet = true; m_workflowType = std::move(value); } 214 215 /** 216 * <p>The type of the workflow to start.</p> 217 */ WithWorkflowType(const WorkflowType & value)218 inline StartWorkflowExecutionRequest& WithWorkflowType(const WorkflowType& value) { SetWorkflowType(value); return *this;} 219 220 /** 221 * <p>The type of the workflow to start.</p> 222 */ WithWorkflowType(WorkflowType && value)223 inline StartWorkflowExecutionRequest& WithWorkflowType(WorkflowType&& value) { SetWorkflowType(std::move(value)); return *this;} 224 225 226 /** 227 * <p>The task list to use for the decision tasks generated for this workflow 228 * execution. This overrides the <code>defaultTaskList</code> specified when 229 * registering the workflow type.</p> <p>A task list for this workflow 230 * execution must be specified either as a default for the workflow type or through 231 * this parameter. If neither this parameter is set nor a default task list was 232 * specified at registration time then a fault is returned.</p> <p>The 233 * specified string must not start or end with whitespace. It must not contain a 234 * <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), 235 * or any control characters (<code>\u0000-\u001f</code> | 236 * <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string 237 * <code>arn</code>.</p> 238 */ GetTaskList()239 inline const TaskList& GetTaskList() const{ return m_taskList; } 240 241 /** 242 * <p>The task list to use for the decision tasks generated for this workflow 243 * execution. This overrides the <code>defaultTaskList</code> specified when 244 * registering the workflow type.</p> <p>A task list for this workflow 245 * execution must be specified either as a default for the workflow type or through 246 * this parameter. If neither this parameter is set nor a default task list was 247 * specified at registration time then a fault is returned.</p> <p>The 248 * specified string must not start or end with whitespace. It must not contain a 249 * <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), 250 * or any control characters (<code>\u0000-\u001f</code> | 251 * <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string 252 * <code>arn</code>.</p> 253 */ TaskListHasBeenSet()254 inline bool TaskListHasBeenSet() const { return m_taskListHasBeenSet; } 255 256 /** 257 * <p>The task list to use for the decision tasks generated for this workflow 258 * execution. This overrides the <code>defaultTaskList</code> specified when 259 * registering the workflow type.</p> <p>A task list for this workflow 260 * execution must be specified either as a default for the workflow type or through 261 * this parameter. If neither this parameter is set nor a default task list was 262 * specified at registration time then a fault is returned.</p> <p>The 263 * specified string must not start or end with whitespace. It must not contain a 264 * <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), 265 * or any control characters (<code>\u0000-\u001f</code> | 266 * <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string 267 * <code>arn</code>.</p> 268 */ SetTaskList(const TaskList & value)269 inline void SetTaskList(const TaskList& value) { m_taskListHasBeenSet = true; m_taskList = value; } 270 271 /** 272 * <p>The task list to use for the decision tasks generated for this workflow 273 * execution. This overrides the <code>defaultTaskList</code> specified when 274 * registering the workflow type.</p> <p>A task list for this workflow 275 * execution must be specified either as a default for the workflow type or through 276 * this parameter. If neither this parameter is set nor a default task list was 277 * specified at registration time then a fault is returned.</p> <p>The 278 * specified string must not start or end with whitespace. It must not contain a 279 * <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), 280 * or any control characters (<code>\u0000-\u001f</code> | 281 * <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string 282 * <code>arn</code>.</p> 283 */ SetTaskList(TaskList && value)284 inline void SetTaskList(TaskList&& value) { m_taskListHasBeenSet = true; m_taskList = std::move(value); } 285 286 /** 287 * <p>The task list to use for the decision tasks generated for this workflow 288 * execution. This overrides the <code>defaultTaskList</code> specified when 289 * registering the workflow type.</p> <p>A task list for this workflow 290 * execution must be specified either as a default for the workflow type or through 291 * this parameter. If neither this parameter is set nor a default task list was 292 * specified at registration time then a fault is returned.</p> <p>The 293 * specified string must not start or end with whitespace. It must not contain a 294 * <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), 295 * or any control characters (<code>\u0000-\u001f</code> | 296 * <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string 297 * <code>arn</code>.</p> 298 */ WithTaskList(const TaskList & value)299 inline StartWorkflowExecutionRequest& WithTaskList(const TaskList& value) { SetTaskList(value); return *this;} 300 301 /** 302 * <p>The task list to use for the decision tasks generated for this workflow 303 * execution. This overrides the <code>defaultTaskList</code> specified when 304 * registering the workflow type.</p> <p>A task list for this workflow 305 * execution must be specified either as a default for the workflow type or through 306 * this parameter. If neither this parameter is set nor a default task list was 307 * specified at registration time then a fault is returned.</p> <p>The 308 * specified string must not start or end with whitespace. It must not contain a 309 * <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), 310 * or any control characters (<code>\u0000-\u001f</code> | 311 * <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string 312 * <code>arn</code>.</p> 313 */ WithTaskList(TaskList && value)314 inline StartWorkflowExecutionRequest& WithTaskList(TaskList&& value) { SetTaskList(std::move(value)); return *this;} 315 316 317 /** 318 * <p>The task priority to use for this workflow execution. This overrides any 319 * default priority that was assigned when the workflow type was registered. If not 320 * set, then the default task priority for the workflow type is used. Valid values 321 * are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) 322 * to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher 323 * priority.</p> <p>For more information about setting task priority, see <a 324 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting 325 * Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p> 326 */ GetTaskPriority()327 inline const Aws::String& GetTaskPriority() const{ return m_taskPriority; } 328 329 /** 330 * <p>The task priority to use for this workflow execution. This overrides any 331 * default priority that was assigned when the workflow type was registered. If not 332 * set, then the default task priority for the workflow type is used. Valid values 333 * are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) 334 * to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher 335 * priority.</p> <p>For more information about setting task priority, see <a 336 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting 337 * Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p> 338 */ TaskPriorityHasBeenSet()339 inline bool TaskPriorityHasBeenSet() const { return m_taskPriorityHasBeenSet; } 340 341 /** 342 * <p>The task priority to use for this workflow execution. This overrides any 343 * default priority that was assigned when the workflow type was registered. If not 344 * set, then the default task priority for the workflow type is used. Valid values 345 * are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) 346 * to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher 347 * priority.</p> <p>For more information about setting task priority, see <a 348 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting 349 * Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p> 350 */ SetTaskPriority(const Aws::String & value)351 inline void SetTaskPriority(const Aws::String& value) { m_taskPriorityHasBeenSet = true; m_taskPriority = value; } 352 353 /** 354 * <p>The task priority to use for this workflow execution. This overrides any 355 * default priority that was assigned when the workflow type was registered. If not 356 * set, then the default task priority for the workflow type is used. Valid values 357 * are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) 358 * to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher 359 * priority.</p> <p>For more information about setting task priority, see <a 360 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting 361 * Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p> 362 */ SetTaskPriority(Aws::String && value)363 inline void SetTaskPriority(Aws::String&& value) { m_taskPriorityHasBeenSet = true; m_taskPriority = std::move(value); } 364 365 /** 366 * <p>The task priority to use for this workflow execution. This overrides any 367 * default priority that was assigned when the workflow type was registered. If not 368 * set, then the default task priority for the workflow type is used. Valid values 369 * are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) 370 * to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher 371 * priority.</p> <p>For more information about setting task priority, see <a 372 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting 373 * Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p> 374 */ SetTaskPriority(const char * value)375 inline void SetTaskPriority(const char* value) { m_taskPriorityHasBeenSet = true; m_taskPriority.assign(value); } 376 377 /** 378 * <p>The task priority to use for this workflow execution. This overrides any 379 * default priority that was assigned when the workflow type was registered. If not 380 * set, then the default task priority for the workflow type is used. Valid values 381 * are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) 382 * to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher 383 * priority.</p> <p>For more information about setting task priority, see <a 384 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting 385 * Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p> 386 */ WithTaskPriority(const Aws::String & value)387 inline StartWorkflowExecutionRequest& WithTaskPriority(const Aws::String& value) { SetTaskPriority(value); return *this;} 388 389 /** 390 * <p>The task priority to use for this workflow execution. This overrides any 391 * default priority that was assigned when the workflow type was registered. If not 392 * set, then the default task priority for the workflow type is used. Valid values 393 * are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) 394 * to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher 395 * priority.</p> <p>For more information about setting task priority, see <a 396 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting 397 * Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p> 398 */ WithTaskPriority(Aws::String && value)399 inline StartWorkflowExecutionRequest& WithTaskPriority(Aws::String&& value) { SetTaskPriority(std::move(value)); return *this;} 400 401 /** 402 * <p>The task priority to use for this workflow execution. This overrides any 403 * default priority that was assigned when the workflow type was registered. If not 404 * set, then the default task priority for the workflow type is used. Valid values 405 * are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) 406 * to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher 407 * priority.</p> <p>For more information about setting task priority, see <a 408 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting 409 * Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p> 410 */ WithTaskPriority(const char * value)411 inline StartWorkflowExecutionRequest& WithTaskPriority(const char* value) { SetTaskPriority(value); return *this;} 412 413 414 /** 415 * <p>The input for the workflow execution. This is a free form string which should 416 * be meaningful to the workflow you are starting. This <code>input</code> is made 417 * available to the new workflow execution in the 418 * <code>WorkflowExecutionStarted</code> history event.</p> 419 */ GetInput()420 inline const Aws::String& GetInput() const{ return m_input; } 421 422 /** 423 * <p>The input for the workflow execution. This is a free form string which should 424 * be meaningful to the workflow you are starting. This <code>input</code> is made 425 * available to the new workflow execution in the 426 * <code>WorkflowExecutionStarted</code> history event.</p> 427 */ InputHasBeenSet()428 inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } 429 430 /** 431 * <p>The input for the workflow execution. This is a free form string which should 432 * be meaningful to the workflow you are starting. This <code>input</code> is made 433 * available to the new workflow execution in the 434 * <code>WorkflowExecutionStarted</code> history event.</p> 435 */ SetInput(const Aws::String & value)436 inline void SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = value; } 437 438 /** 439 * <p>The input for the workflow execution. This is a free form string which should 440 * be meaningful to the workflow you are starting. This <code>input</code> is made 441 * available to the new workflow execution in the 442 * <code>WorkflowExecutionStarted</code> history event.</p> 443 */ SetInput(Aws::String && value)444 inline void SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } 445 446 /** 447 * <p>The input for the workflow execution. This is a free form string which should 448 * be meaningful to the workflow you are starting. This <code>input</code> is made 449 * available to the new workflow execution in the 450 * <code>WorkflowExecutionStarted</code> history event.</p> 451 */ SetInput(const char * value)452 inline void SetInput(const char* value) { m_inputHasBeenSet = true; m_input.assign(value); } 453 454 /** 455 * <p>The input for the workflow execution. This is a free form string which should 456 * be meaningful to the workflow you are starting. This <code>input</code> is made 457 * available to the new workflow execution in the 458 * <code>WorkflowExecutionStarted</code> history event.</p> 459 */ WithInput(const Aws::String & value)460 inline StartWorkflowExecutionRequest& WithInput(const Aws::String& value) { SetInput(value); return *this;} 461 462 /** 463 * <p>The input for the workflow execution. This is a free form string which should 464 * be meaningful to the workflow you are starting. This <code>input</code> is made 465 * available to the new workflow execution in the 466 * <code>WorkflowExecutionStarted</code> history event.</p> 467 */ WithInput(Aws::String && value)468 inline StartWorkflowExecutionRequest& WithInput(Aws::String&& value) { SetInput(std::move(value)); return *this;} 469 470 /** 471 * <p>The input for the workflow execution. This is a free form string which should 472 * be meaningful to the workflow you are starting. This <code>input</code> is made 473 * available to the new workflow execution in the 474 * <code>WorkflowExecutionStarted</code> history event.</p> 475 */ WithInput(const char * value)476 inline StartWorkflowExecutionRequest& WithInput(const char* value) { SetInput(value); return *this;} 477 478 479 /** 480 * <p>The total duration for this workflow execution. This overrides the 481 * defaultExecutionStartToCloseTimeout specified when registering the workflow 482 * type.</p> <p>The duration is specified in seconds; an integer greater than or 483 * equal to <code>0</code>. Exceeding this limit causes the workflow execution to 484 * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot 485 * specify a value of "NONE" for this timeout; there is a one-year max limit on the 486 * time that a workflow execution can run.</p> <p>An execution 487 * start-to-close timeout must be specified either through this parameter or as a 488 * default when the workflow type is registered. If neither this parameter nor a 489 * default execution start-to-close timeout is specified, a fault is returned.</p> 490 * 491 */ GetExecutionStartToCloseTimeout()492 inline const Aws::String& GetExecutionStartToCloseTimeout() const{ return m_executionStartToCloseTimeout; } 493 494 /** 495 * <p>The total duration for this workflow execution. This overrides the 496 * defaultExecutionStartToCloseTimeout specified when registering the workflow 497 * type.</p> <p>The duration is specified in seconds; an integer greater than or 498 * equal to <code>0</code>. Exceeding this limit causes the workflow execution to 499 * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot 500 * specify a value of "NONE" for this timeout; there is a one-year max limit on the 501 * time that a workflow execution can run.</p> <p>An execution 502 * start-to-close timeout must be specified either through this parameter or as a 503 * default when the workflow type is registered. If neither this parameter nor a 504 * default execution start-to-close timeout is specified, a fault is returned.</p> 505 * 506 */ ExecutionStartToCloseTimeoutHasBeenSet()507 inline bool ExecutionStartToCloseTimeoutHasBeenSet() const { return m_executionStartToCloseTimeoutHasBeenSet; } 508 509 /** 510 * <p>The total duration for this workflow execution. This overrides the 511 * defaultExecutionStartToCloseTimeout specified when registering the workflow 512 * type.</p> <p>The duration is specified in seconds; an integer greater than or 513 * equal to <code>0</code>. Exceeding this limit causes the workflow execution to 514 * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot 515 * specify a value of "NONE" for this timeout; there is a one-year max limit on the 516 * time that a workflow execution can run.</p> <p>An execution 517 * start-to-close timeout must be specified either through this parameter or as a 518 * default when the workflow type is registered. If neither this parameter nor a 519 * default execution start-to-close timeout is specified, a fault is returned.</p> 520 * 521 */ SetExecutionStartToCloseTimeout(const Aws::String & value)522 inline void SetExecutionStartToCloseTimeout(const Aws::String& value) { m_executionStartToCloseTimeoutHasBeenSet = true; m_executionStartToCloseTimeout = value; } 523 524 /** 525 * <p>The total duration for this workflow execution. This overrides the 526 * defaultExecutionStartToCloseTimeout specified when registering the workflow 527 * type.</p> <p>The duration is specified in seconds; an integer greater than or 528 * equal to <code>0</code>. Exceeding this limit causes the workflow execution to 529 * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot 530 * specify a value of "NONE" for this timeout; there is a one-year max limit on the 531 * time that a workflow execution can run.</p> <p>An execution 532 * start-to-close timeout must be specified either through this parameter or as a 533 * default when the workflow type is registered. If neither this parameter nor a 534 * default execution start-to-close timeout is specified, a fault is returned.</p> 535 * 536 */ SetExecutionStartToCloseTimeout(Aws::String && value)537 inline void SetExecutionStartToCloseTimeout(Aws::String&& value) { m_executionStartToCloseTimeoutHasBeenSet = true; m_executionStartToCloseTimeout = std::move(value); } 538 539 /** 540 * <p>The total duration for this workflow execution. This overrides the 541 * defaultExecutionStartToCloseTimeout specified when registering the workflow 542 * type.</p> <p>The duration is specified in seconds; an integer greater than or 543 * equal to <code>0</code>. Exceeding this limit causes the workflow execution to 544 * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot 545 * specify a value of "NONE" for this timeout; there is a one-year max limit on the 546 * time that a workflow execution can run.</p> <p>An execution 547 * start-to-close timeout must be specified either through this parameter or as a 548 * default when the workflow type is registered. If neither this parameter nor a 549 * default execution start-to-close timeout is specified, a fault is returned.</p> 550 * 551 */ SetExecutionStartToCloseTimeout(const char * value)552 inline void SetExecutionStartToCloseTimeout(const char* value) { m_executionStartToCloseTimeoutHasBeenSet = true; m_executionStartToCloseTimeout.assign(value); } 553 554 /** 555 * <p>The total duration for this workflow execution. This overrides the 556 * defaultExecutionStartToCloseTimeout specified when registering the workflow 557 * type.</p> <p>The duration is specified in seconds; an integer greater than or 558 * equal to <code>0</code>. Exceeding this limit causes the workflow execution to 559 * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot 560 * specify a value of "NONE" for this timeout; there is a one-year max limit on the 561 * time that a workflow execution can run.</p> <p>An execution 562 * start-to-close timeout must be specified either through this parameter or as a 563 * default when the workflow type is registered. If neither this parameter nor a 564 * default execution start-to-close timeout is specified, a fault is returned.</p> 565 * 566 */ WithExecutionStartToCloseTimeout(const Aws::String & value)567 inline StartWorkflowExecutionRequest& WithExecutionStartToCloseTimeout(const Aws::String& value) { SetExecutionStartToCloseTimeout(value); return *this;} 568 569 /** 570 * <p>The total duration for this workflow execution. This overrides the 571 * defaultExecutionStartToCloseTimeout specified when registering the workflow 572 * type.</p> <p>The duration is specified in seconds; an integer greater than or 573 * equal to <code>0</code>. Exceeding this limit causes the workflow execution to 574 * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot 575 * specify a value of "NONE" for this timeout; there is a one-year max limit on the 576 * time that a workflow execution can run.</p> <p>An execution 577 * start-to-close timeout must be specified either through this parameter or as a 578 * default when the workflow type is registered. If neither this parameter nor a 579 * default execution start-to-close timeout is specified, a fault is returned.</p> 580 * 581 */ WithExecutionStartToCloseTimeout(Aws::String && value)582 inline StartWorkflowExecutionRequest& WithExecutionStartToCloseTimeout(Aws::String&& value) { SetExecutionStartToCloseTimeout(std::move(value)); return *this;} 583 584 /** 585 * <p>The total duration for this workflow execution. This overrides the 586 * defaultExecutionStartToCloseTimeout specified when registering the workflow 587 * type.</p> <p>The duration is specified in seconds; an integer greater than or 588 * equal to <code>0</code>. Exceeding this limit causes the workflow execution to 589 * time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot 590 * specify a value of "NONE" for this timeout; there is a one-year max limit on the 591 * time that a workflow execution can run.</p> <p>An execution 592 * start-to-close timeout must be specified either through this parameter or as a 593 * default when the workflow type is registered. If neither this parameter nor a 594 * default execution start-to-close timeout is specified, a fault is returned.</p> 595 * 596 */ WithExecutionStartToCloseTimeout(const char * value)597 inline StartWorkflowExecutionRequest& WithExecutionStartToCloseTimeout(const char* value) { SetExecutionStartToCloseTimeout(value); return *this;} 598 599 600 /** 601 * <p>The list of tags to associate with the workflow execution. You can specify a 602 * maximum of 5 tags. You can list workflow executions with a specific tag by 603 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 604 * and specifying a <a>TagFilter</a>.</p> 605 */ GetTagList()606 inline const Aws::Vector<Aws::String>& GetTagList() const{ return m_tagList; } 607 608 /** 609 * <p>The list of tags to associate with the workflow execution. You can specify a 610 * maximum of 5 tags. You can list workflow executions with a specific tag by 611 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 612 * and specifying a <a>TagFilter</a>.</p> 613 */ TagListHasBeenSet()614 inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } 615 616 /** 617 * <p>The list of tags to associate with the workflow execution. You can specify a 618 * maximum of 5 tags. You can list workflow executions with a specific tag by 619 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 620 * and specifying a <a>TagFilter</a>.</p> 621 */ SetTagList(const Aws::Vector<Aws::String> & value)622 inline void SetTagList(const Aws::Vector<Aws::String>& value) { m_tagListHasBeenSet = true; m_tagList = value; } 623 624 /** 625 * <p>The list of tags to associate with the workflow execution. You can specify a 626 * maximum of 5 tags. You can list workflow executions with a specific tag by 627 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 628 * and specifying a <a>TagFilter</a>.</p> 629 */ SetTagList(Aws::Vector<Aws::String> && value)630 inline void SetTagList(Aws::Vector<Aws::String>&& value) { m_tagListHasBeenSet = true; m_tagList = std::move(value); } 631 632 /** 633 * <p>The list of tags to associate with the workflow execution. You can specify a 634 * maximum of 5 tags. You can list workflow executions with a specific tag by 635 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 636 * and specifying a <a>TagFilter</a>.</p> 637 */ WithTagList(const Aws::Vector<Aws::String> & value)638 inline StartWorkflowExecutionRequest& WithTagList(const Aws::Vector<Aws::String>& value) { SetTagList(value); return *this;} 639 640 /** 641 * <p>The list of tags to associate with the workflow execution. You can specify a 642 * maximum of 5 tags. You can list workflow executions with a specific tag by 643 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 644 * and specifying a <a>TagFilter</a>.</p> 645 */ WithTagList(Aws::Vector<Aws::String> && value)646 inline StartWorkflowExecutionRequest& WithTagList(Aws::Vector<Aws::String>&& value) { SetTagList(std::move(value)); return *this;} 647 648 /** 649 * <p>The list of tags to associate with the workflow execution. You can specify a 650 * maximum of 5 tags. You can list workflow executions with a specific tag by 651 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 652 * and specifying a <a>TagFilter</a>.</p> 653 */ AddTagList(const Aws::String & value)654 inline StartWorkflowExecutionRequest& AddTagList(const Aws::String& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } 655 656 /** 657 * <p>The list of tags to associate with the workflow execution. You can specify a 658 * maximum of 5 tags. You can list workflow executions with a specific tag by 659 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 660 * and specifying a <a>TagFilter</a>.</p> 661 */ AddTagList(Aws::String && value)662 inline StartWorkflowExecutionRequest& AddTagList(Aws::String&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } 663 664 /** 665 * <p>The list of tags to associate with the workflow execution. You can specify a 666 * maximum of 5 tags. You can list workflow executions with a specific tag by 667 * calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> 668 * and specifying a <a>TagFilter</a>.</p> 669 */ AddTagList(const char * value)670 inline StartWorkflowExecutionRequest& AddTagList(const char* value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } 671 672 673 /** 674 * <p>Specifies the maximum duration of decision tasks for this workflow execution. 675 * This parameter overrides the <code>defaultTaskStartToCloseTimout</code> 676 * specified when registering the workflow type using 677 * <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an 678 * integer greater than or equal to <code>0</code>. You can use <code>NONE</code> 679 * to specify unlimited duration.</p> <p>A task start-to-close timeout for 680 * this workflow execution must be specified either as a default for the workflow 681 * type or through this parameter. If neither this parameter is set nor a default 682 * task start-to-close timeout was specified at registration time then a fault is 683 * returned.</p> 684 */ GetTaskStartToCloseTimeout()685 inline const Aws::String& GetTaskStartToCloseTimeout() const{ return m_taskStartToCloseTimeout; } 686 687 /** 688 * <p>Specifies the maximum duration of decision tasks for this workflow execution. 689 * This parameter overrides the <code>defaultTaskStartToCloseTimout</code> 690 * specified when registering the workflow type using 691 * <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an 692 * integer greater than or equal to <code>0</code>. You can use <code>NONE</code> 693 * to specify unlimited duration.</p> <p>A task start-to-close timeout for 694 * this workflow execution must be specified either as a default for the workflow 695 * type or through this parameter. If neither this parameter is set nor a default 696 * task start-to-close timeout was specified at registration time then a fault is 697 * returned.</p> 698 */ TaskStartToCloseTimeoutHasBeenSet()699 inline bool TaskStartToCloseTimeoutHasBeenSet() const { return m_taskStartToCloseTimeoutHasBeenSet; } 700 701 /** 702 * <p>Specifies the maximum duration of decision tasks for this workflow execution. 703 * This parameter overrides the <code>defaultTaskStartToCloseTimout</code> 704 * specified when registering the workflow type using 705 * <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an 706 * integer greater than or equal to <code>0</code>. You can use <code>NONE</code> 707 * to specify unlimited duration.</p> <p>A task start-to-close timeout for 708 * this workflow execution must be specified either as a default for the workflow 709 * type or through this parameter. If neither this parameter is set nor a default 710 * task start-to-close timeout was specified at registration time then a fault is 711 * returned.</p> 712 */ SetTaskStartToCloseTimeout(const Aws::String & value)713 inline void SetTaskStartToCloseTimeout(const Aws::String& value) { m_taskStartToCloseTimeoutHasBeenSet = true; m_taskStartToCloseTimeout = value; } 714 715 /** 716 * <p>Specifies the maximum duration of decision tasks for this workflow execution. 717 * This parameter overrides the <code>defaultTaskStartToCloseTimout</code> 718 * specified when registering the workflow type using 719 * <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an 720 * integer greater than or equal to <code>0</code>. You can use <code>NONE</code> 721 * to specify unlimited duration.</p> <p>A task start-to-close timeout for 722 * this workflow execution must be specified either as a default for the workflow 723 * type or through this parameter. If neither this parameter is set nor a default 724 * task start-to-close timeout was specified at registration time then a fault is 725 * returned.</p> 726 */ SetTaskStartToCloseTimeout(Aws::String && value)727 inline void SetTaskStartToCloseTimeout(Aws::String&& value) { m_taskStartToCloseTimeoutHasBeenSet = true; m_taskStartToCloseTimeout = std::move(value); } 728 729 /** 730 * <p>Specifies the maximum duration of decision tasks for this workflow execution. 731 * This parameter overrides the <code>defaultTaskStartToCloseTimout</code> 732 * specified when registering the workflow type using 733 * <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an 734 * integer greater than or equal to <code>0</code>. You can use <code>NONE</code> 735 * to specify unlimited duration.</p> <p>A task start-to-close timeout for 736 * this workflow execution must be specified either as a default for the workflow 737 * type or through this parameter. If neither this parameter is set nor a default 738 * task start-to-close timeout was specified at registration time then a fault is 739 * returned.</p> 740 */ SetTaskStartToCloseTimeout(const char * value)741 inline void SetTaskStartToCloseTimeout(const char* value) { m_taskStartToCloseTimeoutHasBeenSet = true; m_taskStartToCloseTimeout.assign(value); } 742 743 /** 744 * <p>Specifies the maximum duration of decision tasks for this workflow execution. 745 * This parameter overrides the <code>defaultTaskStartToCloseTimout</code> 746 * specified when registering the workflow type using 747 * <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an 748 * integer greater than or equal to <code>0</code>. You can use <code>NONE</code> 749 * to specify unlimited duration.</p> <p>A task start-to-close timeout for 750 * this workflow execution must be specified either as a default for the workflow 751 * type or through this parameter. If neither this parameter is set nor a default 752 * task start-to-close timeout was specified at registration time then a fault is 753 * returned.</p> 754 */ WithTaskStartToCloseTimeout(const Aws::String & value)755 inline StartWorkflowExecutionRequest& WithTaskStartToCloseTimeout(const Aws::String& value) { SetTaskStartToCloseTimeout(value); return *this;} 756 757 /** 758 * <p>Specifies the maximum duration of decision tasks for this workflow execution. 759 * This parameter overrides the <code>defaultTaskStartToCloseTimout</code> 760 * specified when registering the workflow type using 761 * <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an 762 * integer greater than or equal to <code>0</code>. You can use <code>NONE</code> 763 * to specify unlimited duration.</p> <p>A task start-to-close timeout for 764 * this workflow execution must be specified either as a default for the workflow 765 * type or through this parameter. If neither this parameter is set nor a default 766 * task start-to-close timeout was specified at registration time then a fault is 767 * returned.</p> 768 */ WithTaskStartToCloseTimeout(Aws::String && value)769 inline StartWorkflowExecutionRequest& WithTaskStartToCloseTimeout(Aws::String&& value) { SetTaskStartToCloseTimeout(std::move(value)); return *this;} 770 771 /** 772 * <p>Specifies the maximum duration of decision tasks for this workflow execution. 773 * This parameter overrides the <code>defaultTaskStartToCloseTimout</code> 774 * specified when registering the workflow type using 775 * <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an 776 * integer greater than or equal to <code>0</code>. You can use <code>NONE</code> 777 * to specify unlimited duration.</p> <p>A task start-to-close timeout for 778 * this workflow execution must be specified either as a default for the workflow 779 * type or through this parameter. If neither this parameter is set nor a default 780 * task start-to-close timeout was specified at registration time then a fault is 781 * returned.</p> 782 */ WithTaskStartToCloseTimeout(const char * value)783 inline StartWorkflowExecutionRequest& WithTaskStartToCloseTimeout(const char* value) { SetTaskStartToCloseTimeout(value); return *this;} 784 785 786 /** 787 * <p>If set, specifies the policy to use for the child workflow executions of this 788 * workflow execution if it is terminated, by calling the 789 * <a>TerminateWorkflowExecution</a> action explicitly or due to an expired 790 * timeout. This policy overrides the default child policy specified when 791 * registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The 792 * supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The 793 * child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> 794 * – A request to cancel is attempted for each child execution by recording a 795 * <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to 796 * the decider to take appropriate actions when it receives an execution history 797 * with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. 798 * The child executions continue to run.</p> </li> </ul> <p>A child policy 799 * for this workflow execution must be specified either as a default for the 800 * workflow type or through this parameter. If neither this parameter is set nor a 801 * default child policy was specified at registration time then a fault is 802 * returned.</p> 803 */ GetChildPolicy()804 inline const ChildPolicy& GetChildPolicy() const{ return m_childPolicy; } 805 806 /** 807 * <p>If set, specifies the policy to use for the child workflow executions of this 808 * workflow execution if it is terminated, by calling the 809 * <a>TerminateWorkflowExecution</a> action explicitly or due to an expired 810 * timeout. This policy overrides the default child policy specified when 811 * registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The 812 * supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The 813 * child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> 814 * – A request to cancel is attempted for each child execution by recording a 815 * <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to 816 * the decider to take appropriate actions when it receives an execution history 817 * with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. 818 * The child executions continue to run.</p> </li> </ul> <p>A child policy 819 * for this workflow execution must be specified either as a default for the 820 * workflow type or through this parameter. If neither this parameter is set nor a 821 * default child policy was specified at registration time then a fault is 822 * returned.</p> 823 */ ChildPolicyHasBeenSet()824 inline bool ChildPolicyHasBeenSet() const { return m_childPolicyHasBeenSet; } 825 826 /** 827 * <p>If set, specifies the policy to use for the child workflow executions of this 828 * workflow execution if it is terminated, by calling the 829 * <a>TerminateWorkflowExecution</a> action explicitly or due to an expired 830 * timeout. This policy overrides the default child policy specified when 831 * registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The 832 * supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The 833 * child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> 834 * – A request to cancel is attempted for each child execution by recording a 835 * <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to 836 * the decider to take appropriate actions when it receives an execution history 837 * with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. 838 * The child executions continue to run.</p> </li> </ul> <p>A child policy 839 * for this workflow execution must be specified either as a default for the 840 * workflow type or through this parameter. If neither this parameter is set nor a 841 * default child policy was specified at registration time then a fault is 842 * returned.</p> 843 */ SetChildPolicy(const ChildPolicy & value)844 inline void SetChildPolicy(const ChildPolicy& value) { m_childPolicyHasBeenSet = true; m_childPolicy = value; } 845 846 /** 847 * <p>If set, specifies the policy to use for the child workflow executions of this 848 * workflow execution if it is terminated, by calling the 849 * <a>TerminateWorkflowExecution</a> action explicitly or due to an expired 850 * timeout. This policy overrides the default child policy specified when 851 * registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The 852 * supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The 853 * child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> 854 * – A request to cancel is attempted for each child execution by recording a 855 * <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to 856 * the decider to take appropriate actions when it receives an execution history 857 * with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. 858 * The child executions continue to run.</p> </li> </ul> <p>A child policy 859 * for this workflow execution must be specified either as a default for the 860 * workflow type or through this parameter. If neither this parameter is set nor a 861 * default child policy was specified at registration time then a fault is 862 * returned.</p> 863 */ SetChildPolicy(ChildPolicy && value)864 inline void SetChildPolicy(ChildPolicy&& value) { m_childPolicyHasBeenSet = true; m_childPolicy = std::move(value); } 865 866 /** 867 * <p>If set, specifies the policy to use for the child workflow executions of this 868 * workflow execution if it is terminated, by calling the 869 * <a>TerminateWorkflowExecution</a> action explicitly or due to an expired 870 * timeout. This policy overrides the default child policy specified when 871 * registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The 872 * supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The 873 * child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> 874 * – A request to cancel is attempted for each child execution by recording a 875 * <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to 876 * the decider to take appropriate actions when it receives an execution history 877 * with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. 878 * The child executions continue to run.</p> </li> </ul> <p>A child policy 879 * for this workflow execution must be specified either as a default for the 880 * workflow type or through this parameter. If neither this parameter is set nor a 881 * default child policy was specified at registration time then a fault is 882 * returned.</p> 883 */ WithChildPolicy(const ChildPolicy & value)884 inline StartWorkflowExecutionRequest& WithChildPolicy(const ChildPolicy& value) { SetChildPolicy(value); return *this;} 885 886 /** 887 * <p>If set, specifies the policy to use for the child workflow executions of this 888 * workflow execution if it is terminated, by calling the 889 * <a>TerminateWorkflowExecution</a> action explicitly or due to an expired 890 * timeout. This policy overrides the default child policy specified when 891 * registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The 892 * supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The 893 * child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> 894 * – A request to cancel is attempted for each child execution by recording a 895 * <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to 896 * the decider to take appropriate actions when it receives an execution history 897 * with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. 898 * The child executions continue to run.</p> </li> </ul> <p>A child policy 899 * for this workflow execution must be specified either as a default for the 900 * workflow type or through this parameter. If neither this parameter is set nor a 901 * default child policy was specified at registration time then a fault is 902 * returned.</p> 903 */ WithChildPolicy(ChildPolicy && value)904 inline StartWorkflowExecutionRequest& WithChildPolicy(ChildPolicy&& value) { SetChildPolicy(std::move(value)); return *this;} 905 906 907 /** 908 * <p>The IAM role to attach to this workflow execution.</p> <p>Executions 909 * of this workflow type need IAM roles to invoke Lambda functions. If you don't 910 * attach an IAM role, any attempt to schedule a Lambda task fails. This results in 911 * a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, 912 * see <a 913 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> 914 * in the <i>Amazon SWF Developer Guide</i>.</p> 915 */ GetLambdaRole()916 inline const Aws::String& GetLambdaRole() const{ return m_lambdaRole; } 917 918 /** 919 * <p>The IAM role to attach to this workflow execution.</p> <p>Executions 920 * of this workflow type need IAM roles to invoke Lambda functions. If you don't 921 * attach an IAM role, any attempt to schedule a Lambda task fails. This results in 922 * a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, 923 * see <a 924 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> 925 * in the <i>Amazon SWF Developer Guide</i>.</p> 926 */ LambdaRoleHasBeenSet()927 inline bool LambdaRoleHasBeenSet() const { return m_lambdaRoleHasBeenSet; } 928 929 /** 930 * <p>The IAM role to attach to this workflow execution.</p> <p>Executions 931 * of this workflow type need IAM roles to invoke Lambda functions. If you don't 932 * attach an IAM role, any attempt to schedule a Lambda task fails. This results in 933 * a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, 934 * see <a 935 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> 936 * in the <i>Amazon SWF Developer Guide</i>.</p> 937 */ SetLambdaRole(const Aws::String & value)938 inline void SetLambdaRole(const Aws::String& value) { m_lambdaRoleHasBeenSet = true; m_lambdaRole = value; } 939 940 /** 941 * <p>The IAM role to attach to this workflow execution.</p> <p>Executions 942 * of this workflow type need IAM roles to invoke Lambda functions. If you don't 943 * attach an IAM role, any attempt to schedule a Lambda task fails. This results in 944 * a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, 945 * see <a 946 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> 947 * in the <i>Amazon SWF Developer Guide</i>.</p> 948 */ SetLambdaRole(Aws::String && value)949 inline void SetLambdaRole(Aws::String&& value) { m_lambdaRoleHasBeenSet = true; m_lambdaRole = std::move(value); } 950 951 /** 952 * <p>The IAM role to attach to this workflow execution.</p> <p>Executions 953 * of this workflow type need IAM roles to invoke Lambda functions. If you don't 954 * attach an IAM role, any attempt to schedule a Lambda task fails. This results in 955 * a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, 956 * see <a 957 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> 958 * in the <i>Amazon SWF Developer Guide</i>.</p> 959 */ SetLambdaRole(const char * value)960 inline void SetLambdaRole(const char* value) { m_lambdaRoleHasBeenSet = true; m_lambdaRole.assign(value); } 961 962 /** 963 * <p>The IAM role to attach to this workflow execution.</p> <p>Executions 964 * of this workflow type need IAM roles to invoke Lambda functions. If you don't 965 * attach an IAM role, any attempt to schedule a Lambda task fails. This results in 966 * a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, 967 * see <a 968 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> 969 * in the <i>Amazon SWF Developer Guide</i>.</p> 970 */ WithLambdaRole(const Aws::String & value)971 inline StartWorkflowExecutionRequest& WithLambdaRole(const Aws::String& value) { SetLambdaRole(value); return *this;} 972 973 /** 974 * <p>The IAM role to attach to this workflow execution.</p> <p>Executions 975 * of this workflow type need IAM roles to invoke Lambda functions. If you don't 976 * attach an IAM role, any attempt to schedule a Lambda task fails. This results in 977 * a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, 978 * see <a 979 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> 980 * in the <i>Amazon SWF Developer Guide</i>.</p> 981 */ WithLambdaRole(Aws::String && value)982 inline StartWorkflowExecutionRequest& WithLambdaRole(Aws::String&& value) { SetLambdaRole(std::move(value)); return *this;} 983 984 /** 985 * <p>The IAM role to attach to this workflow execution.</p> <p>Executions 986 * of this workflow type need IAM roles to invoke Lambda functions. If you don't 987 * attach an IAM role, any attempt to schedule a Lambda task fails. This results in 988 * a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, 989 * see <a 990 * href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> 991 * in the <i>Amazon SWF Developer Guide</i>.</p> 992 */ WithLambdaRole(const char * value)993 inline StartWorkflowExecutionRequest& WithLambdaRole(const char* value) { SetLambdaRole(value); return *this;} 994 995 private: 996 997 Aws::String m_domain; 998 bool m_domainHasBeenSet; 999 1000 Aws::String m_workflowId; 1001 bool m_workflowIdHasBeenSet; 1002 1003 WorkflowType m_workflowType; 1004 bool m_workflowTypeHasBeenSet; 1005 1006 TaskList m_taskList; 1007 bool m_taskListHasBeenSet; 1008 1009 Aws::String m_taskPriority; 1010 bool m_taskPriorityHasBeenSet; 1011 1012 Aws::String m_input; 1013 bool m_inputHasBeenSet; 1014 1015 Aws::String m_executionStartToCloseTimeout; 1016 bool m_executionStartToCloseTimeoutHasBeenSet; 1017 1018 Aws::Vector<Aws::String> m_tagList; 1019 bool m_tagListHasBeenSet; 1020 1021 Aws::String m_taskStartToCloseTimeout; 1022 bool m_taskStartToCloseTimeoutHasBeenSet; 1023 1024 ChildPolicy m_childPolicy; 1025 bool m_childPolicyHasBeenSet; 1026 1027 Aws::String m_lambdaRole; 1028 bool m_lambdaRoleHasBeenSet; 1029 }; 1030 1031 } // namespace Model 1032 } // namespace SWF 1033 } // namespace Aws 1034