def METHOD_NAME(client,
                 resource_name,
                 scope,
                 limit_object=None,
                 resource_type=None,
                 properties=None,
                 no_wait=False):
    all_limit = []
    if limit_object is not None:
        all_limit.append(limit_object)
    if len(all_limit) > 1:
        raise CLIError('at most one of  limit object is needed for limit!')
    limit = all_limit[0] if len(all_limit) == 1 else None
    create_quota_request = {}
    create_quota_request['properties'] = {}
    create_quota_request['properties']['limit'] = {}
    if limit is not None:
        create_quota_request['properties']['limit'] = limit
    if properties is not None:
        create_quota_request['properties']['properties'] = properties
    create_quota_request['properties']['name'] = {}
    if resource_name is not None:
        create_quota_request['properties']['name']['value'] = resource_name
    if len(create_quota_request['properties']['name']) == 0:
        del create_quota_request['properties']['name']
    if resource_type is not None:
        create_quota_request['properties']['resource_type'] = resource_type
    return sdk_no_wait(no_wait,
                       client.begin_create_or_update,
                       resource_name=resource_name,
                       scope=scope,
                       create_quota_request=create_quota_request)