/** * 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 IoT { namespace Model { /** *

Starts execution of a Step Functions state machine.

See Also:

* AWS * API Reference

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

(Optional) A name will be given to the state machine execution consisting of * this prefix followed by a UUID. Step Functions automatically creates a unique * name for each state machine execution if one is not provided.

*/ inline const Aws::String& GetExecutionNamePrefix() const{ return m_executionNamePrefix; } /** *

(Optional) A name will be given to the state machine execution consisting of * this prefix followed by a UUID. Step Functions automatically creates a unique * name for each state machine execution if one is not provided.

*/ inline bool ExecutionNamePrefixHasBeenSet() const { return m_executionNamePrefixHasBeenSet; } /** *

(Optional) A name will be given to the state machine execution consisting of * this prefix followed by a UUID. Step Functions automatically creates a unique * name for each state machine execution if one is not provided.

*/ inline void SetExecutionNamePrefix(const Aws::String& value) { m_executionNamePrefixHasBeenSet = true; m_executionNamePrefix = value; } /** *

(Optional) A name will be given to the state machine execution consisting of * this prefix followed by a UUID. Step Functions automatically creates a unique * name for each state machine execution if one is not provided.

*/ inline void SetExecutionNamePrefix(Aws::String&& value) { m_executionNamePrefixHasBeenSet = true; m_executionNamePrefix = std::move(value); } /** *

(Optional) A name will be given to the state machine execution consisting of * this prefix followed by a UUID. Step Functions automatically creates a unique * name for each state machine execution if one is not provided.

*/ inline void SetExecutionNamePrefix(const char* value) { m_executionNamePrefixHasBeenSet = true; m_executionNamePrefix.assign(value); } /** *

(Optional) A name will be given to the state machine execution consisting of * this prefix followed by a UUID. Step Functions automatically creates a unique * name for each state machine execution if one is not provided.

*/ inline StepFunctionsAction& WithExecutionNamePrefix(const Aws::String& value) { SetExecutionNamePrefix(value); return *this;} /** *

(Optional) A name will be given to the state machine execution consisting of * this prefix followed by a UUID. Step Functions automatically creates a unique * name for each state machine execution if one is not provided.

*/ inline StepFunctionsAction& WithExecutionNamePrefix(Aws::String&& value) { SetExecutionNamePrefix(std::move(value)); return *this;} /** *

(Optional) A name will be given to the state machine execution consisting of * this prefix followed by a UUID. Step Functions automatically creates a unique * name for each state machine execution if one is not provided.

*/ inline StepFunctionsAction& WithExecutionNamePrefix(const char* value) { SetExecutionNamePrefix(value); return *this;} /** *

The name of the Step Functions state machine whose execution will be * started.

*/ inline const Aws::String& GetStateMachineName() const{ return m_stateMachineName; } /** *

The name of the Step Functions state machine whose execution will be * started.

*/ inline bool StateMachineNameHasBeenSet() const { return m_stateMachineNameHasBeenSet; } /** *

The name of the Step Functions state machine whose execution will be * started.

*/ inline void SetStateMachineName(const Aws::String& value) { m_stateMachineNameHasBeenSet = true; m_stateMachineName = value; } /** *

The name of the Step Functions state machine whose execution will be * started.

*/ inline void SetStateMachineName(Aws::String&& value) { m_stateMachineNameHasBeenSet = true; m_stateMachineName = std::move(value); } /** *

The name of the Step Functions state machine whose execution will be * started.

*/ inline void SetStateMachineName(const char* value) { m_stateMachineNameHasBeenSet = true; m_stateMachineName.assign(value); } /** *

The name of the Step Functions state machine whose execution will be * started.

*/ inline StepFunctionsAction& WithStateMachineName(const Aws::String& value) { SetStateMachineName(value); return *this;} /** *

The name of the Step Functions state machine whose execution will be * started.

*/ inline StepFunctionsAction& WithStateMachineName(Aws::String&& value) { SetStateMachineName(std::move(value)); return *this;} /** *

The name of the Step Functions state machine whose execution will be * started.

*/ inline StepFunctionsAction& WithStateMachineName(const char* value) { SetStateMachineName(value); return *this;} /** *

The ARN of the role that grants IoT permission to start execution of a state * machine ("Action":"states:StartExecution").

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of the role that grants IoT permission to start execution of a state * machine ("Action":"states:StartExecution").

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN of the role that grants IoT permission to start execution of a state * machine ("Action":"states:StartExecution").

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The ARN of the role that grants IoT permission to start execution of a state * machine ("Action":"states:StartExecution").

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The ARN of the role that grants IoT permission to start execution of a state * machine ("Action":"states:StartExecution").

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The ARN of the role that grants IoT permission to start execution of a state * machine ("Action":"states:StartExecution").

*/ inline StepFunctionsAction& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the role that grants IoT permission to start execution of a state * machine ("Action":"states:StartExecution").

*/ inline StepFunctionsAction& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the role that grants IoT permission to start execution of a state * machine ("Action":"states:StartExecution").

*/ inline StepFunctionsAction& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} private: Aws::String m_executionNamePrefix; bool m_executionNamePrefixHasBeenSet = false; Aws::String m_stateMachineName; bool m_stateMachineNameHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws