Class ValidateStateMachineDefinitionDiagnostic

java.lang.Object
software.amazon.awssdk.services.sfn.model.ValidateStateMachineDefinitionDiagnostic
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ValidateStateMachineDefinitionDiagnostic.Builder,ValidateStateMachineDefinitionDiagnostic>

@Generated("software.amazon.awssdk:codegen") public final class ValidateStateMachineDefinitionDiagnostic extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ValidateStateMachineDefinitionDiagnostic.Builder,ValidateStateMachineDefinitionDiagnostic>

Describes potential issues found during state machine validation. Rather than raise an exception, validation will return a list of diagnostic elements containing diagnostic information.

The ValidateStateMachineDefinitionlAPI might add new diagnostics in the future, adjust diagnostic codes, or change the message wording. Your automated processes should only rely on the value of the result field value (OK, FAIL). Do not rely on the exact order, count, or wording of diagnostic messages.

List of warning codes

NO_DOLLAR

No .$ on a field that appears to be a JSONPath or Intrinsic Function.

NO_PATH

Field value looks like a path, but field name does not end with 'Path'.

PASS_RESULT_IS_STATIC

Attempt to use a path in the result of a pass state.

List of error codes

INVALID_JSON_DESCRIPTION

JSON syntax problem found.

MISSING_DESCRIPTION

Received a null or empty workflow input.

SCHEMA_VALIDATION_FAILED

Schema validation reported errors.

INVALID_RESOURCE

The value of a Task-state resource field is invalid.

MISSING_END_STATE

The workflow does not have a terminal state.

DUPLICATE_STATE_NAME

The same state name appears more than once.

INVALID_STATE_NAME

The state name does not follow the naming convention.

STATE_MACHINE_NAME_EMPTY

The state machine name has not been specified.

STATE_MACHINE_NAME_INVALID

The state machine name does not follow the naming convention.

STATE_MACHINE_NAME_TOO_LONG

The state name exceeds the allowed length.

STATE_MACHINE_NAME_ALREADY_EXISTS

The state name already exists.

DUPLICATE_LABEL_NAME

A label name appears more than once.

INVALID_LABEL_NAME

You have provided an invalid label name.

MISSING_TRANSITION_TARGET

The value of "Next" field doesn't match a known state name.

TOO_DEEPLY_NESTED

The states are too deeply nested.

See Also:
  • Method Details

    • severity

      public final ValidateStateMachineDefinitionSeverity severity()

      A value of ERROR means that you cannot create or update a state machine with this definition.

      WARNING level diagnostics alert you to potential issues, but they will not prevent you from creating or updating your state machine.

      If the service returns an enum value that is not available in the current SDK version, severity will return ValidateStateMachineDefinitionSeverity.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from severityAsString().

      Returns:
      A value of ERROR means that you cannot create or update a state machine with this definition.

      WARNING level diagnostics alert you to potential issues, but they will not prevent you from creating or updating your state machine.

      See Also:
    • severityAsString

      public final String severityAsString()

      A value of ERROR means that you cannot create or update a state machine with this definition.

      WARNING level diagnostics alert you to potential issues, but they will not prevent you from creating or updating your state machine.

      If the service returns an enum value that is not available in the current SDK version, severity will return ValidateStateMachineDefinitionSeverity.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from severityAsString().

      Returns:
      A value of ERROR means that you cannot create or update a state machine with this definition.

      WARNING level diagnostics alert you to potential issues, but they will not prevent you from creating or updating your state machine.

      See Also:
    • code

      public final String code()

      Identifying code for the diagnostic.

      Returns:
      Identifying code for the diagnostic.
    • message

      public final String message()

      Message describing the diagnostic condition.

      Returns:
      Message describing the diagnostic condition.
    • location

      public final String location()

      Location of the issue in the state machine, if available.

      For errors specific to a field, the location could be in the format: /States/<StateName>/<FieldName>, for example: /States/FailState/ErrorPath.

      Returns:
      Location of the issue in the state machine, if available.

      For errors specific to a field, the location could be in the format: /States/<StateName>/<FieldName>, for example: /States/FailState/ErrorPath.

    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ValidateStateMachineDefinitionDiagnostic.Builder,ValidateStateMachineDefinitionDiagnostic>
      Returns:
      a builder for type T
    • builder

    • serializableBuilderClass

      public static Class<? extends ValidateStateMachineDefinitionDiagnostic.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.