Module for creating a Management node
This modules creates a VM with Ubuntu Server 16.04-LTS.
The server can for example be used as a management node for Ansible
Resources created when using this module
Resource group
Network Interface
Public IP
Virtual Machine, Ubuntu 16.04-LTS, with Standard_A2_V2 size as default
Name
Description
Type
Default
Required
existing_rg_for_vnet
Name of the existing resource group containing the Virtual Network resource
string
-
yes
existing_subnet_name
Name of the existing subnet to connect the NIC to
string
-
yes
existing_vnet_name
Name of the existing Virtual Network
string
-
yes
vm_size
Specifies the size of the virtual machine
string
Standard_A2_V2
no
image_offer
The name of the offer (az vm image list)
string
UbuntuServer
no
image_publisher
Name of the publisher of the image (az vm image list)
string
Canonical
no
image_sku
Image SKU to apply (az vm image list)
string
16.04-LTS
no
image_version
Version of the image to apply
string
latest
no
location
Default location for the azure resource
string
West Europe
no
name_prefix
This variable is used to name resources and is fetched from environment variable
string
-
yes
vm_password
This variable is used to specify VM password and is fetched from environment variable
string
-
yes
vm_username
This variable is used to specify VM username and is fetched from environment variable
string
-
yes
Name
Description
ansible_management_public_ip
The public IP to the Ansible Management node
Example usage of this module
module "management-node" {
source = " git::https://github.com/evry/tf-module-azure-management-node.git?ref=VERSION"
existing_subnet_name = " ${ azurerm_subnet . dmz . name } "
existing_vnet_name = " ${ azurerm_virtual_network . vnet . name } "
existing_rg_for_vnet = " ${ azurerm_resource_group . rg . name } "
name_prefix = " ${ var . name_prefix } "
vm_username = " ${ var . vm_username } "
vm_password = " ${ var . vm_password } "
}
Example for destroying the VM
terraform destroy -target=module.management-node