/*
* 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 simspaceweaver-2022-10-28.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.SimSpaceWeaver.Model
{
///
/// Container for the parameters to the StartSimulation operation.
/// Starts a simulation with the given name. You must choose to start your simulation
/// from a schema or from a snapshot. For more information about the schema, see the schema
/// reference in the SimSpace Weaver User Guide. For more information about
/// snapshots, see Snapshots
/// in the SimSpace Weaver User Guide.
///
public partial class StartSimulationRequest : AmazonSimSpaceWeaverRequest
{
private string _clientToken;
private string _description;
private string _maximumDuration;
private string _name;
private string _roleArn;
private S3Location _schemaS3Location;
private S3Location _snapshotS3Location;
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property ClientToken.
///
/// A value that you provide to ensure that repeated calls to this API operation using
/// the same parameters complete only once. A ClientToken
is also known as
/// an idempotency token. A ClientToken
expires after 24 hours.
///
///
[AWSProperty(Sensitive=true, Min=32, Max=128)]
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the simulation.
///
///
[AWSProperty(Min=0, Max=500)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property MaximumDuration.
///
/// The maximum running time of the simulation, specified as a number of minutes (m or
/// M), hours (h or H), or days (d or D). The simulation stops when it reaches this limit.
/// The maximum value is 14D
, or its equivalent in the other units. The default
/// value is 14D
. A value equivalent to 0
makes the simulation
/// immediately transition to Stopping
as soon as it reaches Started
.
///
///
[AWSProperty(Min=2, Max=6)]
public string MaximumDuration
{
get { return this._maximumDuration; }
set { this._maximumDuration = value; }
}
// Check to see if MaximumDuration property is set
internal bool IsSetMaximumDuration()
{
return this._maximumDuration != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the simulation.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that
/// the simulation assumes to perform actions. For more information about ARNs, see Amazon
/// Resource Names (ARNs) in the Amazon Web Services General Reference. For
/// more information about IAM roles, see IAM
/// roles in the Identity and Access Management User Guide.
///
///
[AWSProperty(Required=true, Min=0, Max=1600)]
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 SchemaS3Location.
///
/// The location of the simulation schema in Amazon Simple Storage Service (Amazon S3).
/// For more information about Amazon S3, see the
/// Amazon Simple Storage Service User Guide .
///
///
///
/// Provide a SchemaS3Location
to start your simulation from a schema.
///
///
///
/// If you provide a SchemaS3Location
then you can't provide a SnapshotS3Location
.
///
///
public S3Location SchemaS3Location
{
get { return this._schemaS3Location; }
set { this._schemaS3Location = value; }
}
// Check to see if SchemaS3Location property is set
internal bool IsSetSchemaS3Location()
{
return this._schemaS3Location != null;
}
///
/// Gets and sets the property SnapshotS3Location.
///
/// The location of the snapshot .zip file in Amazon Simple Storage Service (Amazon S3).
/// For more information about Amazon S3, see the
/// Amazon Simple Storage Service User Guide .
///
///
///
/// Provide a SnapshotS3Location
to start your simulation from a snapshot.
///
///
///
/// The Amazon S3 bucket must be in the same Amazon Web Services Region as the simulation.
///
///
///
/// If you provide a SnapshotS3Location
then you can't provide a SchemaS3Location
.
///
///
public S3Location SnapshotS3Location
{
get { return this._snapshotS3Location; }
set { this._snapshotS3Location = value; }
}
// Check to see if SnapshotS3Location property is set
internal bool IsSetSnapshotS3Location()
{
return this._snapshotS3Location != null;
}
///
/// Gets and sets the property Tags.
///
/// A list of tags for the simulation. For more information about tags, see Tagging
/// Amazon Web Services resources in the Amazon Web Services General Reference.
///
///
[AWSProperty(Min=1, Max=50)]
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}