:doc:`ApplicationDiscoveryService <../../discovery>` / Client / start_export_task

*****************
start_export_task
*****************



.. py:method:: ApplicationDiscoveryService.Client.start_export_task(**kwargs)

  

  Begins the export of a discovered data report to an Amazon S3 bucket managed by Amazon Web Services.

   

  .. note::

    

    Exports might provide an estimate of fees and savings based on certain information that you provide. Fee estimates do not include any taxes that might apply. Your actual fees and savings depend on a variety of factors, including your actual usage of Amazon Web Services services, which might vary from the estimates provided in this report.

    

   

  If you do not specify ``preferences`` or ``agentIds`` in the filter, a summary of all servers, applications, tags, and performance is generated. This data is an aggregation of all server data collected through on-premises tooling, file import, application grouping and applying tags.

   

  If you specify ``agentIds`` in a filter, the task exports up to 72 hours of detailed data collected by the identified Application Discovery Agent, including network, process, and performance details. A time range for exported agent data may be set by using ``startTime`` and ``endTime``. Export of detailed agent data is limited to five concurrently running exports. Export of detailed agent data is limited to two exports per day.

   

  If you enable ``ec2RecommendationsPreferences`` in ``preferences`` , an Amazon EC2 instance matching the characteristics of each server in Application Discovery Service is generated. Changing the attributes of the ``ec2RecommendationsPreferences`` changes the criteria of the recommendation.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartExportTask>`_  


  **Request Syntax**
  ::

    response = client.start_export_task(
        exportDataFormat=[
            'CSV',
        ],
        filters=[
            {
                'name': 'string',
                'values': [
                    'string',
                ],
                'condition': 'string'
            },
        ],
        startTime=datetime(2015, 1, 1),
        endTime=datetime(2015, 1, 1),
        preferences={
            'ec2RecommendationsPreferences': {
                'enabled': True|False,
                'cpuPerformanceMetricBasis': {
                    'name': 'string',
                    'percentageAdjust': 123.0
                },
                'ramPerformanceMetricBasis': {
                    'name': 'string',
                    'percentageAdjust': 123.0
                },
                'tenancy': 'DEDICATED'|'SHARED',
                'excludedInstanceTypes': [
                    'string',
                ],
                'preferredRegion': 'string',
                'reservedInstanceOptions': {
                    'purchasingOption': 'ALL_UPFRONT'|'PARTIAL_UPFRONT'|'NO_UPFRONT',
                    'offeringClass': 'STANDARD'|'CONVERTIBLE',
                    'termLength': 'ONE_YEAR'|'THREE_YEAR'
                }
            }
        }
    )
    
  :type exportDataFormat: list
  :param exportDataFormat: 

    The file format for the returned export data. Default value is ``CSV``. **Note:** *The* ``GRAPHML`` *option has been deprecated.*

    

  
    - *(string) --* 

    

  :type filters: list
  :param filters: 

    If a filter is present, it selects the single ``agentId`` of the Application Discovery Agent for which data is exported. The ``agentId`` can be found in the results of the ``DescribeAgents`` API or CLI. If no filter is present, ``startTime`` and ``endTime`` are ignored and exported data includes both Amazon Web Services Application Discovery Service Agentless Collector collectors data and summary data from Application Discovery Agent agents.

    

  
    - *(dict) --* 

      Used to select which agent's data is to be exported. A single agent ID may be selected for export using the `StartExportTask <http://docs.aws.amazon.com/application-discovery/latest/APIReference/API_StartExportTask.html>`__ action.

      

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

        A single ``ExportFilter`` name. Supported filters: ``agentIds``.

        

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

        A single agent ID for a Discovery Agent. An agent ID can be found using the `DescribeAgents <http://docs.aws.amazon.com/application-discovery/latest/APIReference/API_DescribeAgents.html>`__ action. Typically an ADS agent ID is in the form ``o-0123456789abcdef0``.

        

      
        - *(string) --* 

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

        Supported condition: ``EQUALS``

        

      
    

  :type startTime: datetime
  :param startTime: 

    The start timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, data is exported starting from the first data collected by the agent.

    

  
  :type endTime: datetime
  :param endTime: 

    The end timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, exported data includes the most recent data collected by the agent.

    

  
  :type preferences: dict
  :param preferences: 

    Indicates the type of data that needs to be exported. Only one `ExportPreferences <https://docs.aws.amazon.com/application-discovery/latest/APIReference/API_ExportPreferences.html>`__ can be enabled at any time.

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

  
    - **ec2RecommendationsPreferences** *(dict) --* 

      If enabled, exported data includes EC2 instance type matches for on-premises servers discovered through Amazon Web Services Application Discovery Service.

      

    
      - **enabled** *(boolean) --* 

        If set to true, the export `preferences <https://docs.aws.amazon.com/application-discovery/latest/APIReference/API_StartExportTask.html#API_StartExportTask_RequestSyntax>`__ is set to ``Ec2RecommendationsExportPreferences``.

        

      
      - **cpuPerformanceMetricBasis** *(dict) --* 

        The recommended EC2 instance type that matches the CPU usage metric of server performance data.

        

      
        - **name** *(string) --* 

          A utilization metric that is used by the recommendations.

          

        
        - **percentageAdjust** *(float) --* 

          Specifies the percentage of the specified utilization metric that is used by the recommendations.

          

        
      
      - **ramPerformanceMetricBasis** *(dict) --* 

        The recommended EC2 instance type that matches the Memory usage metric of server performance data.

        

      
        - **name** *(string) --* 

          A utilization metric that is used by the recommendations.

          

        
        - **percentageAdjust** *(float) --* 

          Specifies the percentage of the specified utilization metric that is used by the recommendations.

          

        
      
      - **tenancy** *(string) --* 

        The target tenancy to use for your recommended EC2 instances.

        

      
      - **excludedInstanceTypes** *(list) --* 

        An array of instance types to exclude from recommendations.

        

      
        - *(string) --* 

        
    
      - **preferredRegion** *(string) --* 

        The target Amazon Web Services Region for the recommendations. You can use any of the Region codes available for the chosen service, as listed in `Amazon Web Services service endpoints <https://docs.aws.amazon.com/general/latest/gr/rande.html>`__ in the *Amazon Web Services General Reference*.

        

      
      - **reservedInstanceOptions** *(dict) --* 

        The contract type for a reserved instance. If blank, we assume an On-Demand instance is preferred.

        

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

          The payment plan to use for your Reserved Instance.

          

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

          The flexibility to change the instance types needed for your Reserved Instance.

          

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

          The preferred duration of the Reserved Instance term.

          

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

    
    ::

      {
          'exportId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **exportId** *(string) --* 

        A unique identifier used to query the status of an export request.

        
  
  **Exceptions**
  
  *   :py:class:`ApplicationDiscoveryService.Client.exceptions.AuthorizationErrorException`

  
  *   :py:class:`ApplicationDiscoveryService.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`ApplicationDiscoveryService.Client.exceptions.InvalidParameterValueException`

  
  *   :py:class:`ApplicationDiscoveryService.Client.exceptions.ServerInternalErrorException`

  
  *   :py:class:`ApplicationDiscoveryService.Client.exceptions.OperationNotPermittedException`

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

  