72 lines
1.6 KiB
Python
72 lines
1.6 KiB
Python
"""
|
|
This module defines Celery_ tasks to manage PostgreSQL users and databases.
|
|
|
|
"""
|
|
from __future__ import absolute_import
|
|
|
|
from celery import shared_task
|
|
|
|
|
|
@shared_task
|
|
def create_pgsql_user(username, password):
|
|
"""
|
|
This task creates a new PostgreSQL user.
|
|
|
|
:param str username: the user name
|
|
:param str password: the password
|
|
:return: the created user's name
|
|
:rtype: str
|
|
|
|
"""
|
|
|
|
|
|
@shared_task
|
|
def set_pgsql_userpassword(username, password):
|
|
"""
|
|
Set a new password for an existing PostgreSQL user.
|
|
|
|
:param str username: the user name
|
|
:param str password: the password
|
|
:return: True if the password could be set, False otherwise
|
|
:rtype: boolean
|
|
|
|
"""
|
|
|
|
|
|
@shared_task
|
|
def delete_pgsql_user(username):
|
|
"""
|
|
This task deletes an existing PostgreSQL user.
|
|
|
|
:param str username: the user name
|
|
:return: True if the user has been deleted, False otherwise
|
|
:rtype: boolean
|
|
|
|
"""
|
|
|
|
|
|
@shared_task
|
|
def create_pgsql_database(dbname, username):
|
|
"""
|
|
This task creates a new PostgreSQL database for the given PostgreSQL user.
|
|
|
|
:param str dbname: database name
|
|
:param str username: the user name of an existing PostgreSQL user
|
|
:return: the database name
|
|
:rtype: str
|
|
|
|
"""
|
|
|
|
|
|
@shared_task
|
|
def delete_pgsql_database(dbname, username):
|
|
"""
|
|
This task deletes an existing PostgreSQL database and revokes privileges of
|
|
the given user on that database.
|
|
|
|
:param str dbname: database name
|
|
:param str username: the user name of an existing PostgreSQL user
|
|
:return: True if the database has been deleted, False otherwise
|
|
:rtype: boolean
|
|
|
|
"""
|