| --- |
| page_title: "{{.Name}} {{.Type}} - {{.ProviderName}}" |
| subcategory: "" |
| description: |- |
| {{ .Description | plainmarkdown | trimspace | prefixlines " " }} |
| --- |
| |
| # {{.Name}} ({{.Type}}) |
| |
| {{ .Description | trimspace }} |
| |
| ## Example Usage |
| |
| {{ tffile (printf "examples/resources/%s/resource.tf" .Name)}} |
| |
| {{ .SchemaMarkdown | trimspace }} |
| |
| ## Import |
| |
| Import is supported using the following syntax: |
| |
| ```shell |
| terraform import random_password.password securepassword |
| ``` |
| |
| ### Limitations of Import |
| |
| Any attribute values that are specified within Terraform config will be |
| ignored during import and all attributes that have defaults defined within |
| the schema will have the default assigned. |
| |
| For instance, using the following config during import: |
| ```terraform |
| resource "random_password" "password" { |
| length = 16 |
| lower = false |
| } |
| ``` |
| |
| Then importing the resource using `terraform import random_password.password securepassword`, |
| would result in the triggering of a replacement (i.e., destroy-create) during the next |
| `terraform apply`. |
| |
| ### Avoiding Replacement |
| |
| If the resource were imported using `terraform import random_password.password securepassword`, |
| replacement could be avoided by using: |
| |
| 1. Attribute values that match the imported ID and defaults: |
| |
| ```terraform |
| resource "random_password" "password" { |
| length = 14 |
| lower = true |
| } |
| ``` |
| |
| |
| 2. Attribute values that match the imported ID and omit the attributes with defaults: |
| |
| ```terraform |
| resource "random_password" "password" { |
| length = 14 |
| } |
| ``` |
| |
| |
| 3. `ignore_changes` specifying the attributes to ignore: |
| |
| ```terraform |
| resource "random_password" "password" { |
| length = 16 |
| lower = false |
| |
| lifecycle { |
| ignore_changes = [ |
| length, |
| lower, |
| ] |
| } |
| } |
| ``` |
| |
| **NOTE** `ignore_changes` is only required until the resource is recreated after import, |
| after which it will use the configuration values specified. |