/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace SFN { namespace Model { class DescribeStateMachineResult { public: AWS_SFN_API DescribeStateMachineResult(); AWS_SFN_API DescribeStateMachineResult(const Aws::AmazonWebServiceResult& result); AWS_SFN_API DescribeStateMachineResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon Resource Name (ARN) that identifies the state machine.

If * you specified a state machine version ARN in your request, the API returns the * version ARN. The version ARN is a combination of state machine ARN and the * version number separated by a colon (:). For example, * stateMachineARN:1.

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

The Amazon Resource Name (ARN) that identifies the state machine.

If * you specified a state machine version ARN in your request, the API returns the * version ARN. The version ARN is a combination of state machine ARN and the * version number separated by a colon (:). For example, * stateMachineARN:1.

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

The Amazon Resource Name (ARN) that identifies the state machine.

If * you specified a state machine version ARN in your request, the API returns the * version ARN. The version ARN is a combination of state machine ARN and the * version number separated by a colon (:). For example, * stateMachineARN:1.

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

The Amazon Resource Name (ARN) that identifies the state machine.

If * you specified a state machine version ARN in your request, the API returns the * version ARN. The version ARN is a combination of state machine ARN and the * version number separated by a colon (:). For example, * stateMachineARN:1.

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

The Amazon Resource Name (ARN) that identifies the state machine.

If * you specified a state machine version ARN in your request, the API returns the * version ARN. The version ARN is a combination of state machine ARN and the * version number separated by a colon (:). For example, * stateMachineARN:1.

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

The Amazon Resource Name (ARN) that identifies the state machine.

If * you specified a state machine version ARN in your request, the API returns the * version ARN. The version ARN is a combination of state machine ARN and the * version number separated by a colon (:). For example, * stateMachineARN:1.

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

The Amazon Resource Name (ARN) that identifies the state machine.

If * you specified a state machine version ARN in your request, the API returns the * version ARN. The version ARN is a combination of state machine ARN and the * version number separated by a colon (:). For example, * stateMachineARN:1.

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

The name of the state machine.

A name must not contain:

*
  • white space

  • brackets < > { } [ * ]

  • wildcard characters ? *

  • *

    special characters " # % \ ^ | ~ ` $ & , ; : /

  • *
  • control characters (U+0000-001F, * U+007F-009F)

To enable logging with CloudWatch * Logs, the name should only contain 0-9, A-Z, a-z, - and _.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the state machine.

A name must not contain:

*
  • white space

  • brackets < > { } [ * ]

  • wildcard characters ? *

  • *

    special characters " # % \ ^ | ~ ` $ & , ; : /

  • *
  • control characters (U+0000-001F, * U+007F-009F)

To enable logging with CloudWatch * Logs, the name should only contain 0-9, A-Z, a-z, - and _.

*/ inline void SetName(const Aws::String& value) { m_name = value; } /** *

The name of the state machine.

A name must not contain:

*
  • white space

  • brackets < > { } [ * ]

  • wildcard characters ? *

  • *

    special characters " # % \ ^ | ~ ` $ & , ; : /

  • *
  • control characters (U+0000-001F, * U+007F-009F)

To enable logging with CloudWatch * Logs, the name should only contain 0-9, A-Z, a-z, - and _.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The name of the state machine.

A name must not contain:

*
  • white space

  • brackets < > { } [ * ]

  • wildcard characters ? *

  • *

    special characters " # % \ ^ | ~ ` $ & , ; : /

  • *
  • control characters (U+0000-001F, * U+007F-009F)

To enable logging with CloudWatch * Logs, the name should only contain 0-9, A-Z, a-z, - and _.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The name of the state machine.

A name must not contain:

*
  • white space

  • brackets < > { } [ * ]

  • wildcard characters ? *

  • *

    special characters " # % \ ^ | ~ ` $ & , ; : /

  • *
  • control characters (U+0000-001F, * U+007F-009F)

To enable logging with CloudWatch * Logs, the name should only contain 0-9, A-Z, a-z, - and _.

*/ inline DescribeStateMachineResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the state machine.

A name must not contain:

*
  • white space

  • brackets < > { } [ * ]

  • wildcard characters ? *

  • *

    special characters " # % \ ^ | ~ ` $ & , ; : /

  • *
  • control characters (U+0000-001F, * U+007F-009F)

To enable logging with CloudWatch * Logs, the name should only contain 0-9, A-Z, a-z, - and _.

*/ inline DescribeStateMachineResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the state machine.

A name must not contain:

*
  • white space

  • brackets < > { } [ * ]

  • wildcard characters ? *

  • *

    special characters " # % \ ^ | ~ ` $ & , ; : /

  • *
  • control characters (U+0000-001F, * U+007F-009F)

To enable logging with CloudWatch * Logs, the name should only contain 0-9, A-Z, a-z, - and _.

*/ inline DescribeStateMachineResult& WithName(const char* value) { SetName(value); return *this;} /** *

The current status of the state machine.

*/ inline const StateMachineStatus& GetStatus() const{ return m_status; } /** *

The current status of the state machine.

*/ inline void SetStatus(const StateMachineStatus& value) { m_status = value; } /** *

The current status of the state machine.

*/ inline void SetStatus(StateMachineStatus&& value) { m_status = std::move(value); } /** *

The current status of the state machine.

*/ inline DescribeStateMachineResult& WithStatus(const StateMachineStatus& value) { SetStatus(value); return *this;} /** *

The current status of the state machine.

*/ inline DescribeStateMachineResult& WithStatus(StateMachineStatus&& value) { SetStatus(std::move(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 void SetDefinition(const Aws::String& value) { m_definition = value; } /** *

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

*/ inline void SetDefinition(Aws::String&& value) { 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_definition.assign(value); } /** *

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

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

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

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

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

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

The Amazon Resource Name (ARN) of the IAM role used when creating this state * machine. (The IAM role maintains security by granting Step Functions access to * Amazon Web Services resources.)

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

The Amazon Resource Name (ARN) of the IAM role used when creating this state * machine. (The IAM role maintains security by granting Step Functions access to * Amazon Web Services resources.)

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

The Amazon Resource Name (ARN) of the IAM role used when creating this state * machine. (The IAM role maintains security by granting Step Functions access to * Amazon Web Services resources.)

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

The Amazon Resource Name (ARN) of the IAM role used when creating this state * machine. (The IAM role maintains security by granting Step Functions access to * Amazon Web Services resources.)

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

The Amazon Resource Name (ARN) of the IAM role used when creating this state * machine. (The IAM role maintains security by granting Step Functions access to * Amazon Web Services resources.)

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

The Amazon Resource Name (ARN) of the IAM role used when creating this state * machine. (The IAM role maintains security by granting Step Functions access to * Amazon Web Services resources.)

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

The Amazon Resource Name (ARN) of the IAM role used when creating this state * machine. (The IAM role maintains security by granting Step Functions access to * Amazon Web Services resources.)

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

The type of the state machine (STANDARD or * EXPRESS).

*/ inline const StateMachineType& GetType() const{ return m_type; } /** *

The type of the state machine (STANDARD or * EXPRESS).

*/ inline void SetType(const StateMachineType& value) { m_type = value; } /** *

The type of the state machine (STANDARD or * EXPRESS).

*/ inline void SetType(StateMachineType&& value) { m_type = std::move(value); } /** *

The type of the state machine (STANDARD or * EXPRESS).

*/ inline DescribeStateMachineResult& WithType(const StateMachineType& value) { SetType(value); return *this;} /** *

The type of the state machine (STANDARD or * EXPRESS).

*/ inline DescribeStateMachineResult& WithType(StateMachineType&& value) { SetType(std::move(value)); return *this;} /** *

The date the state machine is created.

For a state machine version, * creationDate is the date the version was created.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The date the state machine is created.

For a state machine version, * creationDate is the date the version was created.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDate = value; } /** *

The date the state machine is created.

For a state machine version, * creationDate is the date the version was created.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDate = std::move(value); } /** *

The date the state machine is created.

For a state machine version, * creationDate is the date the version was created.

*/ inline DescribeStateMachineResult& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The date the state machine is created.

For a state machine version, * creationDate is the date the version was created.

*/ inline DescribeStateMachineResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} inline const LoggingConfiguration& GetLoggingConfiguration() const{ return m_loggingConfiguration; } inline void SetLoggingConfiguration(const LoggingConfiguration& value) { m_loggingConfiguration = value; } inline void SetLoggingConfiguration(LoggingConfiguration&& value) { m_loggingConfiguration = std::move(value); } inline DescribeStateMachineResult& WithLoggingConfiguration(const LoggingConfiguration& value) { SetLoggingConfiguration(value); return *this;} inline DescribeStateMachineResult& 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 void SetTracingConfiguration(const TracingConfiguration& value) { m_tracingConfiguration = value; } /** *

Selects whether X-Ray tracing is enabled.

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

Selects whether X-Ray tracing is enabled.

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

Selects whether X-Ray tracing is enabled.

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

A user-defined or an auto-generated string that identifies a Map * state. This parameter is present only if the stateMachineArn * specified in input is a qualified state machine ARN.

*/ inline const Aws::String& GetLabel() const{ return m_label; } /** *

A user-defined or an auto-generated string that identifies a Map * state. This parameter is present only if the stateMachineArn * specified in input is a qualified state machine ARN.

*/ inline void SetLabel(const Aws::String& value) { m_label = value; } /** *

A user-defined or an auto-generated string that identifies a Map * state. This parameter is present only if the stateMachineArn * specified in input is a qualified state machine ARN.

*/ inline void SetLabel(Aws::String&& value) { m_label = std::move(value); } /** *

A user-defined or an auto-generated string that identifies a Map * state. This parameter is present only if the stateMachineArn * specified in input is a qualified state machine ARN.

*/ inline void SetLabel(const char* value) { m_label.assign(value); } /** *

A user-defined or an auto-generated string that identifies a Map * state. This parameter is present only if the stateMachineArn * specified in input is a qualified state machine ARN.

*/ inline DescribeStateMachineResult& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} /** *

A user-defined or an auto-generated string that identifies a Map * state. This parameter is present only if the stateMachineArn * specified in input is a qualified state machine ARN.

*/ inline DescribeStateMachineResult& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} /** *

A user-defined or an auto-generated string that identifies a Map * state. This parameter is present only if the stateMachineArn * specified in input is a qualified state machine ARN.

*/ inline DescribeStateMachineResult& WithLabel(const char* value) { SetLabel(value); return *this;} /** *

The revision identifier for the state machine.

Use the * revisionId parameter to compare between versions of a state machine * configuration used for executions without performing a diff of the properties, * such as definition and roleArn.

*/ inline const Aws::String& GetRevisionId() const{ return m_revisionId; } /** *

The revision identifier for the state machine.

Use the * revisionId parameter to compare between versions of a state machine * configuration used for executions without performing a diff of the properties, * such as definition and roleArn.

*/ inline void SetRevisionId(const Aws::String& value) { m_revisionId = value; } /** *

The revision identifier for the state machine.

Use the * revisionId parameter to compare between versions of a state machine * configuration used for executions without performing a diff of the properties, * such as definition and roleArn.

*/ inline void SetRevisionId(Aws::String&& value) { m_revisionId = std::move(value); } /** *

The revision identifier for the state machine.

Use the * revisionId parameter to compare between versions of a state machine * configuration used for executions without performing a diff of the properties, * such as definition and roleArn.

*/ inline void SetRevisionId(const char* value) { m_revisionId.assign(value); } /** *

The revision identifier for the state machine.

Use the * revisionId parameter to compare between versions of a state machine * configuration used for executions without performing a diff of the properties, * such as definition and roleArn.

*/ inline DescribeStateMachineResult& WithRevisionId(const Aws::String& value) { SetRevisionId(value); return *this;} /** *

The revision identifier for the state machine.

Use the * revisionId parameter to compare between versions of a state machine * configuration used for executions without performing a diff of the properties, * such as definition and roleArn.

*/ inline DescribeStateMachineResult& WithRevisionId(Aws::String&& value) { SetRevisionId(std::move(value)); return *this;} /** *

The revision identifier for the state machine.

Use the * revisionId parameter to compare between versions of a state machine * configuration used for executions without performing a diff of the properties, * such as definition and roleArn.

*/ inline DescribeStateMachineResult& WithRevisionId(const char* value) { SetRevisionId(value); return *this;} /** *

The description of the state machine version.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the state machine version.

*/ inline void SetDescription(const Aws::String& value) { m_description = value; } /** *

The description of the state machine version.

*/ inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } /** *

The description of the state machine version.

*/ inline void SetDescription(const char* value) { m_description.assign(value); } /** *

The description of the state machine version.

*/ inline DescribeStateMachineResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the state machine version.

*/ inline DescribeStateMachineResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the state machine version.

*/ inline DescribeStateMachineResult& WithDescription(const char* value) { SetDescription(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeStateMachineResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeStateMachineResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeStateMachineResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_stateMachineArn; Aws::String m_name; StateMachineStatus m_status; Aws::String m_definition; Aws::String m_roleArn; StateMachineType m_type; Aws::Utils::DateTime m_creationDate; LoggingConfiguration m_loggingConfiguration; TracingConfiguration m_tracingConfiguration; Aws::String m_label; Aws::String m_revisionId; Aws::String m_description; Aws::String m_requestId; }; } // namespace Model } // namespace SFN } // namespace Aws