diff options
Diffstat (limited to 'vendor/github.com/hashicorp/terraform/internal/initwd/module_install_hooks.go')
-rw-r--r-- | vendor/github.com/hashicorp/terraform/internal/initwd/module_install_hooks.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/terraform/internal/initwd/module_install_hooks.go b/vendor/github.com/hashicorp/terraform/internal/initwd/module_install_hooks.go new file mode 100644 index 0000000..817a6dc --- /dev/null +++ b/vendor/github.com/hashicorp/terraform/internal/initwd/module_install_hooks.go | |||
@@ -0,0 +1,36 @@ | |||
1 | package initwd | ||
2 | |||
3 | import ( | ||
4 | version "github.com/hashicorp/go-version" | ||
5 | ) | ||
6 | |||
7 | // ModuleInstallHooks is an interface used to provide notifications about the | ||
8 | // installation process being orchestrated by InstallModules. | ||
9 | // | ||
10 | // This interface may have new methods added in future, so implementers should | ||
11 | // embed InstallHooksImpl to get no-op implementations of any unimplemented | ||
12 | // methods. | ||
13 | type ModuleInstallHooks interface { | ||
14 | // Download is called for modules that are retrieved from a remote source | ||
15 | // before that download begins, to allow a caller to give feedback | ||
16 | // on progress through a possibly-long sequence of downloads. | ||
17 | Download(moduleAddr, packageAddr string, version *version.Version) | ||
18 | |||
19 | // Install is called for each module that is installed, even if it did | ||
20 | // not need to be downloaded from a remote source. | ||
21 | Install(moduleAddr string, version *version.Version, localPath string) | ||
22 | } | ||
23 | |||
24 | // ModuleInstallHooksImpl is a do-nothing implementation of InstallHooks that | ||
25 | // can be embedded in another implementation struct to allow only partial | ||
26 | // implementation of the interface. | ||
27 | type ModuleInstallHooksImpl struct { | ||
28 | } | ||
29 | |||
30 | func (h ModuleInstallHooksImpl) Download(moduleAddr, packageAddr string, version *version.Version) { | ||
31 | } | ||
32 | |||
33 | func (h ModuleInstallHooksImpl) Install(moduleAddr string, version *version.Version, localPath string) { | ||
34 | } | ||
35 | |||
36 | var _ ModuleInstallHooks = ModuleInstallHooksImpl{} | ||