def put_metric_filter(logGroupName=None, filterName=None, filterPattern=
    None, metricTransformations=None):
    """
    Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through  PutLogEvents .
    The maximum number of metric filters that can be associated with a log group is 100.
    See also: AWS API Documentation
    
    
    :example: response = client.put_metric_filter(
        logGroupName='string',
        filterName='string',
        filterPattern='string',
        metricTransformations=[
            {
                'metricName': 'string',
                'metricNamespace': 'string',
                'metricValue': 'string',
                'defaultValue': 123.0
            },
        ]
    )
    
    
    :type logGroupName: string
    :param logGroupName: [REQUIRED]
            The name of the log group.
            

    :type filterName: string
    :param filterName: [REQUIRED]
            A name for the metric filter.
            

    :type filterPattern: string
    :param filterPattern: [REQUIRED]
            A filter pattern for extracting metric data out of ingested log events.
            

    :type metricTransformations: list
    :param metricTransformations: [REQUIRED]
            A collection of information needed to define how metric data gets emitted.
            (dict) --Indicates how to transform ingested log events into metric data in a CloudWatch metric.
            metricName (string) -- [REQUIRED]The name of the CloudWatch metric.
            metricNamespace (string) -- [REQUIRED]The namespace of the CloudWatch metric.
            metricValue (string) -- [REQUIRED]The value to publish to the CloudWatch metric when a filter pattern matches a log event.
            defaultValue (float) --(Optional) The value to emit when a filter pattern does not match a log event. This value can be null.
            
            

    """
    pass
