1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package sfn
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/sfn/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Validates the syntax of a state machine definition.
//
// You can validate that a state machine definition is correct without creating a
// state machine resource. Step Functions will implicitly perform the same syntax
// check when you invoke CreateStateMachine and UpdateStateMachine . State machine
// definitions are specified using a JSON-based, structured language. For more
// information on Amazon States Language see [Amazon States Language](ASL).
//
// Suggested uses for ValidateStateMachineDefinition :
//
// - Integrate automated checks into your code review or Continuous Integration
// (CI) process to validate state machine definitions before starting deployments.
//
// - Run the validation from a Git pre-commit hook to check your state machine
// definitions before committing them to your source repository.
//
// Errors found in the state machine definition will be returned in the response
// as a list of diagnostic elements, rather than raise an exception.
//
// [Amazon States Language]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html
func (c *Client) ValidateStateMachineDefinition(ctx context.Context, params *ValidateStateMachineDefinitionInput, optFns ...func(*Options)) (*ValidateStateMachineDefinitionOutput, error) {
if params == nil {
params = &ValidateStateMachineDefinitionInput{}
}
result, metadata, err := c.invokeOperation(ctx, "ValidateStateMachineDefinition", params, optFns, c.addOperationValidateStateMachineDefinitionMiddlewares)
if err != nil {
return nil, err
}
out := result.(*ValidateStateMachineDefinitionOutput)
out.ResultMetadata = metadata
return out, nil
}
type ValidateStateMachineDefinitionInput struct {
// The Amazon States Language definition of the state machine. For more
// information, see [Amazon States Language](ASL).
//
// [Amazon States Language]: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html
//
// This member is required.
Definition *string
// The target type of state machine for this definition. The default is STANDARD .
Type types.StateMachineType
noSmithyDocumentSerde
}
type ValidateStateMachineDefinitionOutput struct {
// If the result is OK , this field will be empty. When there are errors, this
// field will contain an array of Diagnostic objects to help you troubleshoot.
//
// This member is required.
Diagnostics []types.ValidateStateMachineDefinitionDiagnostic
// The result value will be OK when no syntax errors are found, or FAIL if the
// workflow definition does not pass verification.
//
// This member is required.
Result types.ValidateStateMachineDefinitionResultCode
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationValidateStateMachineDefinitionMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson10_serializeOpValidateStateMachineDefinition{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson10_deserializeOpValidateStateMachineDefinition{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "ValidateStateMachineDefinition"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addOpValidateStateMachineDefinitionValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opValidateStateMachineDefinition(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opValidateStateMachineDefinition(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "ValidateStateMachineDefinition",
}
}
|