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)
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)
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)
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)
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)
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)
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)
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)
def get_azure_subscriptions(): """ List subscriptions. :return: """ azure = session['azure']['azure_obj'] subscriptions_list = azure.list_subscriptions() return make_json_response(data=subscriptions_list)
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)
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 })
def clear_session(): clear_azure_session() return make_json_response(success=1)