All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.sfn.model.StartExecutionRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Step Functions module holds the client classes that are used for communicating with AWS Step Functions.

There is a newer version: 2.0.0-preview-11
Show newest version
/*
 * Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.sfn.model;

import java.util.Objects;
import java.util.Optional;
import java.util.function.Consumer;
import javax.annotation.Generated;
import software.amazon.awssdk.core.AwsRequestOverrideConfig;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public class StartExecutionRequest extends SFNRequest implements
        ToCopyableBuilder {
    private final String stateMachineArn;

    private final String name;

    private final String input;

    private StartExecutionRequest(BuilderImpl builder) {
        super(builder);
        this.stateMachineArn = builder.stateMachineArn;
        this.name = builder.name;
        this.input = builder.input;
    }

    /**
     * 

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

* * @return The Amazon Resource Name (ARN) of the state machine to execute. */ public String stateMachineArn() { return stateMachineArn; } /** *

* The name of the execution. This name must be unique for your AWS account and region for 90 days. For more * information, see * Limits Related to State Machine Executions in the AWS Step Functions Developer Guide. *

* *

* An execution can't use the name of another execution for 90 days. *

*

* When you make multiple StartExecution calls with the same name, the new execution doesn't run and * the following rules apply: *

*
    *
  • *

    * When the original execution is open and the execution input from the new call is different, the * ExecutionAlreadyExists message is returned. *

    *
  • *
  • *

    * When the original execution is open and the execution input from the new call is identical, the * Success message is returned. *

    *
  • *
  • *

    * When the original execution is closed, the ExecutionAlreadyExists message is returned regardless of * input. *

    *
  • *
*
*

* A name must not contain: *

*
    *
  • *

    * whitespace *

    *
  • *
  • *

    * brackets < > { } [ ] *

    *
  • *
  • *

    * wildcard characters ? * *

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
* * @return The name of the execution. This name must be unique for your AWS account and region for 90 days. For more * information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

* *

* An execution can't use the name of another execution for 90 days. *

*

* When you make multiple StartExecution calls with the same name, the new execution doesn't * run and the following rules apply: *

*
    *
  • *

    * When the original execution is open and the execution input from the new call is different, the * ExecutionAlreadyExists message is returned. *

    *
  • *
  • *

    * When the original execution is open and the execution input from the new call is identical, the * Success message is returned. *

    *
  • *
  • *

    * When the original execution is closed, the ExecutionAlreadyExists message is returned * regardless of input. *

    *
  • *
*
*

* A name must not contain: *

*
    *
  • *

    * whitespace *

    *
  • *
  • *

    * brackets < > { } [ ] *

    *
  • *
  • *

    * wildcard characters ? * *

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • */ public String name() { return name; } /** *

    * The string that contains the JSON input data for the execution, for example: *

    *

    * "input": "{\"first_name\" : \"test\"}" *

    * *

    * If you don't include any JSON input data, you still must include the two braces, for example: * "input": "{}" *

    *
    * * @return The string that contains the JSON input data for the execution, for example:

    *

    * "input": "{\"first_name\" : \"test\"}" *

    * *

    * If you don't include any JSON input data, you still must include the two braces, for example: * "input": "{}" *

    */ public String input() { return input; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(stateMachineArn()); hashCode = 31 * hashCode + Objects.hashCode(name()); hashCode = 31 * hashCode + Objects.hashCode(input()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof StartExecutionRequest)) { return false; } StartExecutionRequest other = (StartExecutionRequest) obj; return Objects.equals(stateMachineArn(), other.stateMachineArn()) && Objects.equals(name(), other.name()) && Objects.equals(input(), other.input()); } @Override public String toString() { StringBuilder sb = new StringBuilder("{"); if (stateMachineArn() != null) { sb.append("StateMachineArn: ").append(stateMachineArn()).append(","); } if (name() != null) { sb.append("Name: ").append(name()).append(","); } if (input() != null) { sb.append("Input: ").append(input()).append(","); } if (sb.length() > 1) { sb.setLength(sb.length() - 1); } sb.append("}"); return sb.toString(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "stateMachineArn": return Optional.of(clazz.cast(stateMachineArn())); case "name": return Optional.of(clazz.cast(name())); case "input": return Optional.of(clazz.cast(input())); default: return Optional.empty(); } } public interface Builder extends SFNRequest.Builder, CopyableBuilder { /** *

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

    * * @param stateMachineArn * The Amazon Resource Name (ARN) of the state machine to execute. * @return Returns a reference to this object so that method calls can be chained together. */ Builder stateMachineArn(String stateMachineArn); /** *

    * The name of the execution. This name must be unique for your AWS account and region for 90 days. For more * information, see * Limits Related to State Machine Executions in the AWS Step Functions Developer Guide. *

    * *

    * An execution can't use the name of another execution for 90 days. *

    *

    * When you make multiple StartExecution calls with the same name, the new execution doesn't run * and the following rules apply: *

    *
      *
    • *

      * When the original execution is open and the execution input from the new call is different, the * ExecutionAlreadyExists message is returned. *

      *
    • *
    • *

      * When the original execution is open and the execution input from the new call is identical, the * Success message is returned. *

      *
    • *
    • *

      * When the original execution is closed, the ExecutionAlreadyExists message is returned regardless * of input. *

      *
    • *
    *
    *

    * A name must not contain: *

    *
      *
    • *

      * whitespace *

      *
    • *
    • *

      * brackets < > { } [ ] *

      *
    • *
    • *

      * wildcard characters ? * *

      *
    • *
    • *

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

      *
    • *
    • *

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

      *
    • *
    * * @param name * The name of the execution. This name must be unique for your AWS account and region for 90 days. For * more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

    * *

    * An execution can't use the name of another execution for 90 days. *

    *

    * When you make multiple StartExecution calls with the same name, the new execution doesn't * run and the following rules apply: *

    *
      *
    • *

      * When the original execution is open and the execution input from the new call is different, the * ExecutionAlreadyExists message is returned. *

      *
    • *
    • *

      * When the original execution is open and the execution input from the new call is identical, the * Success message is returned. *

      *
    • *
    • *

      * When the original execution is closed, the ExecutionAlreadyExists message is returned * regardless of input. *

      *
    • *
    *
    *

    * A name must not contain: *

    *
      *
    • *

      * whitespace *

      *
    • *
    • *

      * brackets < > { } [ ] *

      *
    • *
    • *

      * wildcard characters ? * *

      *
    • *
    • *

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

      *
    • *
    • *

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

      *
    • * @return Returns a reference to this object so that method calls can be chained together. */ Builder name(String name); /** *

      * The string that contains the JSON input data for the execution, for example: *

      *

      * "input": "{\"first_name\" : \"test\"}" *

      * *

      * If you don't include any JSON input data, you still must include the two braces, for example: * "input": "{}" *

      *
      * * @param input * The string that contains the JSON input data for the execution, for example:

      *

      * "input": "{\"first_name\" : \"test\"}" *

      * *

      * If you don't include any JSON input data, you still must include the two braces, for example: * "input": "{}" *

      * @return Returns a reference to this object so that method calls can be chained together. */ Builder input(String input); @Override Builder requestOverrideConfig(AwsRequestOverrideConfig awsRequestOverrideConfig); } static final class BuilderImpl extends SFNRequest.BuilderImpl implements Builder { private String stateMachineArn; private String name; private String input; private BuilderImpl() { } private BuilderImpl(StartExecutionRequest model) { stateMachineArn(model.stateMachineArn); name(model.name); input(model.input); } public final String getStateMachineArn() { return stateMachineArn; } @Override public final Builder stateMachineArn(String stateMachineArn) { this.stateMachineArn = stateMachineArn; return this; } public final void setStateMachineArn(String stateMachineArn) { this.stateMachineArn = stateMachineArn; } public final String getName() { return name; } @Override public final Builder name(String name) { this.name = name; return this; } public final void setName(String name) { this.name = name; } public final String getInput() { return input; } @Override public final Builder input(String input) { this.input = input; return this; } public final void setInput(String input) { this.input = input; } @Override public Builder requestOverrideConfig(AwsRequestOverrideConfig awsRequestOverrideConfig) { super.requestOverrideConfig(awsRequestOverrideConfig); return this; } @Override public Builder requestOverrideConfig(Consumer builderConsumer) { super.requestOverrideConfig(builderConsumer); return this; } @Override public StartExecutionRequest build() { return new StartExecutionRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy