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.