/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 StartTimer decision.

* Access Control

You can use IAM policies to control this * decision's access to Amazon SWF resources as follows:

  • Use a * Resource element with the domain name to limit the action to only * specified domains.

  • Use an Action element to allow * or deny permission to call this action.

  • You cannot use an IAM * policy to constrain this action's parameters.

If the caller * doesn't have sufficient permissions to invoke the action, or the parameter * values fall outside the specified constraints, the action fails. The associated * event attribute's cause parameter is set to * OPERATION_NOT_PERMITTED. For details and example IAM policies, see * Using * IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer * Guide.

See Also:

AWS * API Reference

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

The unique ID of the timer.

The specified string must not contain a * : (colon), / (slash), | (vertical bar), * or any control characters (\u0000-\u001f | * \u007f-\u009f). Also, it must not be the literal string * arn.

*/ inline const Aws::String& GetTimerId() const{ return m_timerId; } /** *

The unique ID of the timer.

The specified string must not contain a * : (colon), / (slash), | (vertical bar), * or any control characters (\u0000-\u001f | * \u007f-\u009f). Also, it must not be the literal string * arn.

*/ inline bool TimerIdHasBeenSet() const { return m_timerIdHasBeenSet; } /** *

The unique ID of the timer.

The specified string must not contain a * : (colon), / (slash), | (vertical bar), * or any control characters (\u0000-\u001f | * \u007f-\u009f). Also, it must not be the literal string * arn.

*/ inline void SetTimerId(const Aws::String& value) { m_timerIdHasBeenSet = true; m_timerId = value; } /** *

The unique ID of the timer.

The specified string must not contain a * : (colon), / (slash), | (vertical bar), * or any control characters (\u0000-\u001f | * \u007f-\u009f). Also, it must not be the literal string * arn.

*/ inline void SetTimerId(Aws::String&& value) { m_timerIdHasBeenSet = true; m_timerId = std::move(value); } /** *

The unique ID of the timer.

The specified string must not contain a * : (colon), / (slash), | (vertical bar), * or any control characters (\u0000-\u001f | * \u007f-\u009f). Also, it must not be the literal string * arn.

*/ inline void SetTimerId(const char* value) { m_timerIdHasBeenSet = true; m_timerId.assign(value); } /** *

The unique ID of the timer.

The specified string must not contain a * : (colon), / (slash), | (vertical bar), * or any control characters (\u0000-\u001f | * \u007f-\u009f). Also, it must not be the literal string * arn.

*/ inline StartTimerDecisionAttributes& WithTimerId(const Aws::String& value) { SetTimerId(value); return *this;} /** *

The unique ID of the timer.

The specified string must not contain a * : (colon), / (slash), | (vertical bar), * or any control characters (\u0000-\u001f | * \u007f-\u009f). Also, it must not be the literal string * arn.

*/ inline StartTimerDecisionAttributes& WithTimerId(Aws::String&& value) { SetTimerId(std::move(value)); return *this;} /** *

The unique ID of the timer.

The specified string must not contain a * : (colon), / (slash), | (vertical bar), * or any control characters (\u0000-\u001f | * \u007f-\u009f). Also, it must not be the literal string * arn.

*/ inline StartTimerDecisionAttributes& WithTimerId(const char* value) { SetTimerId(value); return *this;} /** *

The data attached to the event that can be used by the decider in subsequent * workflow tasks.

*/ inline const Aws::String& GetControl() const{ return m_control; } /** *

The data attached to the event that can be used by the decider in subsequent * workflow tasks.

*/ inline bool ControlHasBeenSet() const { return m_controlHasBeenSet; } /** *

The data attached to the event that can be used by the decider in subsequent * workflow tasks.

*/ inline void SetControl(const Aws::String& value) { m_controlHasBeenSet = true; m_control = value; } /** *

The data attached to the event that can be used by the decider in subsequent * workflow tasks.

*/ inline void SetControl(Aws::String&& value) { m_controlHasBeenSet = true; m_control = std::move(value); } /** *

The data attached to the event that can be used by the decider in subsequent * workflow tasks.

*/ inline void SetControl(const char* value) { m_controlHasBeenSet = true; m_control.assign(value); } /** *

The data attached to the event that can be used by the decider in subsequent * workflow tasks.

*/ inline StartTimerDecisionAttributes& WithControl(const Aws::String& value) { SetControl(value); return *this;} /** *

The data attached to the event that can be used by the decider in subsequent * workflow tasks.

*/ inline StartTimerDecisionAttributes& WithControl(Aws::String&& value) { SetControl(std::move(value)); return *this;} /** *

The data attached to the event that can be used by the decider in subsequent * workflow tasks.

*/ inline StartTimerDecisionAttributes& WithControl(const char* value) { SetControl(value); return *this;} /** *

The duration to wait before firing the timer.

The duration is * specified in seconds, an integer greater than or equal to 0.

*/ inline const Aws::String& GetStartToFireTimeout() const{ return m_startToFireTimeout; } /** *

The duration to wait before firing the timer.

The duration is * specified in seconds, an integer greater than or equal to 0.

*/ inline bool StartToFireTimeoutHasBeenSet() const { return m_startToFireTimeoutHasBeenSet; } /** *

The duration to wait before firing the timer.

The duration is * specified in seconds, an integer greater than or equal to 0.

*/ inline void SetStartToFireTimeout(const Aws::String& value) { m_startToFireTimeoutHasBeenSet = true; m_startToFireTimeout = value; } /** *

The duration to wait before firing the timer.

The duration is * specified in seconds, an integer greater than or equal to 0.

*/ inline void SetStartToFireTimeout(Aws::String&& value) { m_startToFireTimeoutHasBeenSet = true; m_startToFireTimeout = std::move(value); } /** *

The duration to wait before firing the timer.

The duration is * specified in seconds, an integer greater than or equal to 0.

*/ inline void SetStartToFireTimeout(const char* value) { m_startToFireTimeoutHasBeenSet = true; m_startToFireTimeout.assign(value); } /** *

The duration to wait before firing the timer.

The duration is * specified in seconds, an integer greater than or equal to 0.

*/ inline StartTimerDecisionAttributes& WithStartToFireTimeout(const Aws::String& value) { SetStartToFireTimeout(value); return *this;} /** *

The duration to wait before firing the timer.

The duration is * specified in seconds, an integer greater than or equal to 0.

*/ inline StartTimerDecisionAttributes& WithStartToFireTimeout(Aws::String&& value) { SetStartToFireTimeout(std::move(value)); return *this;} /** *

The duration to wait before firing the timer.

The duration is * specified in seconds, an integer greater than or equal to 0.

*/ inline StartTimerDecisionAttributes& WithStartToFireTimeout(const char* value) { SetStartToFireTimeout(value); return *this;} private: Aws::String m_timerId; bool m_timerIdHasBeenSet = false; Aws::String m_control; bool m_controlHasBeenSet = false; Aws::String m_startToFireTimeout; bool m_startToFireTimeoutHasBeenSet = false; }; } // namespace Model } // namespace SWF } // namespace Aws