/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the states-2016-11-23.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.StepFunctions.Model
{
///
/// Container for the parameters to the UpdateStateMachine operation.
/// Updates an existing state machine by modifying its definition
, roleArn
,
/// or loggingConfiguration
. Running executions will continue to use the
/// previous definition
and roleArn
. You must include at least
/// one of definition
or roleArn
or you will receive a MissingRequiredParameter
/// error.
///
///
///
/// A qualified state machine ARN refers to a Distributed Map state defined within
/// a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel
/// refers to a Distributed Map state with a label mapStateLabel
in
/// the state machine named stateMachineName
.
///
///
///
/// A qualified state machine ARN can either refer to a Distributed Map state defined
/// within a state machine, a version ARN, or an alias ARN.
///
///
///
/// The following are some examples of qualified and unqualified state machine ARNs:
///
/// -
///
/// The following qualified state machine ARN refers to a Distributed Map state
/// with a label
mapStateLabel
in a state machine named myStateMachine
.
///
///
///
/// arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
///
///
///
///
/// If you provide a qualified state machine ARN that refers to a Distributed Map state,
/// the request fails with ValidationException
.
///
/// -
///
/// The following qualified state machine ARN refers to an alias named
PROD
.
///
///
///
/// arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
///
///
///
///
/// If you provide a qualified state machine ARN that refers to a version ARN or an alias
/// ARN, the request starts execution for that version or alias.
///
/// -
///
/// The following unqualified state machine ARN refers to a state machine named
myStateMachine
.
///
///
///
/// arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
///
///
///
///
/// After you update your state machine, you can set the publish
parameter
/// to true
in the same action to publish a new version.
/// This way, you can opt-in to strict versioning of your state machine.
///
///
///
/// Step Functions assigns monotonically increasing integers for state machine versions,
/// starting at version number 1.
///
///
///
/// All StartExecution
calls within a few seconds use the updated definition
/// and roleArn
. Executions started immediately after you call UpdateStateMachine
/// may use the previous state machine definition
and roleArn
.
///
///
///
///
public partial class UpdateStateMachineRequest : AmazonStepFunctionsRequest
{
private string _definition;
private LoggingConfiguration _loggingConfiguration;
private bool? _publish;
private string _roleArn;
private string _stateMachineArn;
private TracingConfiguration _tracingConfiguration;
private string _versionDescription;
///
/// Gets and sets the property Definition.
///
/// The Amazon States Language definition of the state machine. See Amazon
/// States Language.
///
///
[AWSProperty(Sensitive=true, Min=1, Max=1048576)]
public string Definition
{
get { return this._definition; }
set { this._definition = value; }
}
// Check to see if Definition property is set
internal bool IsSetDefinition()
{
return this._definition != null;
}
///
/// Gets and sets the property LoggingConfiguration.
///
/// Use the LoggingConfiguration
data type to set CloudWatch Logs options.
///
///
public LoggingConfiguration LoggingConfiguration
{
get { return this._loggingConfiguration; }
set { this._loggingConfiguration = value; }
}
// Check to see if LoggingConfiguration property is set
internal bool IsSetLoggingConfiguration()
{
return this._loggingConfiguration != null;
}
///
/// Gets and sets the property Publish.
///
/// Specifies whether the state machine version is published. The default is false
.
/// To publish a version after updating the state machine, set publish
to
/// true
.
///
///
public bool Publish
{
get { return this._publish.GetValueOrDefault(); }
set { this._publish = value; }
}
// Check to see if Publish property is set
internal bool IsSetPublish()
{
return this._publish.HasValue;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) of the IAM role of the state machine.
///
///
[AWSProperty(Min=1, Max=256)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property StateMachineArn.
///
/// The Amazon Resource Name (ARN) of the state machine.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
public string StateMachineArn
{
get { return this._stateMachineArn; }
set { this._stateMachineArn = value; }
}
// Check to see if StateMachineArn property is set
internal bool IsSetStateMachineArn()
{
return this._stateMachineArn != null;
}
///
/// Gets and sets the property TracingConfiguration.
///
/// Selects whether X-Ray tracing is enabled.
///
///
public TracingConfiguration TracingConfiguration
{
get { return this._tracingConfiguration; }
set { this._tracingConfiguration = value; }
}
// Check to see if TracingConfiguration property is set
internal bool IsSetTracingConfiguration()
{
return this._tracingConfiguration != null;
}
///
/// Gets and sets the property VersionDescription.
///
/// An optional description of the state machine version to publish.
///
///
///
/// You can only specify the versionDescription
parameter if you've set publish
/// to true
.
///
///
[AWSProperty(Sensitive=true, Max=256)]
public string VersionDescription
{
get { return this._versionDescription; }
set { this._versionDescription = value; }
}
// Check to see if VersionDescription property is set
internal bool IsSetVersionDescription()
{
return this._versionDescription != null;
}
}
}