Skip to main content

Import

OpenTF can import existing infrastructure resources. This functionality lets you bring existing resources under OpenTF management.

note

OpenTF supports import blocks. Unlike the opentf 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

danger

OpenTF expects that each remote object is bound to a single resource address. You should import each remote object to one OpenTF resource address. If you import the same object multiple times, OpenTF may exhibit unwanted behavior. See State for more details.

The opentf 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 opentf import you must manually write a resource configuration block for the resource. The resource block describes where OpenTF should map the imported object.

Cloud Backend

When you use OpenTF 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.