Documentation ¶
Index ¶
- type FindProviderPackageInput
- type FindProviderPackageOutput
- type GPGPublicKey
- type ListAvailableVersionsInput
- type ListAvailableVersionsOutput
- type Platform
- type Provider
- type PublishVersionInput
- type PublishVersionOutput
- type RegisterGPGPublicKeyInput
- type RegisterGPGPublicKeyOutput
- type Service
- func (s *Service) FindProviderPackage(ctx context.Context, input FindProviderPackageInput) (*FindProviderPackageOutput, error)
- func (s *Service) ListAvailableVersions(ctx context.Context, input ListAvailableVersionsInput) (*ListAvailableVersionsOutput, error)
- func (s *Service) PublishVersion(ctx context.Context, input PublishVersionInput) (*PublishVersionOutput, error)
- func (s *Service) RegisterGPGPublicKey(ctx context.Context, input RegisterGPGPublicKeyInput) (*RegisterGPGPublicKeyOutput, error)
- type ServiceConfig
- type SigningKey
- type Version
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FindProviderPackageInput ¶
type FindProviderPackageInput struct { Provider `json:",inline" validate:"required"` Platform `json:",inline" validate:"required"` Version string `json:"version" validate:"required"` }
FindProviderPackageInput describes the input to a FindProviderPackage operation
type FindProviderPackageOutput ¶
type FindProviderPackageOutput struct { Platform `json:",inline"` DownloadURL string `json:"download_url"` Filename string `json:"filename"` SHASum string `json:"shasum"` SHASumsSignatureURL string `json:"shasums_signature_url"` SHASumsURL string `json:"shasums_url"` SigningKeys SigningKey `json:"signing_keys"` Protocols []string `json:"protocols"` }
FindProviderPackageOutput describes the output from a successful FindProviderPackage operation
type GPGPublicKey ¶
type GPGPublicKey struct { PK string `json:"-" dynamodbav:"pk"` ASCIIArmor string `json:"ascii_armor" dynamodbav:"ascii_armor" validate:"required"` KeyID string `json:"key_id" dynamodbav:"sk" validate:"required"` }
GPGPublicKey describes a gpb public key
type ListAvailableVersionsInput ¶
type ListAvailableVersionsInput struct {
Provider `json:",inline" validate:"required"`
}
ListAvailableVersionsInput describes the input to a ListAvailableVersions operation
type ListAvailableVersionsOutput ¶
type ListAvailableVersionsOutput struct {
Versions []Version `json:"versions"`
}
ListAvailableVersionsOutput describes the output from a successful ListAvailableVersions operation
type Platform ¶
type Platform struct { Arch string `json:"arch" dynamodbav:"arch" validate:"required"` OS string `json:"os" dynamodbav:"os" validate:"required"` }
Platform describes a provider distribution package
type Provider ¶
type Provider struct { Namespace string `json:"namespace" dynamodbav:"namespace" validate:"required"` Type string `json:"type" dynamodbav:"type" validate:"required"` }
Provider describes a terraform provider
type PublishVersionInput ¶
type PublishVersionInput struct { Provider `json:",inline" validate:"required"` Version `json:",inline" validate:"required,dive"` }
PublishVersionInput describes the input to a PublishVersion operation
type PublishVersionOutput ¶
type PublishVersionOutput struct{}
PublishVersionOutput describes the output from a successful PublishVersion operation
type RegisterGPGPublicKeyInput ¶
type RegisterGPGPublicKeyInput struct {
GPGPublicKey `json:",inline" validate:"required"`
}
RegisterGPGPublicKeyInput describes the input to a RegisterGPGPublicKey operation
type RegisterGPGPublicKeyOutput ¶
type RegisterGPGPublicKeyOutput struct{}
RegisterGPGPublicKeyOutput describes the output from a successful RegisterGPGPublicKey operation
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service exposes a v1 terraform provider registry service
func NewService ¶
func NewService(conf ServiceConfig) (*Service, error)
NewService initializes a new registry provider
func (*Service) FindProviderPackage ¶
func (s *Service) FindProviderPackage(ctx context.Context, input FindProviderPackageInput) (*FindProviderPackageOutput, error)
FindProviderPackage provides download url and additional metadata for a particular provider distribution package
func (*Service) ListAvailableVersions ¶
func (s *Service) ListAvailableVersions(ctx context.Context, input ListAvailableVersionsInput) (*ListAvailableVersionsOutput, error)
ListAvailableVersions provides a list of available versions for a particular provider
func (*Service) PublishVersion ¶
func (s *Service) PublishVersion(ctx context.Context, input PublishVersionInput) (*PublishVersionOutput, error)
PublishVersion registers a new provider version
func (*Service) RegisterGPGPublicKey ¶
func (s *Service) RegisterGPGPublicKey(ctx context.Context, input RegisterGPGPublicKeyInput) (*RegisterGPGPublicKeyOutput, error)
RegisterGPGPublicKey registers a new provider version
type ServiceConfig ¶
type ServiceConfig struct { session.Config `json:",inline" yaml:",inline" mapstructure:",squash"` Bucket string `json:"bucket" validate:"required"` Prefix string `json:"prefix"` Table string `json:"table" validate:"required"` }
ServiceConfig describes runtime configuration for a Service value
type SigningKey ¶
type SigningKey struct {
GPGPublicKeys []GPGPublicKey `json:"gpg_public_keys" dynamodbav:"gpg_public_keys"`
}
SigningKey contains information about the keys used to sign the version
type Version ¶
type Version struct { PK string `json:"-" dynamodbav:"pk"` GPGPublicKeyID string `json:"gpg_public_key_id,omitempty" dynamodbav:"gpg_public_key_id" validate:"required"` Platforms []Platform `json:"platforms" dynamodbav:"platforms" validate:"required"` Protocols []string `json:"protocols" dynamodbav:"protocols" validate:"required"` Version string `json:"version" dynamodbav:"sk" validate:"required"` }
Version describes a provider version