/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace SFN { namespace Model { /** */ class UpdateStateMachineRequest : public SFNRequest { public: AWS_SFN_API UpdateStateMachineRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateStateMachine"; } AWS_SFN_API Aws::String SerializePayload() const override; AWS_SFN_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon Resource Name (ARN) of the state machine.

*/ inline const Aws::String& GetStateMachineArn() const{ return m_stateMachineArn; } /** *

The Amazon Resource Name (ARN) of the state machine.

*/ inline bool StateMachineArnHasBeenSet() const { return m_stateMachineArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the state machine.

*/ inline void SetStateMachineArn(const Aws::String& value) { m_stateMachineArnHasBeenSet = true; m_stateMachineArn = value; } /** *

The Amazon Resource Name (ARN) of the state machine.

*/ inline void SetStateMachineArn(Aws::String&& value) { m_stateMachineArnHasBeenSet = true; m_stateMachineArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the state machine.

*/ inline void SetStateMachineArn(const char* value) { m_stateMachineArnHasBeenSet = true; m_stateMachineArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the state machine.

*/ inline UpdateStateMachineRequest& WithStateMachineArn(const Aws::String& value) { SetStateMachineArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the state machine.

*/ inline UpdateStateMachineRequest& WithStateMachineArn(Aws::String&& value) { SetStateMachineArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the state machine.

*/ inline UpdateStateMachineRequest& WithStateMachineArn(const char* value) { SetStateMachineArn(value); return *this;} /** *

The Amazon States Language definition of the state machine. See Amazon * States Language.

*/ inline const Aws::String& GetDefinition() const{ return m_definition; } /** *

The Amazon States Language definition of the state machine. See Amazon * States Language.

*/ inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; } /** *

The Amazon States Language definition of the state machine. See Amazon * States Language.

*/ inline void SetDefinition(const Aws::String& value) { m_definitionHasBeenSet = true; m_definition = value; } /** *

The Amazon States Language definition of the state machine. See Amazon * States Language.

*/ inline void SetDefinition(Aws::String&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); } /** *

The Amazon States Language definition of the state machine. See Amazon * States Language.

*/ inline void SetDefinition(const char* value) { m_definitionHasBeenSet = true; m_definition.assign(value); } /** *

The Amazon States Language definition of the state machine. See Amazon * States Language.

*/ inline UpdateStateMachineRequest& WithDefinition(const Aws::String& value) { SetDefinition(value); return *this;} /** *

The Amazon States Language definition of the state machine. See Amazon * States Language.

*/ inline UpdateStateMachineRequest& WithDefinition(Aws::String&& value) { SetDefinition(std::move(value)); return *this;} /** *

The Amazon States Language definition of the state machine. See Amazon * States Language.

*/ inline UpdateStateMachineRequest& WithDefinition(const char* value) { SetDefinition(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role of the state machine.

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

The Amazon Resource Name (ARN) of the IAM role of the state machine.

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

The Amazon Resource Name (ARN) of the IAM role of the state machine.

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

The Amazon Resource Name (ARN) of the IAM role of the state machine.

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

The Amazon Resource Name (ARN) of the IAM role of the state machine.

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

The Amazon Resource Name (ARN) of the IAM role of the state machine.

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

The Amazon Resource Name (ARN) of the IAM role of the state machine.

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

The Amazon Resource Name (ARN) of the IAM role of the state machine.

*/ inline UpdateStateMachineRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

Use the LoggingConfiguration data type to set CloudWatch Logs * options.

*/ inline const LoggingConfiguration& GetLoggingConfiguration() const{ return m_loggingConfiguration; } /** *

Use the LoggingConfiguration data type to set CloudWatch Logs * options.

*/ inline bool LoggingConfigurationHasBeenSet() const { return m_loggingConfigurationHasBeenSet; } /** *

Use the LoggingConfiguration data type to set CloudWatch Logs * options.

*/ inline void SetLoggingConfiguration(const LoggingConfiguration& value) { m_loggingConfigurationHasBeenSet = true; m_loggingConfiguration = value; } /** *

Use the LoggingConfiguration data type to set CloudWatch Logs * options.

*/ inline void SetLoggingConfiguration(LoggingConfiguration&& value) { m_loggingConfigurationHasBeenSet = true; m_loggingConfiguration = std::move(value); } /** *

Use the LoggingConfiguration data type to set CloudWatch Logs * options.

*/ inline UpdateStateMachineRequest& WithLoggingConfiguration(const LoggingConfiguration& value) { SetLoggingConfiguration(value); return *this;} /** *

Use the LoggingConfiguration data type to set CloudWatch Logs * options.

*/ inline UpdateStateMachineRequest& WithLoggingConfiguration(LoggingConfiguration&& value) { SetLoggingConfiguration(std::move(value)); return *this;} /** *

Selects whether X-Ray tracing is enabled.

*/ inline const TracingConfiguration& GetTracingConfiguration() const{ return m_tracingConfiguration; } /** *

Selects whether X-Ray tracing is enabled.

*/ inline bool TracingConfigurationHasBeenSet() const { return m_tracingConfigurationHasBeenSet; } /** *

Selects whether X-Ray tracing is enabled.

*/ inline void SetTracingConfiguration(const TracingConfiguration& value) { m_tracingConfigurationHasBeenSet = true; m_tracingConfiguration = value; } /** *

Selects whether X-Ray tracing is enabled.

*/ inline void SetTracingConfiguration(TracingConfiguration&& value) { m_tracingConfigurationHasBeenSet = true; m_tracingConfiguration = std::move(value); } /** *

Selects whether X-Ray tracing is enabled.

*/ inline UpdateStateMachineRequest& WithTracingConfiguration(const TracingConfiguration& value) { SetTracingConfiguration(value); return *this;} /** *

Selects whether X-Ray tracing is enabled.

*/ inline UpdateStateMachineRequest& WithTracingConfiguration(TracingConfiguration&& value) { SetTracingConfiguration(std::move(value)); return *this;} /** *

Specifies whether the state machine version is published. The default is * false. To publish a version after updating the state machine, set * publish to true.

*/ inline bool GetPublish() const{ return m_publish; } /** *

Specifies whether the state machine version is published. The default is * false. To publish a version after updating the state machine, set * publish to true.

*/ inline bool PublishHasBeenSet() const { return m_publishHasBeenSet; } /** *

Specifies whether the state machine version is published. The default is * false. To publish a version after updating the state machine, set * publish to true.

*/ inline void SetPublish(bool value) { m_publishHasBeenSet = true; m_publish = value; } /** *

Specifies whether the state machine version is published. The default is * false. To publish a version after updating the state machine, set * publish to true.

*/ inline UpdateStateMachineRequest& WithPublish(bool value) { SetPublish(value); return *this;} /** *

An optional description of the state machine version to publish.

You * can only specify the versionDescription parameter if you've set * publish to true.

*/ inline const Aws::String& GetVersionDescription() const{ return m_versionDescription; } /** *

An optional description of the state machine version to publish.

You * can only specify the versionDescription parameter if you've set * publish to true.

*/ inline bool VersionDescriptionHasBeenSet() const { return m_versionDescriptionHasBeenSet; } /** *

An optional description of the state machine version to publish.

You * can only specify the versionDescription parameter if you've set * publish to true.

*/ inline void SetVersionDescription(const Aws::String& value) { m_versionDescriptionHasBeenSet = true; m_versionDescription = value; } /** *

An optional description of the state machine version to publish.

You * can only specify the versionDescription parameter if you've set * publish to true.

*/ inline void SetVersionDescription(Aws::String&& value) { m_versionDescriptionHasBeenSet = true; m_versionDescription = std::move(value); } /** *

An optional description of the state machine version to publish.

You * can only specify the versionDescription parameter if you've set * publish to true.

*/ inline void SetVersionDescription(const char* value) { m_versionDescriptionHasBeenSet = true; m_versionDescription.assign(value); } /** *

An optional description of the state machine version to publish.

You * can only specify the versionDescription parameter if you've set * publish to true.

*/ inline UpdateStateMachineRequest& WithVersionDescription(const Aws::String& value) { SetVersionDescription(value); return *this;} /** *

An optional description of the state machine version to publish.

You * can only specify the versionDescription parameter if you've set * publish to true.

*/ inline UpdateStateMachineRequest& WithVersionDescription(Aws::String&& value) { SetVersionDescription(std::move(value)); return *this;} /** *

An optional description of the state machine version to publish.

You * can only specify the versionDescription parameter if you've set * publish to true.

*/ inline UpdateStateMachineRequest& WithVersionDescription(const char* value) { SetVersionDescription(value); return *this;} private: Aws::String m_stateMachineArn; bool m_stateMachineArnHasBeenSet = false; Aws::String m_definition; bool m_definitionHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; LoggingConfiguration m_loggingConfiguration; bool m_loggingConfigurationHasBeenSet = false; TracingConfiguration m_tracingConfiguration; bool m_tracingConfigurationHasBeenSet = false; bool m_publish; bool m_publishHasBeenSet = false; Aws::String m_versionDescription; bool m_versionDescriptionHasBeenSet = false; }; } // namespace Model } // namespace SFN } // namespace Aws