diff options
author | Jordan Borean <jborean93@gmail.com> | 2018-05-17 11:41:37 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-17 11:41:37 +1000 |
commit | 2f70360698341cd3d6b86d5bea8176eb1fa57c72 (patch) | |
tree | fa9fddeae50d5d69694081a03e2bc487990697ce /lib | |
parent | 5c39c3b2d16acc0415de146c31c4b8ecaf01fb7d (diff) | |
download | ansible-2f70360698341cd3d6b86d5bea8176eb1fa57c72.tar.gz |
Add windows module for changing the hostname (#40295)
Co-authored-by: Ripon Banik <riponbanik@users.noreply.github.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ansible/modules/windows/win_hostname.ps1 | 30 | ||||
-rw-r--r-- | lib/ansible/modules/windows/win_hostname.py | 48 |
2 files changed, 78 insertions, 0 deletions
diff --git a/lib/ansible/modules/windows/win_hostname.ps1 b/lib/ansible/modules/windows/win_hostname.ps1 new file mode 100644 index 0000000000..0d9f3e9d85 --- /dev/null +++ b/lib/ansible/modules/windows/win_hostname.ps1 @@ -0,0 +1,30 @@ +#!powershell +# Copyright: (c) 2018, Ripon Banik (@riponbanik) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +#Requires -Module Ansible.ModuleUtils.Legacy + +$ErrorActionPreference = "Stop" + +$params = Parse-Args $args -supports_check_mode $true +$name = Get-AnsibleParam -obj $params -name "name" -type "str" -failifempty $true +$check_mode = Get-AnsibleParam -obj $params -name "_ansible_check_mode" -type "bool" -default $false + +$current_computer_name = $env:ComputerName +$result = @{ + changed = $false + old_name = $current_computer_name + reboot_required = $false +} + +if ($name -ne $current_computer_name) { + Try { + Rename-Computer -NewName $name -Force -WhatIf:$check_mode + } Catch { + Fail-Json -obj $result -message "Failed to rename computer to '$name': $($_.Exception.Message)" + } + $result.changed = $true + $result.reboot_required = $true +} + +Exit-Json -obj $result diff --git a/lib/ansible/modules/windows/win_hostname.py b/lib/ansible/modules/windows/win_hostname.py new file mode 100644 index 0000000000..e9ba7c7daf --- /dev/null +++ b/lib/ansible/modules/windows/win_hostname.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# this is a windows documentation stub. actual code lives in the .ps1 +# file of the same name + +# Copyright: (c) 2018, Ripon Banik (@riponbanik) +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = r''' +--- +module: win_hostname +version_added: "2.6" +short_description: Manages local Windows computer name. +description: +- Manages local Windows computer name. +- A reboot is required for the computer name to take effect. +options: + name: + description: + - The hostname to set for the computer. + required: true +author: +- Ripon Banik (@riponbanik) +''' + +EXAMPLES = r''' +- name: Change the hostname to new_hostname + win_hostname: + name: new_hostname +''' + +RETURN = r''' +old_name: + description: The original hostname that was set before it was changed + returned: always + type: str + sample: old_hostname +reboot_required: + description: Whether a reboot is required to complete the hostname change + returned: always + type: bool + sample: true +''' |