/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace MigrationHub { namespace Model { /** */ class NotifyMigrationTaskStateRequest : public MigrationHubRequest { public: AWS_MIGRATIONHUB_API NotifyMigrationTaskStateRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "NotifyMigrationTaskState"; } AWS_MIGRATIONHUB_API Aws::String SerializePayload() const override; AWS_MIGRATIONHUB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the ProgressUpdateStream.

*/ inline const Aws::String& GetProgressUpdateStream() const{ return m_progressUpdateStream; } /** *

The name of the ProgressUpdateStream.

*/ inline bool ProgressUpdateStreamHasBeenSet() const { return m_progressUpdateStreamHasBeenSet; } /** *

The name of the ProgressUpdateStream.

*/ inline void SetProgressUpdateStream(const Aws::String& value) { m_progressUpdateStreamHasBeenSet = true; m_progressUpdateStream = value; } /** *

The name of the ProgressUpdateStream.

*/ inline void SetProgressUpdateStream(Aws::String&& value) { m_progressUpdateStreamHasBeenSet = true; m_progressUpdateStream = std::move(value); } /** *

The name of the ProgressUpdateStream.

*/ inline void SetProgressUpdateStream(const char* value) { m_progressUpdateStreamHasBeenSet = true; m_progressUpdateStream.assign(value); } /** *

The name of the ProgressUpdateStream.

*/ inline NotifyMigrationTaskStateRequest& WithProgressUpdateStream(const Aws::String& value) { SetProgressUpdateStream(value); return *this;} /** *

The name of the ProgressUpdateStream.

*/ inline NotifyMigrationTaskStateRequest& WithProgressUpdateStream(Aws::String&& value) { SetProgressUpdateStream(std::move(value)); return *this;} /** *

The name of the ProgressUpdateStream.

*/ inline NotifyMigrationTaskStateRequest& WithProgressUpdateStream(const char* value) { SetProgressUpdateStream(value); return *this;} /** *

Unique identifier that references the migration task. Do not store * personal data in this field.

*/ inline const Aws::String& GetMigrationTaskName() const{ return m_migrationTaskName; } /** *

Unique identifier that references the migration task. Do not store * personal data in this field.

*/ inline bool MigrationTaskNameHasBeenSet() const { return m_migrationTaskNameHasBeenSet; } /** *

Unique identifier that references the migration task. Do not store * personal data in this field.

*/ inline void SetMigrationTaskName(const Aws::String& value) { m_migrationTaskNameHasBeenSet = true; m_migrationTaskName = value; } /** *

Unique identifier that references the migration task. Do not store * personal data in this field.

*/ inline void SetMigrationTaskName(Aws::String&& value) { m_migrationTaskNameHasBeenSet = true; m_migrationTaskName = std::move(value); } /** *

Unique identifier that references the migration task. Do not store * personal data in this field.

*/ inline void SetMigrationTaskName(const char* value) { m_migrationTaskNameHasBeenSet = true; m_migrationTaskName.assign(value); } /** *

Unique identifier that references the migration task. Do not store * personal data in this field.

*/ inline NotifyMigrationTaskStateRequest& WithMigrationTaskName(const Aws::String& value) { SetMigrationTaskName(value); return *this;} /** *

Unique identifier that references the migration task. Do not store * personal data in this field.

*/ inline NotifyMigrationTaskStateRequest& WithMigrationTaskName(Aws::String&& value) { SetMigrationTaskName(std::move(value)); return *this;} /** *

Unique identifier that references the migration task. Do not store * personal data in this field.

*/ inline NotifyMigrationTaskStateRequest& WithMigrationTaskName(const char* value) { SetMigrationTaskName(value); return *this;} /** *

Information about the task's progress and status.

*/ inline const Task& GetTask() const{ return m_task; } /** *

Information about the task's progress and status.

*/ inline bool TaskHasBeenSet() const { return m_taskHasBeenSet; } /** *

Information about the task's progress and status.

*/ inline void SetTask(const Task& value) { m_taskHasBeenSet = true; m_task = value; } /** *

Information about the task's progress and status.

*/ inline void SetTask(Task&& value) { m_taskHasBeenSet = true; m_task = std::move(value); } /** *

Information about the task's progress and status.

*/ inline NotifyMigrationTaskStateRequest& WithTask(const Task& value) { SetTask(value); return *this;} /** *

Information about the task's progress and status.

*/ inline NotifyMigrationTaskStateRequest& WithTask(Task&& value) { SetTask(std::move(value)); return *this;} /** *

The timestamp when the task was gathered.

*/ inline const Aws::Utils::DateTime& GetUpdateDateTime() const{ return m_updateDateTime; } /** *

The timestamp when the task was gathered.

*/ inline bool UpdateDateTimeHasBeenSet() const { return m_updateDateTimeHasBeenSet; } /** *

The timestamp when the task was gathered.

*/ inline void SetUpdateDateTime(const Aws::Utils::DateTime& value) { m_updateDateTimeHasBeenSet = true; m_updateDateTime = value; } /** *

The timestamp when the task was gathered.

*/ inline void SetUpdateDateTime(Aws::Utils::DateTime&& value) { m_updateDateTimeHasBeenSet = true; m_updateDateTime = std::move(value); } /** *

The timestamp when the task was gathered.

*/ inline NotifyMigrationTaskStateRequest& WithUpdateDateTime(const Aws::Utils::DateTime& value) { SetUpdateDateTime(value); return *this;} /** *

The timestamp when the task was gathered.

*/ inline NotifyMigrationTaskStateRequest& WithUpdateDateTime(Aws::Utils::DateTime&& value) { SetUpdateDateTime(std::move(value)); return *this;} /** *

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.

*/ inline int GetNextUpdateSeconds() const{ return m_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.

*/ inline bool NextUpdateSecondsHasBeenSet() const { return m_nextUpdateSecondsHasBeenSet; } /** *

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.

*/ inline void SetNextUpdateSeconds(int value) { m_nextUpdateSecondsHasBeenSet = true; m_nextUpdateSeconds = value; } /** *

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.

*/ inline NotifyMigrationTaskStateRequest& WithNextUpdateSeconds(int value) { SetNextUpdateSeconds(value); return *this;} /** *

Optional boolean flag to indicate whether any effect should take place. Used * to test if the caller has permission to make the call.

*/ inline bool GetDryRun() const{ return m_dryRun; } /** *

Optional boolean flag to indicate whether any effect should take place. Used * to test if the caller has permission to make the call.

*/ inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } /** *

Optional boolean flag to indicate whether any effect should take place. Used * to test if the caller has permission to make the call.

*/ inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } /** *

Optional boolean flag to indicate whether any effect should take place. Used * to test if the caller has permission to make the call.

*/ inline NotifyMigrationTaskStateRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} private: Aws::String m_progressUpdateStream; bool m_progressUpdateStreamHasBeenSet = false; Aws::String m_migrationTaskName; bool m_migrationTaskNameHasBeenSet = false; Task m_task; bool m_taskHasBeenSet = false; Aws::Utils::DateTime m_updateDateTime; bool m_updateDateTimeHasBeenSet = false; int m_nextUpdateSeconds; bool m_nextUpdateSecondsHasBeenSet = false; bool m_dryRun; bool m_dryRunHasBeenSet = false; }; } // namespace Model } // namespace MigrationHub } // namespace Aws