/* * Copyright 2018-2023 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 com.amazonaws.services.stepfunctions.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class StartExecutionRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The Amazon Resource Name (ARN) of the state machine to execute. *
*
* The stateMachineArn
parameter accepts one of the following inputs:
*
* An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or * alias ARN. The following is an example of an unqualified state machine ARN. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
* Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. * This is true even if that version uses the same revision that the execution used. *
** A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the * version number separated by a colon (:). The following is an example of the ARN for version 10. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>:10
*
* Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that * version. *
*
* A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the
* alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD
.
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
* Step Functions associates executions that you start with an alias ARN with that alias and the state machine * version used for that execution. *
** Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state * machine for 90 days. For more information, see * Limits Related to State Machine Executions in the Step Functions Developer Guide. *
** 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 _. *
*/ private 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": "{}"
*
* Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding. *
*/ private String input; /** ** Passes the X-Ray trace header. The trace header can also be passed in the request payload. *
*/ private String traceHeader; /** ** The Amazon Resource Name (ARN) of the state machine to execute. *
*
* The stateMachineArn
parameter accepts one of the following inputs:
*
* An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or * alias ARN. The following is an example of an unqualified state machine ARN. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
* Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. * This is true even if that version uses the same revision that the execution used. *
** A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the * version number separated by a colon (:). The following is an example of the ARN for version 10. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>:10
*
* Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that * version. *
*
* A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the
* alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD
.
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
* Step Functions associates executions that you start with an alias ARN with that alias and the state machine * version used for that execution. *
*
* The stateMachineArn
parameter accepts one of the following inputs:
*
* An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a * version or alias ARN. The following is an example of an unqualified state machine ARN. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
* Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a * version. This is true even if that version uses the same revision that the execution used. *
** A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN * and the version number separated by a colon (:). The following is an example of the ARN for version 10. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>:10
*
* Step Functions doesn't associate executions that you start with a version ARN with any aliases that point * to that version. *
*
* A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and
* the alias name separated by a colon (:). The following is an example of the ARN for an alias named
* PROD
.
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
* Step Functions associates executions that you start with an alias ARN with that alias and the state * machine version used for that execution. *
** The Amazon Resource Name (ARN) of the state machine to execute. *
*
* The stateMachineArn
parameter accepts one of the following inputs:
*
* An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or * alias ARN. The following is an example of an unqualified state machine ARN. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
* Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. * This is true even if that version uses the same revision that the execution used. *
** A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the * version number separated by a colon (:). The following is an example of the ARN for version 10. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>:10
*
* Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that * version. *
*
* A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the
* alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD
.
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
* Step Functions associates executions that you start with an alias ARN with that alias and the state machine * version used for that execution. *
*
* The stateMachineArn
parameter accepts one of the following inputs:
*
* An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a * version or alias ARN. The following is an example of an unqualified state machine ARN. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
* Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a * version. This is true even if that version uses the same revision that the execution used. *
** A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN * and the version number separated by a colon (:). The following is an example of the ARN for version 10. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>:10
*
* Step Functions doesn't associate executions that you start with a version ARN with any aliases that point * to that version. *
*
* A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN
* and the alias name separated by a colon (:). The following is an example of the ARN for an alias named
* PROD
.
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
* Step Functions associates executions that you start with an alias ARN with that alias and the state * machine version used for that execution. *
** The Amazon Resource Name (ARN) of the state machine to execute. *
*
* The stateMachineArn
parameter accepts one of the following inputs:
*
* An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or * alias ARN. The following is an example of an unqualified state machine ARN. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
* Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. * This is true even if that version uses the same revision that the execution used. *
** A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the * version number separated by a colon (:). The following is an example of the ARN for version 10. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>:10
*
* Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that * version. *
*
* A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the
* alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD
.
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
* Step Functions associates executions that you start with an alias ARN with that alias and the state machine * version used for that execution. *
*
* The stateMachineArn
parameter accepts one of the following inputs:
*
* An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a * version or alias ARN. The following is an example of an unqualified state machine ARN. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
*
* Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a * version. This is true even if that version uses the same revision that the execution used. *
** A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN * and the version number separated by a colon (:). The following is an example of the ARN for version 10. *
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>:10
*
* Step Functions doesn't associate executions that you start with a version ARN with any aliases that point * to that version. *
*
* A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and
* the alias name separated by a colon (:). The following is an example of the ARN for an alias named
* PROD
.
*
* arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
*
* Step Functions associates executions that you start with an alias ARN with that alias and the state * machine version used for that execution. *
** Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state * machine for 90 days. For more information, see * Limits Related to State Machine Executions in the Step Functions Developer Guide. *
** 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 _. *
* * @param name * Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and * state machine for 90 days. For more information, see Limits Related to State Machine Executions in the Step Functions Developer Guide. ** 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 _. */ public void setName(String name) { this.name = name; } /** *
* Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state * machine for 90 days. For more information, see * Limits Related to State Machine Executions in the Step Functions Developer Guide. *
** 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 _. *
* * @return Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, * and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the Step Functions Developer Guide. ** 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 _. */ public String getName() { return this.name; } /** *
* Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state * machine for 90 days. For more information, see * Limits Related to State Machine Executions in the Step Functions Developer Guide. *
** 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 _. *
* * @param name * Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and * state machine for 90 days. For more information, see Limits Related to State Machine Executions in the Step Functions Developer Guide. ** 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 _. * @return Returns a reference to this object so that method calls can be chained together. */ public StartExecutionRequest withName(String name) { setName(name); return this; } /** *
* 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": "{}"
*
* Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding. *
* * @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": "{}"
*
* Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding. */ public void setInput(String input) { this.input = 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": "{}"
*
* Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding. *
* * @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": "{}"
*
* Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding. */ public String getInput() { return this.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": "{}"
*
* Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding. *
* * @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": "{}"
*
* Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding. * @return Returns a reference to this object so that method calls can be chained together. */ public StartExecutionRequest withInput(String input) { setInput(input); return this; } /** *
* Passes the X-Ray trace header. The trace header can also be passed in the request payload. *
* * @param traceHeader * Passes the X-Ray trace header. The trace header can also be passed in the request payload. */ public void setTraceHeader(String traceHeader) { this.traceHeader = traceHeader; } /** ** Passes the X-Ray trace header. The trace header can also be passed in the request payload. *
* * @return Passes the X-Ray trace header. The trace header can also be passed in the request payload. */ public String getTraceHeader() { return this.traceHeader; } /** ** Passes the X-Ray trace header. The trace header can also be passed in the request payload. *
* * @param traceHeader * Passes the X-Ray trace header. The trace header can also be passed in the request payload. * @return Returns a reference to this object so that method calls can be chained together. */ public StartExecutionRequest withTraceHeader(String traceHeader) { setTraceHeader(traceHeader); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getStateMachineArn() != null) sb.append("StateMachineArn: ").append(getStateMachineArn()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getInput() != null) sb.append("Input: ").append("***Sensitive Data Redacted***").append(","); if (getTraceHeader() != null) sb.append("TraceHeader: ").append(getTraceHeader()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof StartExecutionRequest == false) return false; StartExecutionRequest other = (StartExecutionRequest) obj; if (other.getStateMachineArn() == null ^ this.getStateMachineArn() == null) return false; if (other.getStateMachineArn() != null && other.getStateMachineArn().equals(this.getStateMachineArn()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getInput() == null ^ this.getInput() == null) return false; if (other.getInput() != null && other.getInput().equals(this.getInput()) == false) return false; if (other.getTraceHeader() == null ^ this.getTraceHeader() == null) return false; if (other.getTraceHeader() != null && other.getTraceHeader().equals(this.getTraceHeader()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getStateMachineArn() == null) ? 0 : getStateMachineArn().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getInput() == null) ? 0 : getInput().hashCode()); hashCode = prime * hashCode + ((getTraceHeader() == null) ? 0 : getTraceHeader().hashCode()); return hashCode; } @Override public StartExecutionRequest clone() { return (StartExecutionRequest) super.clone(); } }