:doc:`MigrationHub <../../mgh>` / Client / notify_migration_task_state

***************************
notify_migration_task_state
***************************



.. py:method:: MigrationHub.Client.notify_migration_task_state(**kwargs)

  

  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.
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState>`_  


  **Request Syntax**
  ::

    response = client.notify_migration_task_state(
        ProgressUpdateStream='string',
        MigrationTaskName='string',
        Task={
            'Status': 'NOT_STARTED'|'IN_PROGRESS'|'FAILED'|'COMPLETED',
            'StatusDetail': 'string',
            'ProgressPercent': 123
        },
        UpdateDateTime=datetime(2015, 1, 1),
        NextUpdateSeconds=123,
        DryRun=True|False
    )
    
  :type ProgressUpdateStream: string
  :param ProgressUpdateStream: **[REQUIRED]** 

    The name of the ProgressUpdateStream.

    

  
  :type MigrationTaskName: string
  :param MigrationTaskName: **[REQUIRED]** 

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

    

  
  :type Task: dict
  :param Task: **[REQUIRED]** 

    Information about the task's progress and status.

    

  
    - **Status** *(string) --* **[REQUIRED]** 

      Status of the task - Not Started, In-Progress, Complete.

      

    
    - **StatusDetail** *(string) --* 

      Details of task status as notified by a migration tool. A tool might use this field to provide clarifying information about the status that is unique to that tool or that explains an error state.

      

    
    - **ProgressPercent** *(integer) --* 

      Indication of the percentage completion of the task.

      

    
  
  :type UpdateDateTime: datetime
  :param UpdateDateTime: **[REQUIRED]** 

    The timestamp when the task was gathered.

    

  
  :type NextUpdateSeconds: integer
  :param NextUpdateSeconds: **[REQUIRED]** 

    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.

    

  
  :type DryRun: boolean
  :param DryRun: 

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

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`MigrationHub.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`MigrationHub.Client.exceptions.ThrottlingException`

  
  *   :py:class:`MigrationHub.Client.exceptions.InternalServerError`

  
  *   :py:class:`MigrationHub.Client.exceptions.ServiceUnavailableException`

  
  *   :py:class:`MigrationHub.Client.exceptions.DryRunOperation`

  
  *   :py:class:`MigrationHub.Client.exceptions.UnauthorizedOperation`

  
  *   :py:class:`MigrationHub.Client.exceptions.InvalidInputException`

  
  *   :py:class:`MigrationHub.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`MigrationHub.Client.exceptions.HomeRegionNotSetException`

  