vagrant-terraform 0.3.2 → 0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/vagrant-terraform/action/create_vm.rb +2 -0
- data/lib/vagrant-terraform/config.rb +23 -0
- data/lib/vagrant-terraform/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3074f61e970da302a30f5eebad644a8a5a7e20fb6f0555d40ede25c956eb00ce
|
|
4
|
+
data.tar.gz: e83891dcf8e0e42fe5f9f679a774fe0a42811663d9ad28def191ddaad436d192
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 26ba4d9ce2ced42824421671466e43e5a7cc41d8dc07b065826ce1bcc4d4799f25ecd145f866a6e589f0ce99ed1510328119e36c9d4fa0023e08edaa7391ed64
|
|
7
|
+
data.tar.gz: 73d6beabe6c7294319556c4b70b7a78b0f3d102cab5626958cba5379cc025d3d9ceb4a480c8d389697c6ce0ddbfe6792eec96892d17b701a9ce94d9a32b0666c
|
data/README.md
CHANGED
|
@@ -114,6 +114,7 @@ Vagrant.configure("2") do |config|
|
|
|
114
114
|
terraform.disk_size = '15 GB'
|
|
115
115
|
terraform.target_node = 'pve1'
|
|
116
116
|
terraform.storage_domain = '[STORAGE_NAME]'
|
|
117
|
+
terraform.vmid = '10000-9999999' # Randomly select a VMID in this range. Optional, defaults to first free
|
|
117
118
|
terraform.nameserver = '1.1.1.1 1.0.0.1'
|
|
118
119
|
terraform.searchdomain = 'example.com'
|
|
119
120
|
end
|
|
@@ -47,8 +47,10 @@ resource "proxmox_vm_qemu" "#{vmname.gsub(/\./, '-')}" {
|
|
|
47
47
|
target_nodes = ["#{config.target_node}"]
|
|
48
48
|
desc = "#{config.description}"
|
|
49
49
|
vm_state = "stopped"
|
|
50
|
+
tags = ""
|
|
50
51
|
clone = "#{config.template}"
|
|
51
52
|
full_clone = #{config.full_clone}
|
|
53
|
+
#{config.vmid ? "vmid = \"#{config.vmid}\"" : ""}
|
|
52
54
|
cores = #{config.cpu_cores.to_i}
|
|
53
55
|
cpu_type = "#{config.cpu_type}"
|
|
54
56
|
memory = #{Filesize.from("#{config.memory_size} B").to_f('MB').to_i}
|
|
@@ -28,6 +28,7 @@ module VagrantPlugins
|
|
|
28
28
|
attr_accessor :os_type
|
|
29
29
|
attr_accessor :full_clone
|
|
30
30
|
attr_accessor :serial_port
|
|
31
|
+
attr_accessor :vmid
|
|
31
32
|
|
|
32
33
|
def initialize
|
|
33
34
|
@api_url = UNSET_VALUE
|
|
@@ -52,6 +53,7 @@ module VagrantPlugins
|
|
|
52
53
|
@os_type = UNSET_VALUE
|
|
53
54
|
@full_clone = UNSET_VALUE
|
|
54
55
|
@serial_port = UNSET_VALUE
|
|
56
|
+
@vmid = UNSET_VALUE
|
|
55
57
|
end
|
|
56
58
|
|
|
57
59
|
def finalize!
|
|
@@ -78,6 +80,27 @@ module VagrantPlugins
|
|
|
78
80
|
@full_clone = true if @full_clone == UNSET_VALUE
|
|
79
81
|
@serial_port = false if @serial_port == UNSET_VALUE
|
|
80
82
|
|
|
83
|
+
@vmid = nil if @vmid == UNSET_VALUE
|
|
84
|
+
|
|
85
|
+
if @vmid != nil
|
|
86
|
+
if @vmid.is_a?(String) && @vmid.include?('-')
|
|
87
|
+
begin
|
|
88
|
+
range = @vmid.split('-').map(&:to_i)
|
|
89
|
+
raise if range.size != 2 || range[0] > range[1] || range[0] < 10000 || range[1] > 999999999
|
|
90
|
+
@vmid = rand(range[0]..range[1])
|
|
91
|
+
rescue
|
|
92
|
+
raise "Invalid vmid range format or out of allowed bounds (10000-999999999): #{@vmid}"
|
|
93
|
+
end
|
|
94
|
+
else
|
|
95
|
+
begin
|
|
96
|
+
@vmid = @vmid.to_i
|
|
97
|
+
raise if @vmid < 10000 || @vmid > 999999999
|
|
98
|
+
rescue
|
|
99
|
+
raise "Invalid vmid value or out of allowed bounds (10000-999999999): #{@vmid}"
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
81
104
|
unless disk_size.nil?
|
|
82
105
|
begin
|
|
83
106
|
@disk_size = Filesize.from(@disk_size).to_f('B').to_i
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vagrant-terraform
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: '0.4'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mika Båtsman
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-04-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: filesize
|