Documentation ¶
Index ¶
- Constants
- func CopyTemplateFiles(sourceDir, destDir string, force bool, projectName string, ...) error
- func CopyTemplateFilesDryRun(sourceDir, destDir, projectName string) error
- func DeleteAccount(key string) error
- func DetectPolicyPackPathFrom(path string) (string, error)
- func DetectProjectPath() (string, error)
- func DetectProjectPathFrom(path string) (string, error)
- func DetectProjectStackPath(stackName tokens.QName) (string, error)
- func GetCachedVersionFilePath() (string, error)
- func GetCurrentCloudURL() (string, error)
- func GetPluginDir() (string, error)
- func GetPluginPath(kind PluginKind, name string, version *semver.Version) (string, string, error)
- func GetPolicyDir(orgName string) (string, error)
- func GetPolicyPath(orgName, name, version string) (string, bool, error)
- func GetPulumiHomeDir() (string, error)
- func GetPulumiPath(elem ...string) (string, error)
- func GetTemplateDir(templateKind TemplateKind) (string, error)
- func HasPlugin(plug PluginInfo) bool
- func HasPluginGTE(plug PluginInfo) (bool, error)
- func IsPluginKind(k string) bool
- func IsTemplateURL(templateNamePathOrURL string) bool
- func NewMissingError(info PluginInfo) error
- func ReadCloserProgressBar(closer io.ReadCloser, size int64, message string, ...) io.ReadCloser
- func RetrieveTemplate(rawurl string, path string) (string, error)
- func SaveProject(proj *Project) error
- func SaveProjectStack(stackName tokens.QName, stack *ProjectStack) error
- func StoreAccount(key string, account Account, current bool) error
- func StoreCredentials(creds Credentials) error
- func ValidateProjectDescription(s string) error
- func ValidateProjectName(s string) error
- func ValueOrDefaultProjectDescription(description string, projectDescription string, defaultDescription string) string
- func ValueOrSanitizedDefaultProjectName(name string, projectName string, defaultNameToSanitize string) string
- type Account
- type Analyzers
- type Credentials
- type MissingError
- type PluginInfo
- func (info PluginInfo) Delete() error
- func (info PluginInfo) Dir() string
- func (info PluginInfo) DirPath() (string, error)
- func (info PluginInfo) Download() (io.ReadCloser, int64, error)
- func (info PluginInfo) File() string
- func (info PluginInfo) FilePath() (string, error)
- func (info PluginInfo) FilePrefix() string
- func (info PluginInfo) FileSuffix() string
- func (info PluginInfo) Install(tarball io.ReadCloser) error
- func (info *PluginInfo) SetFileMetadata(path string) error
- func (info PluginInfo) String() string
- type PluginKind
- type PolicyPackProject
- type PolicyPackTemplate
- type Project
- type ProjectBackend
- type ProjectRuntimeInfo
- func (info ProjectRuntimeInfo) MarshalJSON() ([]byte, error)
- func (info ProjectRuntimeInfo) MarshalYAML() (interface{}, error)
- func (info *ProjectRuntimeInfo) Name() string
- func (info *ProjectRuntimeInfo) Options() map[string]interface{}
- func (info *ProjectRuntimeInfo) UnmarshalJSON(data []byte) error
- func (info *ProjectRuntimeInfo) UnmarshalYAML(unmarshal func(interface{}) error) error
- type ProjectStack
- type ProjectTemplate
- type ProjectTemplateConfigValue
- type Settings
- type SortedPluginInfo
- type Template
- type TemplateKind
- type TemplateRepository
- type W
Constants ¶
const ( // BackupDir is the name of the folder where backup stack information is stored. BackupDir = "backups" // BookkeepingDir is the name of our bookkeeping folder, we store state here (like .git for git). BookkeepingDir = ".pulumi" // ConfigDir is the name of the folder that holds local configuration information. ConfigDir = "config" // GitDir is the name of the folder git uses to store information. GitDir = ".git" // HistoryDir is the name of the directory that holds historical information for projects. HistoryDir = "history" // PluginDir is the name of the directory containing plugins. PluginDir = "plugins" // PolicyDir is the name of the directory that holds policy packs. PolicyDir = "policies" // StackDir is the name of the directory that holds stack information for projects. StackDir = "stacks" // TemplateDir is the name of the directory containing templates. TemplateDir = "templates" // TemplatePolicyDir is the name of the directory containing templates for Policy Packs. TemplatePolicyDir = "templates-policy" // WorkspaceDir is the name of the directory that holds workspace information for projects. WorkspaceDir = "workspaces" // IgnoreFile is the name of the file that we use to control what to upload to the service. IgnoreFile = ".pulumiignore" // ProjectFile is the base name of a project file. ProjectFile = "Pulumi" // RepoFile is the name of the file that holds information specific to the entire repository. RepoFile = "settings.json" // WorkspaceFile is the name of the file that holds workspace information. WorkspaceFile = "workspace.json" // CachedVersionFile is the name of the file we use to store when we last checked if the CLI was out of date CachedVersionFile = ".cachedVersionInfo" // PulumiHomeEnvVar is a path to the '.pulumi' folder with plugins, access token, etc. // The folder can have any name, not necessarily '.pulumi'. // It defaults to the '<user's home>/.pulumi' if not specified. PulumiHomeEnvVar = "PULUMI_HOME" // PolicyPackFile is the base name of a Pulumi policy pack file. PolicyPackFile = "PulumiPolicy" )
const PulumiCredentialsPathEnvVar = "PULUMI_CREDENTIALS_PATH"
PulumiCredentialsPathEnvVar is a path to the folder where credentials are stored. We use this in testing so that tests which log in and out do not impact the local developer's credentials or tests interacting with one another
Variables ¶
This section is empty.
Functions ¶
func CopyTemplateFiles ¶ added in v1.4.1
func CopyTemplateFiles( sourceDir, destDir string, force bool, projectName string, projectDescription string) error
CopyTemplateFiles does the actual copy operation to a destination directory.
func CopyTemplateFilesDryRun ¶ added in v1.4.1
CopyTemplateFilesDryRun does a dry run of copying a template to a destination directory, to ensure it won't overwrite any files.
func DeleteAccount ¶ added in v1.3.2
DeleteAccount deletes an account underneath the given key.
func DetectPolicyPackPathFrom ¶ added in v1.3.1
DetectPolicyPackPathFrom locates the closest Pulumi policy project from the given path, searching "upwards" in the directory hierarchy. If no project is found, an empty path is returned.
func DetectProjectPath ¶
DetectProjectPath locates the closest project from the current working directory, or an error if not found.
func DetectProjectPathFrom ¶
DetectProjectPathFrom locates the closest project from the given path, searching "upwards" in the directory hierarchy. If no project is found, an empty path is returned.
func DetectProjectStackPath ¶
DetectProjectStackPath returns the name of the file to store stack specific project settings in. We place stack specific settings next to the Pulumi.yaml file, named like: Pulumi.<stack-name>.yaml
func GetCachedVersionFilePath ¶ added in v0.15.0
GetCachedVersionFilePath returns the location where the CLI caches information from pulumi.com on the newest available version of the CLI
func GetCurrentCloudURL ¶
GetCurrentCloudURL returns the URL of the cloud we are currently connected to. This may be empty if we have not logged in.
func GetPluginDir ¶
GetPluginDir returns the directory in which plugins on the current machine are managed.
func GetPluginPath ¶
GetPluginPath finds a plugin's path by its kind, name, and optional version. It will match the latest version that is >= the version specified. If no version is supplied, the latest plugin for that given kind/name pair is loaded, using standard semver sorting rules. A plugin may be overridden entirely by placing it on your $PATH.
func GetPolicyDir ¶ added in v0.17.23
GetPolicyDir returns the directory in which an organization's Policy Packs on the current machine are managed.
func GetPolicyPath ¶ added in v0.17.23
GetPolicyPath finds a PolicyPack by its name version, as well as a bool marked true if the path already exists and is a directory.
func GetPulumiHomeDir ¶ added in v1.3.0
GetPulumiHomeDir returns the path of the '.pulumi' folder where Pulumi puts its artifacts.
func GetPulumiPath ¶ added in v1.3.0
GetPulumiPath returns the path to a file or directory under the '.pulumi' folder. It joins the path of the '.pulumi' folder with elements passed as arguments.
func GetTemplateDir ¶
func GetTemplateDir(templateKind TemplateKind) (string, error)
GetTemplateDir returns the directory in which templates on the current machine are stored.
func HasPlugin ¶
func HasPlugin(plug PluginInfo) bool
HasPlugin returns true if the given plugin exists.
func HasPluginGTE ¶
func HasPluginGTE(plug PluginInfo) (bool, error)
HasPluginGTE returns true if the given plugin exists at the given version number or greater.
func IsPluginKind ¶
IsPluginKind returns true if k is a valid plugin kind, and false otherwise.
func IsTemplateURL ¶ added in v0.15.0
IsTemplateURL returns true if templateNamePathOrURL starts with "https://".
func NewMissingError ¶ added in v0.17.2
func NewMissingError(info PluginInfo) error
NewMissingError allocates a new error indicating the given plugin info was not found.
func ReadCloserProgressBar ¶ added in v1.0.0
func ReadCloserProgressBar( closer io.ReadCloser, size int64, message string, colorization colors.Colorization) io.ReadCloser
ReadCloserProgressBar displays a progress bar for the given closer and returns a wrapper closer to manipulate it.
func RetrieveTemplate ¶ added in v0.15.0
RetrieveTemplate downloads the repo to path and returns the full path on disk.
func SaveProject ¶
SaveProject saves the project file on top of the existing one, using the standard location.
func SaveProjectStack ¶
func SaveProjectStack(stackName tokens.QName, stack *ProjectStack) error
func StoreAccount ¶ added in v1.3.2
StoreAccount saves the given account underneath the given key.
func StoreCredentials ¶
func StoreCredentials(creds Credentials) error
StoreCredentials updates the stored credentials on the machine, replacing the existing set. If the credentials are empty, the auth file will be deleted rather than just serializing an empty map.
func ValidateProjectDescription ¶ added in v0.16.12
ValidateProjectDescription ensures a project description name is valid, if it is not it returns an error with a message suitable for display to an end user.
func ValidateProjectName ¶ added in v0.16.12
ValidateProjectName ensures a project name is valid, if it is not it returns an error with a message suitable for display to an end user.
Types ¶
type Account ¶ added in v1.3.2
type Account struct { AccessToken string `json:"accessToken,omitempty"` // The access token for this account. Username string `json:"username,omitempty"` // The username for this account. LastValidatedAt time.Time `json:"lastValidatedAt,omitempty"` // The last time this token was validated. }
Account holds the information associated with a Pulumi account.
func GetAccount ¶ added in v1.3.2
GetAccount returns an account underneath a given key.
Note that the account may not be fully populated: it may only have a valid AccessToken. In that case, it is up to the caller to fill in the username and last validation time.
type Credentials ¶
type Credentials struct { Current string `json:"current,omitempty"` // the currently selected key. AccessTokens map[string]string `json:"accessTokens,omitempty"` // a map of arbitrary key strings to tokens. Accounts map[string]Account `json:"accounts,omitempty"` // a map of arbitrary keys to account info. }
Credentials hold the information necessary for authenticating Pulumi Cloud API requests. It contains a map from the cloud API URL to the associated access token.
func GetStoredCredentials ¶
func GetStoredCredentials() (Credentials, error)
GetStoredCredentials returns any credentials stored on the local machine.
type MissingError ¶ added in v0.17.2
type MissingError struct { // Info contains information about the plugin that was not found. Info PluginInfo }
MissingError is returned by functions that attempt to load plugins if a plugin can't be located.
func (*MissingError) Error ¶ added in v0.17.2
func (err *MissingError) Error() string
type PluginInfo ¶
type PluginInfo struct { Name string // the simple name of the plugin. Path string // the path that a plugin was loaded from. Kind PluginKind // the kind of the plugin (language, resource, etc). Version *semver.Version // the plugin's semantic version, if present. Size int64 // the size of the plugin, in bytes. InstallTime time.Time // the time the plugin was installed. LastUsedTime time.Time // the last time the plugin was used. ServerURL string // an optional server to use when downloading this plugin. }
PluginInfo provides basic information about a plugin. Each plugin gets installed into a system-wide location, by default `~/.pulumi/plugins/<kind>-<name>-<version>/`. A plugin may contain multiple files, however the primary loadable executable must be named `pulumi-<kind>-<name>`.
func GetPlugins ¶
func GetPlugins() ([]PluginInfo, error)
GetPlugins returns a list of installed plugins.
func SelectCompatiblePlugin ¶ added in v0.16.18
func SelectCompatiblePlugin( plugins []PluginInfo, kind PluginKind, name string, requested semver.Range) (PluginInfo, error)
SelectCompatiblePlugin selects a plugin from the list of plugins with the given kind and name that sastisfies the requested semver range. It returns the highest version plugin that satisfies the requested constraints, or an error if no such plugin could be found.
If there exist plugins in the plugin list that don't have a version, SelectCompatiblePlugin will select them if there are no other compatible plugins available.
func (PluginInfo) Delete ¶
func (info PluginInfo) Delete() error
Delete removes the plugin from the cache. It also deletes any supporting files in the cache, which includes any files that contain the same prefix as the plugin itself.
func (PluginInfo) Dir ¶
func (info PluginInfo) Dir() string
Dir gets the expected plugin directory for this plugin.
func (PluginInfo) DirPath ¶
func (info PluginInfo) DirPath() (string, error)
DirPath returns the directory where this plugin should be installed.
func (PluginInfo) Download ¶ added in v0.17.15
func (info PluginInfo) Download() (io.ReadCloser, int64, error)
Download fetches an io.ReadCloser for this plugin and also returns the size of the response (if known).
func (PluginInfo) File ¶
func (info PluginInfo) File() string
File gets the expected filename for this plugin.
func (PluginInfo) FilePath ¶
func (info PluginInfo) FilePath() (string, error)
FilePath returns the full path where this plugin's primary executable should be installed.
func (PluginInfo) FilePrefix ¶
func (info PluginInfo) FilePrefix() string
FilePrefix gets the expected default file prefix for the plugin.
func (PluginInfo) FileSuffix ¶
func (info PluginInfo) FileSuffix() string
FileSuffix returns the suffix for the plugin (if any).
func (PluginInfo) Install ¶
func (info PluginInfo) Install(tarball io.ReadCloser) error
Install installs a plugin's tarball into the cache. It validates that plugin names are in the expected format.
func (*PluginInfo) SetFileMetadata ¶
func (info *PluginInfo) SetFileMetadata(path string) error
SetFileMetadata adds extra metadata from the given file, representing this plugin's directory.
func (PluginInfo) String ¶
func (info PluginInfo) String() string
type PluginKind ¶
type PluginKind string
PluginKind represents a kind of a plugin that may be dynamically loaded and used by Pulumi.
const ( // AnalyzerPlugin is a plugin that can be used as a resource analyzer. AnalyzerPlugin PluginKind = "analyzer" // LanguagePlugin is a plugin that can be used as a language host. LanguagePlugin PluginKind = "language" // ResourcePlugin is a plugin that can be used as a resource provider for custom CRUD operations. ResourcePlugin PluginKind = "resource" )
type PolicyPackProject ¶ added in v1.3.1
type PolicyPackProject struct { // Runtime is a required runtime that executes code. Runtime ProjectRuntimeInfo `json:"runtime" yaml:"runtime"` // Main is an optional override for the program's main entry-point location. Main string `json:"main,omitempty" yaml:"main,omitempty"` // Description is an optional informational description. Description *string `json:"description,omitempty" yaml:"description,omitempty"` // Author is an optional author that created this project. Author *string `json:"author,omitempty" yaml:"author,omitempty"` // Website is an optional website for additional info about this project. Website *string `json:"website,omitempty" yaml:"website,omitempty"` // License is the optional license governing this project's usage. License *string `json:"license,omitempty" yaml:"license,omitempty"` }
func LoadPolicyPack ¶ added in v1.3.1
func LoadPolicyPack(path string) (*PolicyPackProject, error)
LoadPolicyPack reads a policy pack definition from a file.
func (*PolicyPackProject) Validate ¶ added in v1.3.1
func (proj *PolicyPackProject) Validate() error
type PolicyPackTemplate ¶ added in v1.4.1
type PolicyPackTemplate struct { Dir string // The directory containing PulumiPolicy.yaml. Name string // The name of the template. Description string // Description of the template. }
PolicyPackTemplate represents a Policy Pack template.
func LoadPolicyPackTemplate ¶ added in v1.4.1
func LoadPolicyPackTemplate(path string) (PolicyPackTemplate, error)
LoadPolicyPackTemplate returns a Policy Pack template from a path.
type Project ¶
type Project struct { // Name is a required fully qualified name. Name tokens.PackageName `json:"name" yaml:"name"` // Runtime is a required runtime that executes code. Runtime ProjectRuntimeInfo `json:"runtime" yaml:"runtime"` // Main is an optional override for the program's main entry-point location. Main string `json:"main,omitempty" yaml:"main,omitempty"` // Description is an optional informational description. Description *string `json:"description,omitempty" yaml:"description,omitempty"` // Author is an optional author that created this project. Author *string `json:"author,omitempty" yaml:"author,omitempty"` // Website is an optional website for additional info about this project. Website *string `json:"website,omitempty" yaml:"website,omitempty"` // License is the optional license governing this project's usage. License *string `json:"license,omitempty" yaml:"license,omitempty"` // Config indicates where to store the Pulumi.<stack-name>.yaml files, combined with the folder Pulumi.yaml is in. Config string `json:"config,omitempty" yaml:"config,omitempty"` // Template is an optional template manifest, if this project is a template. Template *ProjectTemplate `json:"template,omitempty" yaml:"template,omitempty"` // Backend is an optional backend configuration Backend *ProjectBackend `json:"backend,omitempty" yaml:"backend,omitempty"` }
Project is a Pulumi project manifest.
We explicitly add yaml tags (instead of using the default behavior from https://github.com/ghodss/yaml which works in terms of the JSON tags) so we can directly marshall and unmarshall this struct using go-yaml an have the fields in the serialized object match the order they are defined in this struct.
TODO[pulumi/pulumi#423]: use DOM based marshalling so we can roundtrip the seralized structure perfectly.
func DetectProject ¶
DetectProject loads the closest project from the current working directory, or an error if not found.
func DetectProjectAndPath ¶
DetectProjectAndPath loads the closest package from the current working directory, or an error if not found. It also returns the path where the package was found.
func LoadProject ¶
LoadProject reads a project definition from a file.
func (*Project) TrustResourceDependencies ¶ added in v0.16.0
TrustResourceDependencies returns whether or not this project's runtime can be trusted to accurately report dependencies. All languages supported by Pulumi today do this correctly. This option remains useful when bringing up new Pulumi languages.
type ProjectBackend ¶ added in v0.17.18
type ProjectBackend struct { // URL is optional field to explicitly set backend url URL string `json:"url,omitempty" yaml:"url,omitempty"` }
ProjectBackend is a configuration for backend used by project
type ProjectRuntimeInfo ¶ added in v0.15.0
type ProjectRuntimeInfo struct {
// contains filtered or unexported fields
}
func NewProjectRuntimeInfo ¶ added in v0.15.0
func NewProjectRuntimeInfo(name string, options map[string]interface{}) ProjectRuntimeInfo
func (ProjectRuntimeInfo) MarshalJSON ¶ added in v0.15.0
func (info ProjectRuntimeInfo) MarshalJSON() ([]byte, error)
func (ProjectRuntimeInfo) MarshalYAML ¶ added in v0.15.0
func (info ProjectRuntimeInfo) MarshalYAML() (interface{}, error)
func (*ProjectRuntimeInfo) Name ¶ added in v0.15.0
func (info *ProjectRuntimeInfo) Name() string
func (*ProjectRuntimeInfo) Options ¶ added in v0.15.0
func (info *ProjectRuntimeInfo) Options() map[string]interface{}
func (*ProjectRuntimeInfo) UnmarshalJSON ¶ added in v0.15.0
func (info *ProjectRuntimeInfo) UnmarshalJSON(data []byte) error
func (*ProjectRuntimeInfo) UnmarshalYAML ¶ added in v0.15.0
func (info *ProjectRuntimeInfo) UnmarshalYAML(unmarshal func(interface{}) error) error
type ProjectStack ¶
type ProjectStack struct { // SecretsProvider is this stack's secrets provider. SecretsProvider string `json:"secretsprovider,omitempty" yaml:"secretsprovider,omitempty"` // EncryptedKey is the KMS-encrypted ciphertext for the data key used for secrets encryption. // Only used for cloud-based secrets providers. EncryptedKey string `json:"encryptedkey,omitempty" yaml:"encryptedkey,omitempty"` // EncryptionSalt is this stack's base64 encoded encryption salt. Only used for // passphrase-based secrets providers. EncryptionSalt string `json:"encryptionsalt,omitempty" yaml:"encryptionsalt,omitempty"` // Config is an optional config bag. Config config.Map `json:"config,omitempty" yaml:"config,omitempty"` }
ProjectStack holds stack specific information about a project.
func DetectProjectStack ¶
func DetectProjectStack(stackName tokens.QName) (*ProjectStack, error)
func LoadProjectStack ¶
func LoadProjectStack(path string) (*ProjectStack, error)
LoadProjectStack reads a stack definition from a file.
func (*ProjectStack) Save ¶
func (ps *ProjectStack) Save(path string) error
Save writes a project definition to a file.
type ProjectTemplate ¶ added in v0.15.0
type ProjectTemplate struct { // Description is an optional description of the template. Description string `json:"description,omitempty" yaml:"description,omitempty"` // Quickstart contains optional text to be displayed after template creation. Quickstart string `json:"quickstart,omitempty" yaml:"quickstart,omitempty"` // Config is an optional template config. Config map[string]ProjectTemplateConfigValue `json:"config,omitempty" yaml:"config,omitempty"` // Important indicates the template is important and should be listed by default. Important bool `json:"important,omitempty" yaml:"important,omitempty"` }
ProjectTemplate is a Pulumi project template manifest.
type ProjectTemplateConfigValue ¶ added in v0.15.0
type ProjectTemplateConfigValue struct { // Description is an optional description for the config value. Description string `json:"description,omitempty" yaml:"description,omitempty"` // Default is an optional default value for the config value. Default string `json:"default,omitempty" yaml:"default,omitempty"` // Secret may be set to true to indicate that the config value should be encrypted. Secret bool `json:"secret,omitempty" yaml:"secret,omitempty"` }
ProjectTemplateConfigValue is a config value included in the project template manifest.
type Settings ¶
type Settings struct { // Stack is an optional default stack to use. Stack string `json:"stack,omitempty" yaml:"env,omitempty"` }
Settings defines workspace settings shared amongst many related projects.
type SortedPluginInfo ¶ added in v0.17.3
type SortedPluginInfo []PluginInfo
SortedPluginInfo is a wrapper around PluginInfo that allows for sorting by version.
func (SortedPluginInfo) Len ¶ added in v0.17.3
func (sp SortedPluginInfo) Len() int
func (SortedPluginInfo) Less ¶ added in v0.17.3
func (sp SortedPluginInfo) Less(i, j int) bool
func (SortedPluginInfo) Swap ¶ added in v0.17.3
func (sp SortedPluginInfo) Swap(i, j int)
type Template ¶
type Template struct { Dir string // The directory containing Pulumi.yaml. Name string // The name of the template. Description string // Description of the template. Quickstart string // Optional text to be displayed after template creation. Config map[string]ProjectTemplateConfigValue // Optional template config. Important bool // Indicates whether the template should be listed by default. ProjectName string // Name of the project. ProjectDescription string // Optional description of the project. }
Template represents a project template.
func LoadTemplate ¶ added in v0.15.0
LoadTemplate returns a template from a path.
type TemplateKind ¶ added in v1.4.1
type TemplateKind int
TemplateKind describes the form of a template.
const ( // TemplateKindPulumiProject is a template for a Pulumi stack. TemplateKindPulumiProject TemplateKind = 0 // TemplateKindPolicyPack is a template for a Policy Pack. TemplateKindPolicyPack TemplateKind = 1 )
type TemplateRepository ¶ added in v0.15.0
type TemplateRepository struct { Root string // The full path to the root directory of the repository. SubDirectory string // The full path to the sub directory within the repository. ShouldDelete bool // Whether the root directory should be deleted. }
TemplateRepository represents a repository of templates.
func RetrieveTemplates ¶ added in v0.15.0
func RetrieveTemplates(templateNamePathOrURL string, offline bool, templateKind TemplateKind) (TemplateRepository, error)
RetrieveTemplates retrieves a "template repository" based on the specified name, path, or URL.
func (TemplateRepository) Delete ¶ added in v0.15.0
func (repo TemplateRepository) Delete() error
Delete deletes the template repository.
func (TemplateRepository) PolicyTemplates ¶ added in v1.4.1
func (repo TemplateRepository) PolicyTemplates() ([]PolicyPackTemplate, error)
PolicyTemplates lists the policy templates in the repository.
func (TemplateRepository) Templates ¶ added in v0.15.0
func (repo TemplateRepository) Templates() ([]Template, error)
Templates lists the templates in the repository.