:doc:`mgn <../../mgn>` / Client / put_source_server_action

************************
put_source_server_action
************************



.. py:method:: mgn.Client.put_source_server_action(**kwargs)

  

  Put source server post migration custom action.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/PutSourceServerAction>`_  


  **Request Syntax**
  ::

    response = client.put_source_server_action(
        sourceServerID='string',
        actionName='string',
        documentIdentifier='string',
        order=123,
        actionID='string',
        documentVersion='string',
        active=True|False,
        timeoutSeconds=123,
        mustSucceedForCutover=True|False,
        parameters={
            'string': [
                {
                    'parameterType': 'STRING'|'SECURE_STRING',
                    'parameterName': 'string'
                },
            ]
        },
        externalParameters={
            'string': {
                'dynamicPath': 'string'
            }
        },
        description='string',
        category='DISASTER_RECOVERY'|'OPERATING_SYSTEM'|'LICENSE_AND_SUBSCRIPTION'|'VALIDATION'|'OBSERVABILITY'|'REFACTORING'|'SECURITY'|'NETWORKING'|'CONFIGURATION'|'BACKUP'|'OTHER',
        accountID='string'
    )
    
  :type sourceServerID: string
  :param sourceServerID: **[REQUIRED]** 

    Source server ID.

    

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

    Source server post migration custom action name.

    

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

    Source server post migration custom action document identifier.

    

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

    Source server post migration custom action order.

    

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

    Source server post migration custom action ID.

    

  
  :type documentVersion: string
  :param documentVersion: 

    Source server post migration custom action document version.

    

  
  :type active: boolean
  :param active: 

    Source server post migration custom action active status.

    

  
  :type timeoutSeconds: integer
  :param timeoutSeconds: 

    Source server post migration custom action timeout in seconds.

    

  
  :type mustSucceedForCutover: boolean
  :param mustSucceedForCutover: 

    Source server post migration custom action must succeed for cutover.

    

  
  :type parameters: dict
  :param parameters: 

    Source server post migration custom action parameters.

    

  
    - *(string) --* 

    
      - *(list) --* 

      
        - *(dict) --* 

          AWS Systems Manager Parameter Store parameter.

          

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

            AWS Systems Manager Parameter Store parameter type.

            

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

            AWS Systems Manager Parameter Store parameter name.

            

          
        
    


  :type externalParameters: dict
  :param externalParameters: 

    Source server post migration custom action external parameters.

    

  
    - *(string) --* 

    
      - *(dict) --* 

        AWS Systems Manager Document external parameter.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``dynamicPath``. 

      
        - **dynamicPath** *(string) --* 

          AWS Systems Manager Document external parameters dynamic path.

          

        
      


  :type description: string
  :param description: 

    Source server post migration custom action description.

    

  
  :type category: string
  :param category: 

    Source server post migration custom action category.

    

  
  :type accountID: string
  :param accountID: 

    Source server post migration custom account ID.

    

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

    
    ::

      {
          'actionID': 'string',
          'actionName': 'string',
          'documentIdentifier': 'string',
          'order': 123,
          'documentVersion': 'string',
          'active': True|False,
          'timeoutSeconds': 123,
          'mustSucceedForCutover': True|False,
          'parameters': {
              'string': [
                  {
                      'parameterType': 'STRING'|'SECURE_STRING',
                      'parameterName': 'string'
                  },
              ]
          },
          'externalParameters': {
              'string': {
                  'dynamicPath': 'string'
              }
          },
          'description': 'string',
          'category': 'DISASTER_RECOVERY'|'OPERATING_SYSTEM'|'LICENSE_AND_SUBSCRIPTION'|'VALIDATION'|'OBSERVABILITY'|'REFACTORING'|'SECURITY'|'NETWORKING'|'CONFIGURATION'|'BACKUP'|'OTHER'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **actionID** *(string) --* 

        Source server post migration custom action ID.

        
      

      - **actionName** *(string) --* 

        Source server post migration custom action name.

        
      

      - **documentIdentifier** *(string) --* 

        Source server post migration custom action document identifier.

        
      

      - **order** *(integer) --* 

        Source server post migration custom action order.

        
      

      - **documentVersion** *(string) --* 

        Source server post migration custom action document version.

        
      

      - **active** *(boolean) --* 

        Source server post migration custom action active status.

        
      

      - **timeoutSeconds** *(integer) --* 

        Source server post migration custom action timeout in seconds.

        
      

      - **mustSucceedForCutover** *(boolean) --* 

        Source server post migration custom action must succeed for cutover.

        
      

      - **parameters** *(dict) --* 

        Source server post migration custom action parameters.

        
        

        - *(string) --* 
          

          - *(list) --* 
            

            - *(dict) --* 

              AWS Systems Manager Parameter Store parameter.

              
              

              - **parameterType** *(string) --* 

                AWS Systems Manager Parameter Store parameter type.

                
              

              - **parameterName** *(string) --* 

                AWS Systems Manager Parameter Store parameter name.

                
          
        
    
  
      

      - **externalParameters** *(dict) --* 

        Source server post migration custom action external parameters.

        
        

        - *(string) --* 
          

          - *(dict) --* 

            AWS Systems Manager Document external parameter.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``dynamicPath``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **dynamicPath** *(string) --* 

              AWS Systems Manager Document external parameters dynamic path.

              
        
    
  
      

      - **description** *(string) --* 

        Source server post migration custom action description.

        
      

      - **category** *(string) --* 

        Source server post migration custom action category.

        
  
  **Exceptions**
  
  *   :py:class:`mgn.Client.exceptions.UninitializedAccountException`

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

  
  *   :py:class:`mgn.Client.exceptions.ValidationException`

  
  *   :py:class:`mgn.Client.exceptions.ConflictException`

  