internal/getproviders: Include Provider and Version in PackageMeta

Although we tend to return these in contexts where at least one of these
values is implied, being explicit means that PackageMeta values are
self-contained and less reliant on such external context.
This commit is contained in:
Martin Atkins 2020-02-20 17:53:11 -08:00
parent b53e3074cf
commit 3078d21c5f
3 changed files with 9 additions and 0 deletions

View File

@ -211,6 +211,8 @@ func (c *registryClient) PackageMeta(provider addrs.Provider, version Version, t
} }
ret := PackageMeta{ ret := PackageMeta{
Provider: provider,
Version: version,
ProtocolVersions: protoVersions, ProtocolVersions: protoVersions,
TargetPlatform: Platform{ TargetPlatform: Platform{
OS: body.OS, OS: body.OS,

View File

@ -117,6 +117,10 @@ func TestSourcePackageMeta(t *testing.T) {
"1.2.0", "1.2.0",
"linux", "amd64", "linux", "amd64",
PackageMeta{ PackageMeta{
Provider: addrs.NewProvider(
svchost.Hostname("example.com"), "awesomesauce", "happycloud",
),
Version: versions.MustParseVersion("1.2.0"),
ProtocolVersions: VersionList{versions.MustParseVersion("5.0.0")}, ProtocolVersions: VersionList{versions.MustParseVersion("5.0.0")},
TargetPlatform: Platform{"linux", "amd64"}, TargetPlatform: Platform{"linux", "amd64"},
Filename: "happycloud_1.2.0.zip", Filename: "happycloud_1.2.0.zip",

View File

@ -48,6 +48,9 @@ var CurrentPlatform = Platform{
// accepted by the current version of Terraform before trying to use the // accepted by the current version of Terraform before trying to use the
// described package. // described package.
type PackageMeta struct { type PackageMeta struct {
Provider addrs.Provider
Version Version
ProtocolVersions VersionList ProtocolVersions VersionList
TargetPlatform Platform TargetPlatform Platform