Documentation
¶
Index ¶
- type GPGKey
- type ModuleDep
- type ModuleInput
- type ModuleOutput
- type ModuleProviderDep
- type ModuleProviderVersions
- type ModuleResource
- type ModuleSubmodule
- type ModuleVersion
- type ModuleVersions
- type PaginationMeta
- type ProviderVersionCollection
- type SigningKeyList
- type TerraformProvider
- type TerraformProviderPlatform
- type TerraformProviderPlatformLocation
- type TerraformProviderVersion
- type TerraformProviderVersions
- type VersionSubmodule
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GPGKey ¶
type GPGKey struct {
ASCIIArmor string `json:"ascii_armor"`
Source string `json:"source"`
SourceURL *string `json:"source_url"`
}
GPGKey is the response structure for a GPG key.
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 ModuleInput ¶
type ModuleInput struct {
Name string `json:"name"`
Description string `json:"description"`
Default string `json:"default"`
}
ModuleInput is an input for a module.
type ModuleOutput ¶
ModuleOutput is an output for a module.
type ModuleProviderDep ¶
ModuleProviderDep is the output for a provider dependency
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 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 ProviderVersionCollection ¶
type ProviderVersionCollection []*TerraformProviderVersion
Collection type for TerraformProviderVersion
func (ProviderVersionCollection) Sort ¶
func (v ProviderVersionCollection) Sort()
Sort sorts versions from newest to oldest.
type SigningKeyList ¶
type SigningKeyList struct {
GPGKeys []*GPGKey `json:"gpg_public_keys"`
}
SigningKeyList is the response structure for a list of signing keys.
func (*SigningKeyList) GPGASCIIArmor ¶
func (signingKeys *SigningKeyList) GPGASCIIArmor() string
GPGASCIIArmor returns an ASCII-armor-formatted string for all of the gpg keys in the response.
type TerraformProvider ¶
type TerraformProvider struct {
ID string `json:"id"`
Versions []*TerraformProviderVersion `json:"versions"`
}
TerraformProvider is the response structure for all required information for Terraform to choose a download URL. It must include all versions and all platforms for Terraform to perform version and os/arch constraint matching locally.
type TerraformProviderPlatform ¶
TerraformProviderPlatform is the Terraform-specific response structure for a provider platform.
type TerraformProviderPlatformLocation ¶
type TerraformProviderPlatformLocation struct {
Protocols []string `json:"protocols"`
OS string `json:"os"`
Arch string `json:"arch"`
Filename string `json:"filename"`
DownloadURL string `json:"download_url"`
ShasumsURL string `json:"shasums_url"`
ShasumsSignatureURL string `json:"shasums_signature_url"`
Shasum string `json:"shasum"`
SigningKeys SigningKeyList `json:"signing_keys"`
}
TerraformProviderPlatformLocation is the Terraform-specific response structure for a provider platform with all details required to perform a download.
type TerraformProviderVersion ¶
type TerraformProviderVersion struct {
Version string `json:"version"`
Protocols []string `json:"protocols"`
Platforms []*TerraformProviderPlatform `json:"platforms"`
}
TerraformProviderVersion is the Terraform-specific response structure for a provider version.
type TerraformProviderVersions ¶
type TerraformProviderVersions struct {
ID string `json:"id"`
Versions []*TerraformProviderVersion `json:"versions"`
Warnings []string `json:"warnings"`
}
TerraformProviderVersions is the Terraform-specific response structure for an array of provider versions
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.