response

package
v1.5.5 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2023 License: MPL-2.0 Imports: 3 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 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 terraform 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.

Jump to

Keyboard shortcuts

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