Comments (2)
Hey!
Yep, i suspected it won't be an easy solution :D
My case involves 2 possible scenarios:
- We have several directory separated environments with dedicated state file each. So person who's helping me manage Proxmox created a VMs in the wrong environment and i wanted to move them into a correct one by removing resources in the initial state and importing in the correct one.
- Second possible scenario is to try to move already existing manually created VMs under terraform management. It so happened that before i wrote a module some people used to create VMs in GUI so they're "unmanaged" now. I don't remember if i tried that yet though but i thought that i could try to use that on VMs created manually from my module's templates.
Overall i don't really need to know clone's source - i just want my imported VMs to stay and not be re-provisioned by terraform plan. Actually, maybe i could use 'lifecycle' argument for that. Something like this:
lifecycle {
ignore_changes = [
clone
]
}
UPD.
Yep, it works. At least there's no detected changes in resource that would force re-provision. It would make impossible to re-provision resource by changing clone source of course but i already had 'clone[0].vm_id' in there actually - i guess in case my template VMs change their vm_id (they receive it dynamically and i sometimes re-create these templates with updated images). So it's no biggie.
I suppose we could close this one if you don't have anything to add, i really enjoy your explanations. It is nice to talk to smart people :)
from terraform-provider-proxmox.
This problem is similar to what I was trying to explain in #1134 (comment)
Basically, any information about the clone
source (particularly in the case of a full clone) is completely transient and is not stored in the VM. So there is no way to read it back during the import.
But I'm more curious about the actual use case, why you may need to know the clone's source? Are you planning on updating the source and then have those updates automatically reflected in the clone?
Or is it a case of disaster recovery, when you have a previously applied plan, but the state is lost and you're recovering the state?
If the usage scenario is an edge case, then I'd say, manually editing the imported state and/or plan to reconcile them is a viable option.
from terraform-provider-proxmox.
Related Issues (20)
- Cannot use cloudinit with initialization HOT 1
- Disk resize for VM not updated in terraform state HOT 14
- CD-ROM is not attached when creating a VM from scratch HOT 1
- Not sure why I have these issue HOT 2
- Cannot Set Disk Passthrough Serial
- Terraform unable to set CIUPGRADE config, regardless of running as root or not, using API token HOT 3
- proxmox_virtual_environment_user_token is not idempotent if no expiration_date is set HOT 1
- Idempotence issues in "proxmox_virtual_environment_vm" after cloning from another VM HOT 3
- Support provider_override HOT 4
- Document which is the latest compatible version for Proxmox 7.4 HOT 1
- Align Defaults with Proxmox Defaults HOT 1
- Error: unknown time zone HOT 3
- HTTP 596 response Connection timed out in proxmox_virtual_environment_file HOT 1
- disk resize fails: error waiting for VM disk resize: All attempts fail: HOT 2
- Allow VM clone to pass with warnings HOT 3
- Missing "none" and "VirGL" to VGA type in proxmox_vm proxmox_virtual_environment_vm HOT 1
- Container volume mount backup flag defaults to true in provider but false in Proxmox, so volume mounts are created with the flag missing. HOT 1
- 0.58.0 VM resource: `expected clipboard to be one of ["vnc"], got .` HOT 1
- Selection of the components you want to be hotpluggable HOT 1
- error creating clonr vm linked clone HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-provider-proxmox.