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

software.amazon.awssdk.services.sfn.model.CreateStateMachineRequest 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.services.stepfunctions.builder.StateMachine;
import software.amazon.awssdk.services.stepfunctions.builder.StateMachineAdapter;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

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

    private final String definition;

    private final String roleArn;

    private CreateStateMachineRequest(BuilderImpl builder) {
        super(builder);
        this.name = builder.name;
        this.definition = builder.definition;
        this.roleArn = builder.roleArn;
    }

    /**
     * 

* The name of the state machine. 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. *

*

* A name must not contain: *

*
    *
  • *

    * whitespace *

    *
  • *
  • *

    * brackets < > { } [ ] *

    *
  • *
  • *

    * wildcard characters ? * *

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
* * @return The name of the state machine. 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.

*

* 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 Amazon States Language definition of the state machine. *

    * * @return The Amazon States Language definition of the state machine. */ public String definition() { return definition; } /** *

    * The Amazon Resource Name (ARN) of the IAM role to use for this state machine. *

    * * @return The Amazon Resource Name (ARN) of the IAM role to use for this state machine. */ public String roleArn() { return roleArn; } @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(name()); hashCode = 31 * hashCode + Objects.hashCode(definition()); hashCode = 31 * hashCode + Objects.hashCode(roleArn()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof CreateStateMachineRequest)) { return false; } CreateStateMachineRequest other = (CreateStateMachineRequest) obj; return Objects.equals(name(), other.name()) && Objects.equals(definition(), other.definition()) && Objects.equals(roleArn(), other.roleArn()); } @Override public String toString() { StringBuilder sb = new StringBuilder("{"); if (name() != null) { sb.append("Name: ").append(name()).append(","); } if (definition() != null) { sb.append("Definition: ").append(definition()).append(","); } if (roleArn() != null) { sb.append("RoleArn: ").append(roleArn()).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 "name": return Optional.of(clazz.cast(name())); case "definition": return Optional.of(clazz.cast(definition())); case "roleArn": return Optional.of(clazz.cast(roleArn())); default: return Optional.empty(); } } public interface Builder extends SFNRequest.Builder, CopyableBuilder { /** *

    * The name of the state machine. 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. *

    *

    * 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 state machine. 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.

    *

    * 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 Amazon States Language definition of the state machine. *

      * * @param definition * The Amazon States Language definition of the state machine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder definition(String definition); Builder definition(StateMachine definition); /** *

      * The Amazon Resource Name (ARN) of the IAM role to use for this state machine. *

      * * @param roleArn * The Amazon Resource Name (ARN) of the IAM role to use for this state machine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder roleArn(String roleArn); @Override Builder requestOverrideConfig(AwsRequestOverrideConfig awsRequestOverrideConfig); } static final class BuilderImpl extends SFNRequest.BuilderImpl implements Builder { private String name; private String definition; private String roleArn; private BuilderImpl() { } private BuilderImpl(CreateStateMachineRequest model) { name(model.name); definition(model.definition); roleArn(model.roleArn); } 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 getDefinition() { return definition; } @Override public final Builder definition(String definition) { this.definition = definition; return this; } public final void setDefinition(String definition) { this.definition = definition; } public Builder definition(StateMachine definition) { definition(new StateMachineAdapter().adapt(definition)); return this; } public void setDefinition(StateMachine definition) { this.definition = new StateMachineAdapter().adapt(definition); } public final String getRoleArn() { return roleArn; } @Override public final Builder roleArn(String roleArn) { this.roleArn = roleArn; return this; } public final void setRoleArn(String roleArn) { this.roleArn = roleArn; } @Override public Builder requestOverrideConfig(AwsRequestOverrideConfig awsRequestOverrideConfig) { super.requestOverrideConfig(awsRequestOverrideConfig); return this; } @Override public Builder requestOverrideConfig(Consumer builderConsumer) { super.requestOverrideConfig(builderConsumer); return this; } @Override public CreateStateMachineRequest build() { return new CreateStateMachineRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy