:doc:`RTBFabric <../../rtbfabric>` / Client / update_link_module_flow

***********************
update_link_module_flow
***********************



.. py:method:: RTBFabric.Client.update_link_module_flow(**kwargs)

  

  Updates a link module flow.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/rtbfabric-2023-05-15/UpdateLinkModuleFlow>`_  


  **Request Syntax**
  ::

    response = client.update_link_module_flow(
        clientToken='string',
        gatewayId='string',
        linkId='string',
        modules=[
            {
                'version': 'string',
                'name': 'string',
                'dependsOn': [
                    'string',
                ],
                'moduleParameters': {
                    'noBid': {
                        'reason': 'string',
                        'reasonCode': 123,
                        'passThroughPercentage': ...
                    },
                    'openRtbAttribute': {
                        'filterType': 'INCLUDE'|'EXCLUDE',
                        'filterConfiguration': [
                            {
                                'criteria': [
                                    {
                                        'path': 'string',
                                        'values': [
                                            'string',
                                        ]
                                    },
                                ]
                            },
                        ],
                        'action': {
                            'noBid': {
                                'noBidReasonCode': 123
                            },
                            'headerTag': {
                                'name': 'string',
                                'value': 'string'
                            }
                        },
                        'holdbackPercentage': ...
                    },
                    'rateLimiter': {
                        'tps': ...
                    }
                }
            },
        ]
    )
    
  :type clientToken: string
  :param clientToken: **[REQUIRED]** 

    The unique client token.

    This field is autopopulated if not provided.

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

    The unique identifier of the gateway.

    

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

    The unique identifier of the link.

    

  
  :type modules: list
  :param modules: **[REQUIRED]** 

    The configuration of a module.

    

  
    - *(dict) --* 

      Describes the configuration of a module.

      

    
      - **version** *(string) --* 

        The version of the module.

        

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

        The name of the module.

        

      
      - **dependsOn** *(list) --* 

        The dependencies of the module.

        

      
        - *(string) --* 

        
    
      - **moduleParameters** *(dict) --* 

        Describes the parameters of a module.

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

      
        - **noBid** *(dict) --* 

          Describes the parameters of a no bid module.

          

        
          - **reason** *(string) --* 

            The reason description.

            

          
          - **reasonCode** *(integer) --* 

            The reason code.

            

          
          - **passThroughPercentage** *(float) --* 

            The pass through percentage.

            

          
        
        - **openRtbAttribute** *(dict) --* 

          Describes the parameters of an open RTB attribute module.

          

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

            The filter type.

            

          
          - **filterConfiguration** *(list) --* **[REQUIRED]** 

            Describes the configuration of a filter.

            

          
            - *(dict) --* 

              Describes the configuration of a filter.

              

            
              - **criteria** *(list) --* **[REQUIRED]** 

                Describes the criteria for a filter.

                

              
                - *(dict) --* 

                  Describes the criteria for a filter.

                  

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

                    The path to filter.

                    

                  
                  - **values** *(list) --* **[REQUIRED]** 

                    The value to filter.

                    

                  
                    - *(string) --* 

                    
                
                
            
            
        
          - **action** *(dict) --* **[REQUIRED]** 

            Describes a bid action.

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

          
            - **noBid** *(dict) --* 

              Describes a no bid action.

              

            
              - **noBidReasonCode** *(integer) --* 

                The reason code for the no bid action.

                

              
            
            - **headerTag** *(dict) --* 

              Describes the header tag for a bid action.

              

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

                The name of the bid action.

                

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

                The value of the bid action.

                

              
            
          
          - **holdbackPercentage** *(float) --* **[REQUIRED]** 

            The hold back percentage.

            

          
        
        - **rateLimiter** *(dict) --* 

          Describes the parameters of a rate limit.

          

        
          - **tps** *(float) --* 

            The transactions per second rate limit.

            

          
        
      
    

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

    
    ::

      {
          'gatewayId': 'string',
          'linkId': 'string',
          'status': 'PENDING_CREATION'|'PENDING_REQUEST'|'REQUESTED'|'ACCEPTED'|'ACTIVE'|'REJECTED'|'FAILED'|'PENDING_DELETION'|'DELETED'|'PENDING_UPDATE'|'PENDING_ISOLATION'|'ISOLATED'|'PENDING_RESTORATION'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **gatewayId** *(string) --* 

        The unique identifier of the gateway.

        
      

      - **linkId** *(string) --* 

        The unique identifier of the link.

        
      

      - **status** *(string) --* 

        The status of the request.

        
  
  **Exceptions**
  
  *   :py:class:`RTBFabric.Client.exceptions.ServiceQuotaExceededException`

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

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

  
  *   :py:class:`RTBFabric.Client.exceptions.AccessDeniedException`

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

  
  *   :py:class:`RTBFabric.Client.exceptions.InternalServerException`

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

  