def create_usage_plan(name=None, description=None, apiStages=None, throttle
    =None, quota=None):
    """
    Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload.
    See also: AWS API Documentation
    
    
    :example: response = client.create_usage_plan(
        name='string',
        description='string',
        apiStages=[
            {
                'apiId': 'string',
                'stage': 'string'
            },
        ],
        throttle={
            'burstLimit': 123,
            'rateLimit': 123.0
        },
        quota={
            'limit': 123,
            'offset': 123,
            'period': 'DAY'|'WEEK'|'MONTH'
        }
    )
    
    
    :type name: string
    :param name: [REQUIRED]
            The name of the usage plan.
            

    :type description: string
    :param description: The description of the usage plan.

    :type apiStages: list
    :param apiStages: The associated API stages of the usage plan.
            (dict) --API stage name of the associated API stage in a usage plan.
            apiId (string) --API Id of the associated API stage in a usage plan.
            stage (string) --API stage name of the associated API stage in a usage plan.
            
            

    :type throttle: dict
    :param throttle: The throttling limits of the usage plan.
            burstLimit (integer) --The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.
            rateLimit (float) --The API request steady-state rate limit.
            

    :type quota: dict
    :param quota: The quota of the usage plan.
            limit (integer) --The maximum number of requests that can be made in a given time period.
            offset (integer) --The number of requests subtracted from the given limit in the initial time period.
            period (string) --The time period in which the limit applies. Valid values are 'DAY', 'WEEK' or 'MONTH'.
            

    :rtype: dict
    :return: {
        'id': 'string',
        'name': 'string',
        'description': 'string',
        'apiStages': [
            {
                'apiId': 'string',
                'stage': 'string'
            },
        ],
        'throttle': {
            'burstLimit': 123,
            'rateLimit': 123.0
        },
        'quota': {
            'limit': 123,
            'offset': 123,
            'period': 'DAY'|'WEEK'|'MONTH'
        },
        'productCode': 'string'
    }
    
    
    """
    pass
