This terraform module provides a convenience for instantiating a virtual machine in an Openstack project.
Name | Version |
---|---|
terraform | >=1.5.0 |
ansible | ~> 1.2.0 |
openstack | ~>1.54.1 |
random | ~> 3.6.1 |
Name | Version |
---|---|
ansible | 1.2.0 |
openstack | 1.54.1 |
random | 3.6.1 |
No modules.
Name | Type |
---|---|
ansible_host.virtual_machine | resource |
openstack_compute_instance_v2.virtual_machine | resource |
openstack_networking_floatingip_associate_v2.floating_ip | resource |
openstack_networking_floatingip_v2.floating_ip | resource |
random_id.virtual_machine | resource |
openstack_compute_flavor_v2.flavor | data source |
openstack_images_image_v2.image | data source |
openstack_networking_network_v2.network | data source |
openstack_networking_port_v2.port | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
virtual_machine | virtual_machine = { name : "The name of the virtual machine instance when listed on the hypervisor." contact : "The primary contact for the resources, this should be the username and must be able to receive email by appending your domain to it (e.g. ${contact}@example.com) (this person can explain what/why)." description: "The optional description of the virtual machine instance." flavor : "The name of the flavor that determines the amount of cpu, memory, and disk allocated to the virtual machine (e.g. m1.medium)." image : "The image used to instantiate the virtual machine." domain : "The optional network domain used for constructing a fqdn for the virtual machine." groups : "An array of Ansible inventory group names that the virtual machine should be associated with." hostname : "The optional short (unqualified) hostname of the instance to be created." network : "The network the virtual machine resides on." floating_ip_pool : "The name of the floating IP pool from which to allocate a floating IP address." attach_floating_ip : "Whether to attach a floating IP address to the virtual machine." security_groups : "An array of security group names that should be applied to the virtual machine." ssh_keypair : "The name of a SSH keypair already loaded in the Openstack project for the authenticating user which will be associated with the default cloud-init user." root_password : "Password for the root user of the instance (plain-text or hashed)." user = { username : "User used to access the instance." display_name : "Full name of the user used to access the instance." password : "The optional password for user used to access the instance (plain-text or hashed)." homedir : "The optional home directory for user used to access the instance (defaults to /home)." ssh_public_key : "SSH public key used to access the instance." sudo_rule : "Sudo rule applied to the user used to access the instance (e.g. 'ALL=(ALL) ALL')." uid : "The optional user ID of the user used to access the instance." } enable_ansible_inventory : "Whether to create an Ansible inventory host entry for the virtual machine." } |
object({ |
n/a | yes |
Name | Description |
---|---|
id | The unique id of the virtual machine. |
name | The name of the virtual machine instance when listed on the hypervisor. |
virtual_machine | The Openstack Compute Instance representation of the virtual machine. |
GNU General Public License v3.0 or later
See LICENSE to see the full text.