Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompositePluginRepository ¶
type CompositePluginRepository struct {
// contains filtered or unexported fields
}
CompositePluginRepository routes plugin requests to the appropriate repository based on whether the library has a ServerURL (local development) or not (API)
func NewCompositePluginRepository ¶
func NewCompositePluginRepository(platform *terraform.PlatformSpec, defaultRepo terraform.PluginRepository) *CompositePluginRepository
func (*CompositePluginRepository) GetIdentityPlugin ¶
func (r *CompositePluginRepository) GetIdentityPlugin(team, libname, version, name string) (*terraform.IdentityPluginManifest, error)
func (*CompositePluginRepository) GetResourcePlugin ¶
func (r *CompositePluginRepository) GetResourcePlugin(team, libname, version, name string) (*terraform.ResourcePluginManifest, error)
type HTTPPluginRepository ¶
type HTTPPluginRepository struct {
// contains filtered or unexported fields
}
HTTPPluginRepository fetches plugins from an HTTP server (local or remote) This is used when a library has a ServerURL specified
func NewHTTPPluginRepository ¶
func NewHTTPPluginRepository(serverURL string) *HTTPPluginRepository
func (*HTTPPluginRepository) GetIdentityPlugin ¶
func (r *HTTPPluginRepository) GetIdentityPlugin(team, libname, version, name string) (*terraform.IdentityPluginManifest, error)
func (*HTTPPluginRepository) GetResourcePlugin ¶
func (r *HTTPPluginRepository) GetResourcePlugin(team, libname, version, name string) (*terraform.ResourcePluginManifest, error)
type LocalPluginRepository ¶
type LocalPluginRepository struct {
// contains filtered or unexported fields
}
LocalPluginRepository implements terraform.PluginRepository It reads plugins directly from the local filesystem for development
func NewLocalPluginRepository ¶
func NewLocalPluginRepository(fs afero.Fs, pluginPaths []string) *LocalPluginRepository
func (*LocalPluginRepository) GetIdentityPlugin ¶
func (r *LocalPluginRepository) GetIdentityPlugin(team, libname, version, name string) (*terraform.IdentityPluginManifest, error)
func (*LocalPluginRepository) GetResourcePlugin ¶
func (r *LocalPluginRepository) GetResourcePlugin(team, libname, version, name string) (*terraform.ResourcePluginManifest, error)
type PluginInfo ¶
type PluginInfo struct {
Name string
Path string // Path to the manifest file
Dir string // Directory containing the manifest
TerraformModulePath string // Relative path to the terraform module from manifest
}
func (PluginInfo) String ¶
func (p PluginInfo) String() string
type PluginServer ¶
type PluginServer struct {
// contains filtered or unexported fields
}
func NewPluginServer ¶
func NewPluginServer(fs afero.Fs, basePath string) (*PluginServer, error)
func (*PluginServer) GetModules ¶
func (s *PluginServer) GetModules() []string
GetModules returns the cached list of discovered Go modules
func (*PluginServer) GetPlugins ¶
func (s *PluginServer) GetPlugins() []PluginInfo
GetPlugins returns the cached list of discovered plugins
func (*PluginServer) ServeHTTP ¶
func (s *PluginServer) ServeHTTP(w http.ResponseWriter, r *http.Request)
func (*PluginServer) Start ¶
func (s *PluginServer) Start(addr string) error
Click to show internal directories.
Click to hide internal directories.