Documentation
¶
Overview ¶
Package models provides the data structures used to represent Terraform providers and their details.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct {
*ResponseBody
RegistryName string
Namespace string
Name string
Version string
OS string
Arch string
// OriginalConstraints holds the version constraints from the module's required_providers block
OriginalConstraints string
}
Provider represents the details of the Terraform provider.
func ParseProvider ¶
func (*Provider) Constraints ¶
type ResponseBody ¶
type ResponseBody struct {
Platform
Protocols []string `json:"protocols,omitempty"`
Filename string `json:"filename"`
DownloadURL string `json:"download_url"`
SHA256SumsURL string `json:"shasums_url,omitempty"`
SHA256SumsSignatureURL string `json:"shasums_signature_url,omitempty"`
SHA256Sum string `json:"shasum,omitempty"`
SigningKeys SigningKeyList `json:"signing_keys"`
}
ResponseBody represents the details of the Terraform provider received from a registry.
func (*ResponseBody) ResolveRelativeReferences ¶
func (body *ResponseBody) ResolveRelativeReferences(base *url.URL) *ResponseBody
type SigningKey ¶
type SigningKey struct {
ASCIIArmor string `json:"ascii_armor"`
TrustSignature string `json:"trust_signature"`
}
SigningKey represents a key used to sign packages from a registry, along with an optional trust signature from the registry operator. These are both in ASCII armored OpenPGP format.
type SigningKeyList ¶
type SigningKeyList struct {
GPGPublicKeys []*SigningKey `json:"gpg_public_keys"`
}
func (SigningKeyList) Keys ¶
func (list SigningKeyList) Keys() map[string]string
type Version ¶
type Versions ¶
type Versions []*Version
func (Versions) FilterValid ¶ added in v1.0.0
FilterValid returns only versions with valid semver strings that conform to the Terraform registry protocol (no "v" prefix, no empty strings). The second return value contains the invalid version strings that were filtered out.