/*
* 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 AWSMigrationHub-2017-05-31.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.MigrationHub.Model
{
///
/// Container for the parameters to the NotifyMigrationTaskState operation.
/// Notifies Migration Hub of the current status, progress, or other detail regarding
/// a migration task. This API has the following traits:
///
/// -
///
/// Migration tools will call the
NotifyMigrationTaskState
API to share the
/// latest progress and status.
///
/// -
///
///
MigrationTaskName
is used for addressing updates to the correct target.
///
/// -
///
///
ProgressUpdateStream
is used for access control and to provide a namespace
/// for each migration tool.
///
///
///
public partial class NotifyMigrationTaskStateRequest : AmazonMigrationHubRequest
{
private bool? _dryRun;
private string _migrationTaskName;
private int? _nextUpdateSeconds;
private string _progressUpdateStream;
private Task _task;
private DateTime? _updateDateTime;
///
/// Gets and sets the property DryRun.
///
/// Optional boolean flag to indicate whether any effect should take place. Used to test
/// if the caller has permission to make the call.
///
///
public bool DryRun
{
get { return this._dryRun.GetValueOrDefault(); }
set { this._dryRun = value; }
}
// Check to see if DryRun property is set
internal bool IsSetDryRun()
{
return this._dryRun.HasValue;
}
///
/// Gets and sets the property MigrationTaskName.
///
/// Unique identifier that references the migration task. Do not store personal data
/// in this field.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
public string MigrationTaskName
{
get { return this._migrationTaskName; }
set { this._migrationTaskName = value; }
}
// Check to see if MigrationTaskName property is set
internal bool IsSetMigrationTaskName()
{
return this._migrationTaskName != null;
}
///
/// Gets and sets the property NextUpdateSeconds.
///
/// Number of seconds after the UpdateDateTime within which the Migration Hub can expect
/// an update. If Migration Hub does not receive an update within the specified interval,
/// then the migration task will be considered stale.
///
///
[AWSProperty(Required=true, Min=0)]
public int NextUpdateSeconds
{
get { return this._nextUpdateSeconds.GetValueOrDefault(); }
set { this._nextUpdateSeconds = value; }
}
// Check to see if NextUpdateSeconds property is set
internal bool IsSetNextUpdateSeconds()
{
return this._nextUpdateSeconds.HasValue;
}
///
/// Gets and sets the property ProgressUpdateStream.
///
/// The name of the ProgressUpdateStream.
///
///
[AWSProperty(Required=true, Min=1, Max=50)]
public string ProgressUpdateStream
{
get { return this._progressUpdateStream; }
set { this._progressUpdateStream = value; }
}
// Check to see if ProgressUpdateStream property is set
internal bool IsSetProgressUpdateStream()
{
return this._progressUpdateStream != null;
}
///
/// Gets and sets the property Task.
///
/// Information about the task's progress and status.
///
///
[AWSProperty(Required=true)]
public Task Task
{
get { return this._task; }
set { this._task = value; }
}
// Check to see if Task property is set
internal bool IsSetTask()
{
return this._task != null;
}
///
/// Gets and sets the property UpdateDateTime.
///
/// The timestamp when the task was gathered.
///
///
[AWSProperty(Required=true)]
public DateTime UpdateDateTime
{
get { return this._updateDateTime.GetValueOrDefault(); }
set { this._updateDateTime = value; }
}
// Check to see if UpdateDateTime property is set
internal bool IsSetUpdateDateTime()
{
return this._updateDateTime.HasValue;
}
}
}