def get_config_vals(class_, type_):
    """
    Provides a configuration dict that has all the needed fields for the specified type and class
    so that data can be injected into this dic to present to the user.
    """
    return_vals = {'provider_class': class_, 'provider_type': type_,
        'label': ''}
    if class_ == 'compute':
        return_vals['config'] = {'region': '', 'zone': '',
            'queue_threshold': 1, 'max_compute': 1, 'machine_type': 1,
            'disk_size': 100, 'swap_size': '30G', 'preemptible': False}
    if class_ == 'storage' and type_ == 'local':
        return_vals['config'] = {'path': ''}
        return_vals['creds'] = {}
        return return_vals
    if class_ == 'compute' and type_ == 'static':
        return_vals['creds'] = {}
        return return_vals
    if type_ == 'gc':
        return_vals['creds'] = {'client_email': '', 'client_id': '',
            'project_id': '', 'private_key': '', 'private_key_id': '',
            'client_x509_cert_url': '', 'auth_provider_x509_cert_url': '',
            'auth_uri': '', 'token_uri': '', 'type': ''}
    if type_ == 'aws':
        return_vals['creds'] = {'aws_access_key_id': '',
            'aws_secret_access_key': ''}
    if class_ == 'storage':
        return_vals['config'] = {'bucket': '', 'region': '', 'path': ''}
        return return_vals
    return return_vals
