Пример #1
0
def list_azure_storage_types(availability_zone, db_version):
    """Get the storage types supported."""
    if not db_version:
        return make_json_response(data=[])
    azure = session['azure']['azure_obj']
    storage_types = azure.list_storage_types(availability_zone, db_version)
    return make_json_response(data=storage_types)
Пример #2
0
def get_azure_instance_types(availability_zone, db_version):
    """Get instance types for Azure."""
    if not db_version:
        return make_json_response(data=[])
    azure = session['azure']['azure_obj']
    instance_types = azure.list_compute_types(availability_zone, db_version)
    return make_json_response(data=instance_types)
Пример #3
0
def get_azure_regions(subscription_id):
    """List Regions for Azure."""
    if not subscription_id:
        return make_json_response(data=[])
    azure = session['azure']['azure_obj']
    regions_list = azure.list_regions(subscription_id)
    session['azure']['azure_obj'] = azure
    return make_json_response(data=regions_list)
Пример #4
0
def get_azure_availability_zones(region_name):
    """List availability zones in given region."""
    if not region_name:
        return make_json_response(data=[])
    azure = session['azure']['azure_obj']
    availability_zones = azure.list_azure_availability_zones(region_name)
    session['azure']['azure_obj'] = azure
    return make_json_response(data=availability_zones)
Пример #5
0
def get_azure_postgresql_server_versions(availability_zone):
    """Get azure postgres database versions."""
    if not availability_zone:
        return make_json_response(data=[])
    azure = session['azure']['azure_obj']
    azure_postgresql_server_versions = \
        azure.list_azure_postgresql_server_versions(availability_zone)
    session['azure']['azure_obj'] = azure
    return make_json_response(data=azure_postgresql_server_versions)
Пример #6
0
def get_azure_resource_groups(subscription_id):
    """
    Fetch resource groups based on subscription.
    """
    if not subscription_id:
        return make_json_response(data=[])
    azure = session['azure']['azure_obj']
    resource_groups_list = azure.list_resource_groups(subscription_id)
    return make_json_response(data=resource_groups_list)
Пример #7
0
def check_cluster_name_availability():
    """Check Server Name availability."""
    data = request.args
    azure = session['azure']['azure_obj']
    server_name_available, error = \
        azure.check_cluster_name_availability(data['name'])
    if server_name_available:
        return make_json_response(success=server_name_available,
                                  errormsg=error)
    else:
        return make_json_response(status=410, success=0, errormsg=error)
Пример #8
0
def verify_credentials():
    """Verify Credentials."""
    data = json.loads(request.data, encoding='utf-8')
    session_token = data['secret']['session_token'] if \
        'session_token' in data['secret'] else None
    tenant_id = data['secret']['azure_tenant_id'] if \
        'azure_tenant_id' in data['secret'] else None
    interactive_browser_credential = False if \
        data['secret']['auth_type'] == 'azure_cli_credential' else True

    if 'azure' not in session:
        session['azure'] = {}

    error = ''
    status = True
    if 'azure_obj' not in session['azure'] or \
        session['azure']['auth_type'] != data['secret']['auth_type'] or \
            session['azure']['azure_tenant_id'] != tenant_id:
        if 'azure_obj' in session['azure']:
            del session['azure']['azure_obj']
        azure = Azure(
            interactive_browser_credential=interactive_browser_credential,
            tenant_id=tenant_id,
            session_token=session_token)
        status, error = azure.validate_azure_credentials()
        if status:
            session['azure']['azure_obj'] = azure
            session['azure']['auth_type'] = data['secret']['auth_type']
            session['azure']['azure_tenant_id'] = tenant_id
        if not status and 'double check your tenant name' in error:
            error = 'Authentication failed.Please double check tenant id.'
    return make_json_response(success=status, errormsg=error)
Пример #9
0
def get_azure_subscriptions():
    """
    List subscriptions.
    :return:
    """
    azure = session['azure']['azure_obj']
    subscriptions_list = azure.list_subscriptions()
    return make_json_response(data=subscriptions_list)
Пример #10
0
def get_azure_verification_codes():
    """Get azure code for authentication."""
    azure_auth_code = None
    status = False
    if 'azure' in session and 'azure_auth_code' in session['azure']:
        azure_auth_code = session['azure']['azure_auth_code']
        status = True
    return make_json_response(success=status, data=azure_auth_code)
Пример #11
0
def is_ha_supported(region_name):
    """Check high availability support in given region."""
    azure = session['azure']['azure_obj']
    is_zone_redundant_ha_supported = \
        azure.is_zone_redundant_ha_supported(region_name)
    return make_json_response(
        data={
            'is_zone_redundant_ha_supported': is_zone_redundant_ha_supported
        })
Пример #12
0
def clear_session():
    clear_azure_session()
    return make_json_response(success=1)