summaryrefslogtreecommitdiffstats
path: root/ansible_collections/microsoft/ad/plugins/modules/domain.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:04:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:04:41 +0000
commit975f66f2eebe9dadba04f275774d4ab83f74cf25 (patch)
tree89bd26a93aaae6a25749145b7e4bca4a1e75b2be /ansible_collections/microsoft/ad/plugins/modules/domain.py
parentInitial commit. (diff)
downloadansible-975f66f2eebe9dadba04f275774d4ab83f74cf25.tar.xz
ansible-975f66f2eebe9dadba04f275774d4ab83f74cf25.zip
Adding upstream version 7.7.0+dfsg.upstream/7.7.0+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/microsoft/ad/plugins/modules/domain.py')
-rw-r--r--ansible_collections/microsoft/ad/plugins/modules/domain.py143
1 files changed, 143 insertions, 0 deletions
diff --git a/ansible_collections/microsoft/ad/plugins/modules/domain.py b/ansible_collections/microsoft/ad/plugins/modules/domain.py
new file mode 100644
index 000000000..72d4fc21a
--- /dev/null
+++ b/ansible_collections/microsoft/ad/plugins/modules/domain.py
@@ -0,0 +1,143 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2022 Ansible Project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+DOCUMENTATION = r"""
+module: domain
+short_description: Ensures the existence of a Windows domain
+description:
+- Ensure that the domain named by I(dns_domain_name) exists and is reachable.
+- If the domain is not reachable, the domain is created in a new forest on the target Windows Server 2012+ host.
+- This module may require subsequent use of the M(ansible.windows.win_reboot) action if changes are made.
+options:
+ create_dns_delegation:
+ description:
+ - Whether to create a DNS delegation that references the new DNS server that you install along with the domain controller.
+ - Valid for Active Directory-integrated DNS only.
+ - The default is computed automatically based on the environment.
+ type: bool
+ database_path:
+ description:
+ - The path to a directory on a fixed disk of the Windows host where the
+ domain database will be created.
+ - If not set then the default path is C(%SYSTEMROOT%\NTDS).
+ type: path
+ dns_domain_name:
+ description:
+ - The DNS name of the domain which should exist and be reachable or reside on the target Windows host.
+ type: str
+ required: yes
+ domain_mode:
+ description:
+ - Specifies the domain functional level of the first domain in the creation of a new forest.
+ - The domain functional level cannot be lower than the forest functional level, but it can be higher.
+ - The default is automatically computed and set.
+ - Current known modes are C(Win2003), C(Win2008), C(Win2008R2), C(Win2012), C(Win2012R2), or C(WinThreshold).
+ type: str
+ domain_netbios_name:
+ description:
+ - The NetBIOS name for the root domain in the new forest.
+ - For NetBIOS names to be valid for use with this parameter they must be single label names of 15 characters or less, if not it will fail.
+ - If this parameter is not set, then the default is automatically computed from the value of the I(domain_name) parameter.
+ type: str
+ forest_mode:
+ description:
+ - Specifies the forest functional level for the new forest.
+ - The default forest functional level in Windows Server is typically the same as the version you are running.
+ - Current known modes are C(Win2003), C(Win2008), C(Win2008R2), C(Win2012), C(Win2012R2), or C(WinThreshold).
+ type: str
+ install_dns:
+ description:
+ - Whether to install the DNS service when creating the domain controller.
+ type: bool
+ default: true
+ log_path:
+ description:
+ - Specifies the fully qualified, non-UNC path to a directory on a fixed disk of the local computer where the log file for this operation is written.
+ - If not set then the default path is C(%SYSTEMROOT%\NTDS).
+ type: path
+ reboot:
+ description:
+ - If C(true), this will reboot the host if a reboot was required to configure the domain.
+ - If C(false), this will not reboot the host if a reboot was required and instead sets the I(reboot_required) return value to C(true).
+ - Multiple reboots may occur if the host required a reboot before the domain promotion.
+ - This cannot be used with async mode.
+ - To use this parameter, ensure the fully qualified module name is used in the task or the I(collections) keyword includes this collection.
+ type: bool
+ default: false
+ safe_mode_password:
+ description:
+ - Safe mode password for the domain controller.
+ type: str
+ required: true
+ sysvol_path:
+ description:
+ - The path to a directory on a fixed disk of the Windows host where the
+ Sysvol file will be created.
+ - If not set then the default path is C(%SYSTEMROOT%\SYSVOL).
+ type: path
+extends_documentation_fragment:
+- ansible.builtin.action_common_attributes
+- ansible.builtin.action_common_attributes.flow
+attributes:
+ check_mode:
+ support: full
+ diff_mode:
+ support: none
+ platform:
+ platforms:
+ - windows
+ action:
+ support: full
+ async:
+ support: partial
+ details: Supported for all scenarios except with I(reboot=True).
+ bypass_host_loop:
+ support: none
+seealso:
+- module: microsoft.ad.domain_controller
+- module: microsoft.ad.group
+- module: microsoft.ad.membership
+- module: microsoft.ad.user
+- module: microsoft.ad.computer
+- ref: Migration guide <ansible_collections.microsoft.ad.docsite.guide_migration.migrated_modules.win_domain>
+ description: This module replaces C(ansible.windows.win_domain). See the migration guide for details.
+- module: ansible.windows.win_domain
+author:
+- Matt Davis (@nitzmahone)
+- Jordan Borean (@jborean93)
+"""
+
+EXAMPLES = r"""
+- name: Create new domain in a new forest on the target host and reboot
+ microsoft.ad.domain:
+ dns_domain_name: ansible.vagrant
+ safe_mode_password: password123!
+ reboot: true
+
+- name: Create new Windows domain in a new forest with specific parameters and reboot in post task
+ microsoft.ad.domain:
+ create_dns_delegation: false
+ database_path: C:\Windows\NTDS
+ dns_domain_name: ansible.vagrant
+ domain_mode: Win2012R2
+ domain_netbios_name: ANSIBLE
+ forest_mode: Win2012R2
+ safe_mode_password: password123!
+ sysvol_path: C:\Windows\SYSVOL
+ register: domain_install
+
+- name: Reboot host if install requires it
+ ansible.windows.win_reboot:
+ when: domain_install.reboot_required
+"""
+
+RETURN = r"""
+reboot_required:
+ description: True if changes were made that require a reboot.
+ returned: always
+ type: bool
+ sample: true
+"""