Import
OpenTofu can import existing infrastructure resources. This functionality lets you bring existing resources under OpenTofu management.
OpenTofu supports import
blocks. Unlike the tofu import
command, you can use import
blocks to import more than one resource at a time, and you can review imports as part of your normal plan and apply workflow. Learn more about import
blocks.
State Only
OpenTofu expects that each remote object is bound to a single resource address. You should import each remote object to one OpenTofu resource address. If you import the same object multiple times, OpenTofu may exhibit unwanted behavior. See State for more details.
The tofu import
CLI command can only import resources into the state. Importing via the CLI does not generate configuration. If you want to generate the accompanying configuration for imported resources, use the import
block instead.
Before you run tofu import
you must manually write a resource
configuration block for the resource. The resource block describes where OpenTofu should map the imported object.
Cloud Backend
When you use OpenTofu on the command line with a cloud backend, many commands like apply
run inside your cloud backend's environment. However, the import
command runs locally, so it does not have access to information from the cloud backend. To successfully perform an import, you may need to set local variables equivalent to any remote workspace variables in the cloud backend.