response

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2026 License: MPL-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Module

type Module struct {
	ID string `json:"id"`

	Owner       string    `json:"owner"`
	Namespace   string    `json:"namespace"`
	Name        string    `json:"name"`
	Version     string    `json:"version"`
	Provider    string    `json:"provider"`
	Description string    `json:"description"`
	Source      string    `json:"source"`
	PublishedAt time.Time `json:"published_at"`
	Downloads   int       `json:"downloads"`
	Verified    bool      `json:"verified"`
}

Module is the response structure with the data for a single module version.

type ModuleDep

type ModuleDep struct {
	Name    string `json:"name"`
	Source  string `json:"source"`
	Version string `json:"version"`
}

ModuleDep is an output for a module.

type ModuleDetail

type ModuleDetail struct {
	Module

	// Root is the root module.
	Root *ModuleSubmodule `json:"root"`

	// Submodules are the other submodules that are available within
	// this module.
	Submodules []*ModuleSubmodule `json:"submodules"`

	Providers []string `json:"providers"` // All available providers
	Versions  []string `json:"versions"`  // All versions
}

ModuleDetail represents a module in full detail.

type ModuleInput

type ModuleInput struct {
	Name        string `json:"name"`
	Description string `json:"description"`
	Default     string `json:"default"`
}

ModuleInput is an input for a module.

type ModuleList

type ModuleList struct {
	Meta    PaginationMeta `json:"meta"`
	Modules []*Module      `json:"modules"`
}

ModuleList is the response structure for a pageable list of modules.

type ModuleLocationRegistryResp

type ModuleLocationRegistryResp struct {
	// The URL to download the module from.
	Location string `json:"location"`

	// If not nil, represents that the registry wishes to provide the module
	// package directly itself instead of delegating to a separate
	// go-getter-style source address.
	//
	// In that case, the registry can set either "true" to request that the
	// final download request should use the same credentials used to fetch the
	// download location, or "false" to request that the request should be
	// made anonymously (e.g. if the URL already contains something that acts
	// as authentication credentials).
	UseRegistryCredentials *StrictBool `json:"use_registry_credentials"`
}

ModuleLocationRegistryResp defines the OpenTofu registry response returned when calling the endpoint /v1/modules/:namespace/:name/:system/:version/download

type ModuleOutput

type ModuleOutput struct {
	Name        string `json:"name"`
	Description string `json:"description"`
}

ModuleOutput is an output for a module.

type ModuleProvider

type ModuleProvider struct {
	Name        string `json:"name"`
	Downloads   int    `json:"downloads"`
	ModuleCount int    `json:"module_count"`
}

ModuleProvider represents a single provider for modules.

type ModuleProviderDep

type ModuleProviderDep struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

ModuleProviderDep is the output for a provider dependency

type ModuleProviderList

type ModuleProviderList struct {
	Meta      PaginationMeta    `json:"meta"`
	Providers []*ModuleProvider `json:"providers"`
}

ModuleProviderList is the response structure for a pageable list of ModuleProviders.

type ModuleProviderVersions

type ModuleProviderVersions struct {
	Source   string           `json:"source"`
	Versions []*ModuleVersion `json:"versions"`
}

ModuleProviderVersions is the response format for a single module instance, containing metadata about all versions and their dependencies.

type ModuleResource

type ModuleResource struct {
	Name string `json:"name"`
	Type string `json:"type"`
}

ModuleResource is an output for a module.

type ModuleSubmodule

type ModuleSubmodule struct {
	Path   string `json:"path"`
	Readme string `json:"readme"`
	Empty  bool   `json:"empty"`

	Inputs       []*ModuleInput    `json:"inputs"`
	Outputs      []*ModuleOutput   `json:"outputs"`
	Dependencies []*ModuleDep      `json:"dependencies"`
	Resources    []*ModuleResource `json:"resources"`
}

ModuleSubmodule is the metadata about a specific submodule within a module. This includes the root module as a special case.

type ModuleVersion

type ModuleVersion struct {
	Version    string              `json:"version"`
	Root       VersionSubmodule    `json:"root"`
	Submodules []*VersionSubmodule `json:"submodules"`
}

ModuleVersion is the output metadata for a given version needed by CLI to resolve candidate versions to satisfy requirements.

type ModuleVersions

type ModuleVersions struct {
	Modules []*ModuleProviderVersions `json:"modules"`
}

ModuleVersions is the response format that contains all metadata about module versions needed for tofu CLI to resolve version constraints. See RFC TF-042 for details on this format.

type PaginationMeta

type PaginationMeta struct {
	Limit         int    `json:"limit"`
	CurrentOffset int    `json:"current_offset"`
	NextOffset    *int   `json:"next_offset,omitempty"`
	PrevOffset    *int   `json:"prev_offset,omitempty"`
	NextURL       string `json:"next_url,omitempty"`
	PrevURL       string `json:"prev_url,omitempty"`
}

PaginationMeta is a structure included in responses for pagination.

func NewPaginationMeta

func NewPaginationMeta(offset, limit int, hasMore bool, currentURL string) PaginationMeta

NewPaginationMeta populates pagination meta data from result parameters

type Redirect

type Redirect struct {
	URL string `json:"url"`
}

Redirect causes the frontend to perform a window redirect.

type StrictBool

type StrictBool bool

StrictBool is a named type representing a bool value that must be written in JSON as exactly "true" or "false". In particular, "null" is not permitted as an alias for "false", unlike the Go JSON package's default behavior.

This is here really just to implement [json.Unmarshaler] for conveniently handling JSON properties that have this requirement.

func (*StrictBool) UnmarshalJSON

func (b *StrictBool) UnmarshalJSON(src []byte) error

type VersionSubmodule

type VersionSubmodule struct {
	Path         string               `json:"path,omitempty"`
	Providers    []*ModuleProviderDep `json:"providers"`
	Dependencies []*ModuleDep         `json:"dependencies"`
}

VersionSubmodule is the output metadata for a submodule within a given version needed by CLI to resolve candidate versions to satisfy requirements. When representing the Root in JSON the path is omitted.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL