:doc:`DataPipeline <../../datapipeline>` / Client / validate_pipeline_definition

****************************
validate_pipeline_definition
****************************



.. py:method:: DataPipeline.Client.validate_pipeline_definition(**kwargs)

  

  Validates the specified pipeline definition to ensure that it is well formed and can be run without error.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datapipeline-2012-10-29/ValidatePipelineDefinition>`_  


  **Request Syntax**
  ::

    response = client.validate_pipeline_definition(
        pipelineId='string',
        pipelineObjects=[
            {
                'id': 'string',
                'name': 'string',
                'fields': [
                    {
                        'key': 'string',
                        'stringValue': 'string',
                        'refValue': 'string'
                    },
                ]
            },
        ],
        parameterObjects=[
            {
                'id': 'string',
                'attributes': [
                    {
                        'key': 'string',
                        'stringValue': 'string'
                    },
                ]
            },
        ],
        parameterValues=[
            {
                'id': 'string',
                'stringValue': 'string'
            },
        ]
    )
    
  :type pipelineId: string
  :param pipelineId: **[REQUIRED]** 

    The ID of the pipeline.

    

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

    The objects that define the pipeline changes to validate against the pipeline.

    

  
    - *(dict) --* 

      Contains information about a pipeline object. This can be a logical, physical, or physical attempt pipeline object. The complete set of components of a pipeline defines the pipeline.

      

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

        The ID of the object.

        

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

        The name of the object.

        

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

        Key-value pairs that define the properties of the object.

        

      
        - *(dict) --* 

          A key-value pair that describes a property of a pipeline object. The value is specified as either a string value ( ``StringValue``) or a reference to another object ( ``RefValue``) but not as both.

          

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

            The field identifier.

            

          
          - **stringValue** *(string) --* 

            The field value, expressed as a String.

            

          
          - **refValue** *(string) --* 

            The field value, expressed as the identifier of another object.

            

          
        
    
    

  :type parameterObjects: list
  :param parameterObjects: 

    The parameter objects used with the pipeline.

    

  
    - *(dict) --* 

      Contains information about a parameter object.

      

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

        The ID of the parameter object.

        

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

        The attributes of the parameter object.

        

      
        - *(dict) --* 

          The attributes allowed or specified with a parameter object.

          

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

            The field identifier.

            

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

            The field value, expressed as a String.

            

          
        
    
    

  :type parameterValues: list
  :param parameterValues: 

    The parameter values used with the pipeline.

    

  
    - *(dict) --* 

      A value or list of parameter values.

      

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

        The ID of the parameter value.

        

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

        The field value, expressed as a String.

        

      
    

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

    
    ::

      {
          'validationErrors': [
              {
                  'id': 'string',
                  'errors': [
                      'string',
                  ]
              },
          ],
          'validationWarnings': [
              {
                  'id': 'string',
                  'warnings': [
                      'string',
                  ]
              },
          ],
          'errored': True|False
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Contains the output of ValidatePipelineDefinition.

      
      

      - **validationErrors** *(list) --* 

        Any validation errors that were found.

        
        

        - *(dict) --* 

          Defines a validation error. Validation errors prevent pipeline activation. The set of validation errors that can be returned are defined by AWS Data Pipeline.

          
          

          - **id** *(string) --* 

            The identifier of the object that contains the validation error.

            
          

          - **errors** *(list) --* 

            A description of the validation error.

            
            

            - *(string) --* 
        
      
    
      

      - **validationWarnings** *(list) --* 

        Any validation warnings that were found.

        
        

        - *(dict) --* 

          Defines a validation warning. Validation warnings do not prevent pipeline activation. The set of validation warnings that can be returned are defined by AWS Data Pipeline.

          
          

          - **id** *(string) --* 

            The identifier of the object that contains the validation warning.

            
          

          - **warnings** *(list) --* 

            A description of the validation warning.

            
            

            - *(string) --* 
        
      
    
      

      - **errored** *(boolean) --* 

        Indicates whether there were validation errors.

        
  
  **Exceptions**
  
  *   :py:class:`DataPipeline.Client.exceptions.InternalServiceError`

  
  *   :py:class:`DataPipeline.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`DataPipeline.Client.exceptions.PipelineNotFoundException`

  
  *   :py:class:`DataPipeline.Client.exceptions.PipelineDeletedException`

  