]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/hashicorp/terraform/helper/resource/testing_import_state.go
deps: github.com/hashicorp/terraform@sdk-v0.11-with-go-modules
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / terraform / helper / resource / testing_import_state.go
index 28ad105267d448362d9efc2a5d4a448c039c6d0f..94fef3cfbe8ba4c7e5aa753a50e61ecd78376c2e 100644 (file)
@@ -16,15 +16,24 @@ func testStepImportState(
        state *terraform.State,
        step TestStep) (*terraform.State, error) {
        // Determine the ID to import
-       importId := step.ImportStateId
-       if importId == "" {
+       var importId string
+       switch {
+       case step.ImportStateIdFunc != nil:
+               var err error
+               importId, err = step.ImportStateIdFunc(state)
+               if err != nil {
+                       return state, err
+               }
+       case step.ImportStateId != "":
+               importId = step.ImportStateId
+       default:
                resource, err := testResource(step, state)
                if err != nil {
                        return state, err
                }
-
                importId = resource.Primary.ID
        }
+
        importPrefix := step.ImportStateIdPrefix
        if importPrefix != "" {
                importId = fmt.Sprintf("%s%s", importPrefix, importId)