/*
* 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 robomaker-2018-06-29.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.RoboMaker.Model
{
///
/// Provides upload configuration information. Files are uploaded from the simulation
/// job to a location you specify.
///
public partial class UploadConfiguration
{
private string _name;
private string _path;
private UploadBehavior _uploadBehavior;
///
/// Gets and sets the property Name.
///
/// A prefix that specifies where files will be uploaded in Amazon S3. It is appended
/// to the simulation output location to determine the final path.
///
///
///
/// For example, if your simulation output location is s3://my-bucket
and
/// your upload configuration name is robot-test
, your files will be uploaded
/// to s3://my-bucket/<simid>/<runid>/robot-test
.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
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 Path.
///
/// Specifies the path of the file(s) to upload. Standard Unix glob matching rules are
/// accepted, with the addition of **
as a super asterisk. For example,
/// specifying /var/log/**.log
causes all .log files in the /var/log
/// directory tree to be collected. For more examples, see Glob
/// Library.
///
///
[AWSProperty(Required=true, Min=1, Max=1024)]
public string Path
{
get { return this._path; }
set { this._path = value; }
}
// Check to see if Path property is set
internal bool IsSetPath()
{
return this._path != null;
}
///
/// Gets and sets the property UploadBehavior.
///
/// Specifies when to upload the files:
///
/// - UPLOAD_ON_TERMINATE
-
///
/// Matching files are uploaded once the simulation enters the
TERMINATING
/// state. Matching files are not uploaded until all of your code (including tools) have
/// stopped.
///
///
///
/// If there is a problem uploading a file, the upload is retried. If problems persist,
/// no further upload attempts will be made.
///
/// - UPLOAD_ROLLING_AUTO_REMOVE
-
///
/// Matching files are uploaded as they are created. They are deleted after they are uploaded.
/// The specified path is checked every 5 seconds. A final check is made when all of your
/// code (including tools) have stopped.
///
///
///
[AWSProperty(Required=true)]
public UploadBehavior UploadBehavior
{
get { return this._uploadBehavior; }
set { this._uploadBehavior = value; }
}
// Check to see if UploadBehavior property is set
internal bool IsSetUploadBehavior()
{
return this._uploadBehavior != null;
}
}
}