From 52e9e49e4d29fb993c465129c40f6042fd27ccf5 Mon Sep 17 00:00:00 2001 From: sophia Date: Wed, 3 Nov 2021 17:37:23 -0500 Subject: [PATCH] Start defining box metadata --- internal/core/box_metadata.go | 50 +++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 internal/core/box_metadata.go diff --git a/internal/core/box_metadata.go b/internal/core/box_metadata.go new file mode 100644 index 000000000..e20ebf6f3 --- /dev/null +++ b/internal/core/box_metadata.go @@ -0,0 +1,50 @@ +package core + +import "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server" + +type BoxMetadata struct { + metadata *vagrant_server.BoxMetadata +} + +func LoadBoxMetadata() (*BoxMetadata, error) { + // TODO + return &BoxMetadata{}, nil +} + +func (b *BoxMetadata) Version(version string) (v *BoxVersion, err error) { + v, err = LoadBoxVersion() + return +} + +func (b *BoxMetadata) Versions() ([]string, error) { + // TODO + return []string{}, nil +} + +type BoxVersion struct { + version *vagrant_server.BoxMetadata_Version +} + +func LoadBoxVersion() (*BoxVersion, error) { + // TODO + return &BoxVersion{}, nil +} + +func (b *BoxVersion) Provider(name string) (p *BoxVersionProvider, err error) { + p, err = LoadBoxVersionProvider() + return +} + +func (b *BoxVersion) Providers() ([]string, error) { + // TODO + return []string{}, nil +} + +type BoxVersionProvider struct { + provider *vagrant_server.BoxMetadata_Version_Provider +} + +func LoadBoxVersionProvider() (*BoxVersionProvider, error) { + // TODO + return &BoxVersionProvider{}, nil +}