summaryrefslogtreecommitdiffstats
path: root/ansible_collections/lowlydba/sqlserver/plugins/modules/database.py
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/lowlydba/sqlserver/plugins/modules/database.py')
-rw-r--r--ansible_collections/lowlydba/sqlserver/plugins/modules/database.py94
1 files changed, 94 insertions, 0 deletions
diff --git a/ansible_collections/lowlydba/sqlserver/plugins/modules/database.py b/ansible_collections/lowlydba/sqlserver/plugins/modules/database.py
new file mode 100644
index 000000000..97551c718
--- /dev/null
+++ b/ansible_collections/lowlydba/sqlserver/plugins/modules/database.py
@@ -0,0 +1,94 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# (c) 2022, John McCall (@lowlydba)
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+DOCUMENTATION = r'''
+---
+module: database
+short_description: Creates and configures a database
+description:
+ - Adds a new database to an existing SQL Server instance.
+version_added: 0.1.0
+options:
+ database:
+ description:
+ - Name of the target database.
+ type: str
+ required: true
+ recovery_model:
+ description:
+ - Choose the recovery model for the database.
+ type: str
+ required: false
+ choices: ['Full', 'Simple', 'BulkLogged']
+ data_file_path:
+ description:
+ - Directory where the data files should be placed. Uses SQL Server's default if not supplied.
+ - Only used if database is being created.
+ type: str
+ required: false
+ log_file_path:
+ description:
+ - Directory where the log files should be placed. Uses SQL Server's default if not supplied.
+ - Only used if database is being created.
+ type: str
+ required: false
+ owner:
+ description:
+ - Database owner login.
+ type: str
+ required: false
+ maxdop:
+ description:
+ - MAXDOP value for the database.
+ required: false
+ type: int
+ secondary_maxdop:
+ description:
+ - MAXDOP value for the database when it is a non-primary replica in an availability group.
+ required: false
+ type: int
+ compatibility:
+ description:
+ - Compatibility mode for the database. Follows the format of C(Version90), C(Version100), and so on.
+ - String is validated by C(Set-DbaDbCompatibility).
+ required: false
+ type: str
+ rcsi:
+ description:
+ - Whether or not to enable Read Committed Snapshot Isolation.
+ required: false
+ type: bool
+author: "John McCall (@lowlydba)"
+requirements:
+ - L(dbatools,https://www.powershellgallery.com/packages/dbatools/) PowerShell module
+extends_documentation_fragment:
+ - lowlydba.sqlserver.sql_credentials
+ - lowlydba.sqlserver.attributes.check_mode
+ - lowlydba.sqlserver.attributes.platform_all
+ - lowlydba.sqlserver.state
+'''
+
+EXAMPLES = r'''
+- name: Create database
+ lowlydba.sqlserver.database:
+ sql_instance: sql-01.myco.io
+ database: LowlyDB
+
+- name: Create database with customizations
+ lowlydba.sqlserver.database:
+ sql_instance: sql-01.myco.io
+ database: LowlyDB
+ owner: sa
+ maxdop: 2
+ recovery_model: Simple
+'''
+
+RETURN = r'''
+data:
+ description: Modified output from the C(New-DbaDatabase), C(Set-DbaDatabase), or C(Remove-DbaDatabase) function.
+ returned: success, but not in check_mode.
+ type: dict
+'''