/*
* 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 datasync-2018-11-09.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.DataSync.Model
{
///
/// Container for the parameters to the CreateTask operation.
/// Configures a task, which defines where and how DataSync transfers your data.
///
///
///
/// A task includes a source location, a destination location, and the preferences for
/// how and when you want to transfer your data (such as bandwidth limits, scheduling,
/// among other options).
///
///
///
/// If you're planning to transfer data to or from an Amazon S3 location, review how
/// DataSync can affect your S3 request charges and the DataSync
/// pricing page before you begin.
///
///
///
public partial class CreateTaskRequest : AmazonDataSyncRequest
{
private string _cloudWatchLogGroupArn;
private string _destinationLocationArn;
private List _excludes = new List();
private List _includes = new List();
private string _name;
private Options _options;
private TaskSchedule _schedule;
private string _sourceLocationArn;
private List _tags = new List();
///
/// Gets and sets the property CloudWatchLogGroupArn.
///
/// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to
/// monitor and log events in the task.
///
///
[AWSProperty(Max=562)]
public string CloudWatchLogGroupArn
{
get { return this._cloudWatchLogGroupArn; }
set { this._cloudWatchLogGroupArn = value; }
}
// Check to see if CloudWatchLogGroupArn property is set
internal bool IsSetCloudWatchLogGroupArn()
{
return this._cloudWatchLogGroupArn != null;
}
///
/// Gets and sets the property DestinationLocationArn.
///
/// The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's location.
///
///
///
[AWSProperty(Required=true, Max=128)]
public string DestinationLocationArn
{
get { return this._destinationLocationArn; }
set { this._destinationLocationArn = value; }
}
// Check to see if DestinationLocationArn property is set
internal bool IsSetDestinationLocationArn()
{
return this._destinationLocationArn != null;
}
///
/// Gets and sets the property Excludes.
///
/// Specifies a list of filter rules that exclude specific data during your transfer.
/// For more information and examples, see Filtering
/// data transferred by DataSync.
///
///
[AWSProperty(Min=0, Max=1)]
public List Excludes
{
get { return this._excludes; }
set { this._excludes = value; }
}
// Check to see if Excludes property is set
internal bool IsSetExcludes()
{
return this._excludes != null && this._excludes.Count > 0;
}
///
/// Gets and sets the property Includes.
///
/// Specifies a list of filter rules that include specific data during your transfer.
/// For more information and examples, see Filtering
/// data transferred by DataSync.
///
///
[AWSProperty(Min=0, Max=1)]
public List Includes
{
get { return this._includes; }
set { this._includes = value; }
}
// Check to see if Includes property is set
internal bool IsSetIncludes()
{
return this._includes != null && this._includes.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// The name of a task. This value is a text reference that is used to identify the task
/// in the console.
///
///
[AWSProperty(Min=1, Max=256)]
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 Options.
///
/// Specifies the configuration options for a task. Some options include preserving file
/// or object metadata and verifying data integrity.
///
///
///
/// You can also override these options before starting an individual run of a task (also
/// known as a task execution). For more information, see StartTaskExecution.
///
///
public Options Options
{
get { return this._options; }
set { this._options = value; }
}
// Check to see if Options property is set
internal bool IsSetOptions()
{
return this._options != null;
}
///
/// Gets and sets the property Schedule.
///
/// Specifies a schedule used to periodically transfer files from a source to a destination
/// location. The schedule should be specified in UTC time. For more information, see
/// Scheduling
/// your task.
///
///
public TaskSchedule Schedule
{
get { return this._schedule; }
set { this._schedule = value; }
}
// Check to see if Schedule property is set
internal bool IsSetSchedule()
{
return this._schedule != null;
}
///
/// Gets and sets the property SourceLocationArn.
///
/// The Amazon Resource Name (ARN) of the source location for the task.
///
///
[AWSProperty(Required=true, Max=128)]
public string SourceLocationArn
{
get { return this._sourceLocationArn; }
set { this._sourceLocationArn = value; }
}
// Check to see if SourceLocationArn property is set
internal bool IsSetSourceLocationArn()
{
return this._sourceLocationArn != null;
}
///
/// Gets and sets the property Tags.
///
/// Specifies the tags that you want to apply to the Amazon Resource Name (ARN) representing
/// the task.
///
///
///
/// Tags are key-value pairs that help you manage, filter, and search for your
/// DataSync resources.
///
///
[AWSProperty(Min=0, Max=50)]
public List 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;
}
}
}