| // Copyright (c) HashiCorp, Inc. |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| package command |
| |
| import ( |
| "fmt" |
| |
| version "github.com/hashicorp/go-version" |
| "github.com/hashicorp/terraform/internal/initwd" |
| "github.com/mitchellh/cli" |
| ) |
| |
| type uiModuleInstallHooks struct { |
| initwd.ModuleInstallHooksImpl |
| Ui cli.Ui |
| ShowLocalPaths bool |
| } |
| |
| var _ initwd.ModuleInstallHooks = uiModuleInstallHooks{} |
| |
| func (h uiModuleInstallHooks) Download(modulePath, packageAddr string, v *version.Version) { |
| if v != nil { |
| h.Ui.Info(fmt.Sprintf("Downloading %s %s for %s...", packageAddr, v, modulePath)) |
| } else { |
| h.Ui.Info(fmt.Sprintf("Downloading %s for %s...", packageAddr, modulePath)) |
| } |
| } |
| |
| func (h uiModuleInstallHooks) Install(modulePath string, v *version.Version, localDir string) { |
| if h.ShowLocalPaths { |
| h.Ui.Info(fmt.Sprintf("- %s in %s", modulePath, localDir)) |
| } else { |
| h.Ui.Info(fmt.Sprintf("- %s", modulePath)) |
| } |
| } |