/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SWF { namespace Model { /** *

Provides the details of the WorkflowExecutionTimedOut * event.

See Also:

AWS * API Reference

*/ class WorkflowExecutionTimedOutEventAttributes { public: AWS_SWF_API WorkflowExecutionTimedOutEventAttributes(); AWS_SWF_API WorkflowExecutionTimedOutEventAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_SWF_API WorkflowExecutionTimedOutEventAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SWF_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The type of timeout that caused this event.

*/ inline const WorkflowExecutionTimeoutType& GetTimeoutType() const{ return m_timeoutType; } /** *

The type of timeout that caused this event.

*/ inline bool TimeoutTypeHasBeenSet() const { return m_timeoutTypeHasBeenSet; } /** *

The type of timeout that caused this event.

*/ inline void SetTimeoutType(const WorkflowExecutionTimeoutType& value) { m_timeoutTypeHasBeenSet = true; m_timeoutType = value; } /** *

The type of timeout that caused this event.

*/ inline void SetTimeoutType(WorkflowExecutionTimeoutType&& value) { m_timeoutTypeHasBeenSet = true; m_timeoutType = std::move(value); } /** *

The type of timeout that caused this event.

*/ inline WorkflowExecutionTimedOutEventAttributes& WithTimeoutType(const WorkflowExecutionTimeoutType& value) { SetTimeoutType(value); return *this;} /** *

The type of timeout that caused this event.

*/ inline WorkflowExecutionTimedOutEventAttributes& WithTimeoutType(WorkflowExecutionTimeoutType&& value) { SetTimeoutType(std::move(value)); return *this;} /** *

The policy used for the child workflow executions of this workflow * execution.

The supported child policies are:

  • * TERMINATE – The child executions are terminated.

  • * REQUEST_CANCEL – A request to cancel is attempted for each child * execution by recording a WorkflowExecutionCancelRequested event in * its history. It is up to the decider to take appropriate actions when it * receives an execution history with this event.

  • * ABANDON – No action is taken. The child executions continue to * run.

*/ inline const ChildPolicy& GetChildPolicy() const{ return m_childPolicy; } /** *

The policy used for the child workflow executions of this workflow * execution.

The supported child policies are:

  • * TERMINATE – The child executions are terminated.

  • * REQUEST_CANCEL – A request to cancel is attempted for each child * execution by recording a WorkflowExecutionCancelRequested event in * its history. It is up to the decider to take appropriate actions when it * receives an execution history with this event.

  • * ABANDON – No action is taken. The child executions continue to * run.

*/ inline bool ChildPolicyHasBeenSet() const { return m_childPolicyHasBeenSet; } /** *

The policy used for the child workflow executions of this workflow * execution.

The supported child policies are:

  • * TERMINATE – The child executions are terminated.

  • * REQUEST_CANCEL – A request to cancel is attempted for each child * execution by recording a WorkflowExecutionCancelRequested event in * its history. It is up to the decider to take appropriate actions when it * receives an execution history with this event.

  • * ABANDON – No action is taken. The child executions continue to * run.

*/ inline void SetChildPolicy(const ChildPolicy& value) { m_childPolicyHasBeenSet = true; m_childPolicy = value; } /** *

The policy used for the child workflow executions of this workflow * execution.

The supported child policies are:

  • * TERMINATE – The child executions are terminated.

  • * REQUEST_CANCEL – A request to cancel is attempted for each child * execution by recording a WorkflowExecutionCancelRequested event in * its history. It is up to the decider to take appropriate actions when it * receives an execution history with this event.

  • * ABANDON – No action is taken. The child executions continue to * run.

*/ inline void SetChildPolicy(ChildPolicy&& value) { m_childPolicyHasBeenSet = true; m_childPolicy = std::move(value); } /** *

The policy used for the child workflow executions of this workflow * execution.

The supported child policies are:

  • * TERMINATE – The child executions are terminated.

  • * REQUEST_CANCEL – A request to cancel is attempted for each child * execution by recording a WorkflowExecutionCancelRequested event in * its history. It is up to the decider to take appropriate actions when it * receives an execution history with this event.

  • * ABANDON – No action is taken. The child executions continue to * run.

*/ inline WorkflowExecutionTimedOutEventAttributes& WithChildPolicy(const ChildPolicy& value) { SetChildPolicy(value); return *this;} /** *

The policy used for the child workflow executions of this workflow * execution.

The supported child policies are:

  • * TERMINATE – The child executions are terminated.

  • * REQUEST_CANCEL – A request to cancel is attempted for each child * execution by recording a WorkflowExecutionCancelRequested event in * its history. It is up to the decider to take appropriate actions when it * receives an execution history with this event.

  • * ABANDON – No action is taken. The child executions continue to * run.

*/ inline WorkflowExecutionTimedOutEventAttributes& WithChildPolicy(ChildPolicy&& value) { SetChildPolicy(std::move(value)); return *this;} private: WorkflowExecutionTimeoutType m_timeoutType; bool m_timeoutTypeHasBeenSet = false; ChildPolicy m_childPolicy; bool m_childPolicyHasBeenSet = false; }; } // namespace Model } // namespace SWF } // namespace Aws