Documentation ¶
Index ¶
- type Module
- type ModuleDep
- type ModuleDetail
- type ModuleInput
- type ModuleList
- type ModuleLocationRegistryResp
- type ModuleOutput
- type ModuleProvider
- type ModuleProviderDep
- type ModuleProviderList
- type ModuleProviderVersions
- type ModuleResource
- type ModuleSubmodule
- type ModuleVersion
- type ModuleVersions
- type PaginationMeta
- type Redirect
- type VersionSubmodule
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"` }
ModuleLocationRegistryResp defines the OpenTofu registry response returned when calling the endpoint /v1/modules/:namespace/:name/:system/:version/download
type ModuleOutput ¶
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 ¶
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 ¶
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 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.