:doc:`IoT <../../iot>` / Client / create_fleet_metric

*******************
create_fleet_metric
*******************



.. py:method:: IoT.Client.create_fleet_metric(**kwargs)

  

  Creates a fleet metric.

   

  Requires permission to access the `CreateFleetMetric <https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions>`__ action.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iot-2015-05-28/CreateFleetMetric>`_  


  **Request Syntax**
  ::

    response = client.create_fleet_metric(
        metricName='string',
        queryString='string',
        aggregationType={
            'name': 'Statistics'|'Percentiles'|'Cardinality',
            'values': [
                'string',
            ]
        },
        period=123,
        aggregationField='string',
        description='string',
        queryVersion='string',
        indexName='string',
        unit='Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None',
        tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    )
    
  :type metricName: string
  :param metricName: **[REQUIRED]** 

    The name of the fleet metric to create.

    

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

    The search query string.

    

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

    The type of the aggregation query.

    

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

      The name of the aggregation type.

      

    
    - **values** *(list) --* 

      A list of the values of aggregation types.

      

    
      - *(string) --* 

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

    The time in seconds between fleet metric emissions. Range [60(1 min), 86400(1 day)] and must be multiple of 60.

    

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

    The field to aggregate.

    

  
  :type description: string
  :param description: 

    The fleet metric description.

    

  
  :type queryVersion: string
  :param queryVersion: 

    The query version.

    

  
  :type indexName: string
  :param indexName: 

    The name of the index to search.

    

  
  :type unit: string
  :param unit: 

    Used to support unit transformation such as milliseconds to seconds. The unit must be supported by `CW metric <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html>`__. Default to null.

    

  
  :type tags: list
  :param tags: 

    Metadata, which can be used to manage the fleet metric.

    

  
    - *(dict) --* 

      A set of key/value pairs that are used to manage the resource.

      

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

        The tag's key.

        

      
      - **Value** *(string) --* 

        The tag's value.

        

      
    

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

    
    ::

      {
          'metricName': 'string',
          'metricArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **metricName** *(string) --* 

        The name of the fleet metric to create.

        
      

      - **metricArn** *(string) --* 

        The Amazon Resource Name (ARN) of the new fleet metric.

        
  
  **Exceptions**
  
  *   :py:class:`IoT.Client.exceptions.InvalidRequestException`

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

  
  *   :py:class:`IoT.Client.exceptions.UnauthorizedException`

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

  
  *   :py:class:`IoT.Client.exceptions.InternalFailureException`

  
  *   :py:class:`IoT.Client.exceptions.LimitExceededException`

  
  *   :py:class:`IoT.Client.exceptions.ResourceAlreadyExistsException`

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

  
  *   :py:class:`IoT.Client.exceptions.InvalidQueryException`

  
  *   :py:class:`IoT.Client.exceptions.InvalidAggregationException`

  
  *   :py:class:`IoT.Client.exceptions.IndexNotReadyException`

  