Documentation
¶
Index ¶
- Constants
- Variables
- func FileExtensionCheck(path string, validExtensions []string) error
- func FilePathEndsWithExtensionFrom(path string, validExtensions []string) bool
- func FileSizeCheck(providerFs fs.FS, path string) error
- func InvalidDirectoriesCheck(dirPath string) error
- func IsValidCdktfDirectory(directory string) bool
- func IsValidLegacyDirectory(directory string) bool
- func IsValidRegistryDirectory(directory string) bool
- func MixedDirectoriesCheck(docFiles []string) error
- func TrimFileExtension(path string) string
- type FileMismatchCheck
- func (check *FileMismatchCheck) ActionFileMismatchCheck(files []os.DirEntry, actionType string, ...) error
- func (check *FileMismatchCheck) FunctionFileMismatchCheck(files []os.DirEntry, functions map[string]*tfjson.FunctionSignature) error
- func (check *FileMismatchCheck) IgnoreFileMismatch(file string) bool
- func (check *FileMismatchCheck) IgnoreFileMissing(resourceName string) bool
- func (check *FileMismatchCheck) ResourceFileMismatchCheck(files []os.DirEntry, resourceType string, schemas map[string]*tfjson.Schema) error
- func (check *FileMismatchCheck) Run() error
- type FileMismatchOptions
- type FileOptions
- type FrontMatterCheck
- type FrontMatterData
- type FrontMatterOptions
- type ProviderFileCheck
- type ProviderFileOptions
Constants ¶
const ( CdktfIndexDirectory = `cdktf` LegacyIndexDirectory = `website/docs` LegacyDataSourcesDirectory = `d` LegacyEphemeralResourcesDirectory = `ephemeral-resources` LegacyGuidesDirectory = `guides` LegacyResourcesDirectory = `r` LegacyFunctionsDirectory = `functions` LegacyActionsDirectory = `actions` LegacyListResourcesDirectory = "list-resources" RegistryIndexDirectory = `docs` RegistryDataSourcesDirectory = `data-sources` RegistryEphemeralResourcesDirectory = `ephemeral-resources` RegistryGuidesDirectory = `guides` RegistryResourcesDirectory = `resources` RegistryFunctionsDirectory = `functions` RegistryActionsDirectory = `actions` RegistryListResourcesDirectory = "list-resources" // Terraform Registry Storage Limits // https://www.terraform.io/docs/registry/providers/docs.html#storage-limits RegistryMaximumNumberOfFiles = 2000 RegistryMaximumSizeOfFile = 500000 // 500KB )
const ( FileExtensionHtmlMarkdown = `.html.markdown` FileExtensionHtmlMd = `.html.md` FileExtensionMarkdown = `.markdown` FileExtensionMd = `.md` )
Variables ¶
var ValidCdktfLanguages = []string{
"csharp",
"go",
"java",
"python",
"typescript",
}
var ValidLegacyDirectories = []string{ LegacyIndexDirectory, LegacyIndexDirectory + "/" + LegacyDataSourcesDirectory, LegacyIndexDirectory + "/" + LegacyEphemeralResourcesDirectory, LegacyIndexDirectory + "/" + LegacyGuidesDirectory, LegacyIndexDirectory + "/" + LegacyResourcesDirectory, LegacyIndexDirectory + "/" + LegacyFunctionsDirectory, LegacyIndexDirectory + "/" + LegacyActionsDirectory, LegacyIndexDirectory + "/" + LegacyListResourcesDirectory, }
var ValidLegacyFileExtensions = []string{ FileExtensionHtmlMarkdown, FileExtensionHtmlMd, FileExtensionMarkdown, FileExtensionMd, }
var ValidLegacySubdirectories = []string{ LegacyIndexDirectory, LegacyDataSourcesDirectory, LegacyEphemeralResourcesDirectory, LegacyGuidesDirectory, LegacyResourcesDirectory, LegacyActionsDirectory, LegacyListResourcesDirectory, }
var ValidRegistryDirectories = []string{ RegistryIndexDirectory, RegistryIndexDirectory + "/" + RegistryDataSourcesDirectory, RegistryIndexDirectory + "/" + RegistryEphemeralResourcesDirectory, RegistryIndexDirectory + "/" + RegistryGuidesDirectory, RegistryIndexDirectory + "/" + RegistryResourcesDirectory, RegistryIndexDirectory + "/" + RegistryFunctionsDirectory, RegistryIndexDirectory + "/" + RegistryActionsDirectory, RegistryIndexDirectory + "/" + RegistryListResourcesDirectory, }
var ValidRegistryFileExtensions = []string{ FileExtensionMd, }
var ValidRegistrySubdirectories = []string{ RegistryIndexDirectory, RegistryDataSourcesDirectory, RegistryEphemeralResourcesDirectory, RegistryGuidesDirectory, RegistryResourcesDirectory, RegistryActionsDirectory, RegistryListResourcesDirectory, }
Functions ¶
func FileExtensionCheck ¶
FileExtensionCheck checks if the file extension of the given path is valid.
func FileSizeCheck ¶
FileSizeCheck verifies that documentation file is below the Terraform Registry storage limit.
func InvalidDirectoriesCheck ¶
func IsValidCdktfDirectory ¶
func IsValidLegacyDirectory ¶
func MixedDirectoriesCheck ¶
func TrimFileExtension ¶
TrimFileExtension removes file extensions including those with multiple periods.
Types ¶
type FileMismatchCheck ¶
type FileMismatchCheck struct {
Options *FileMismatchOptions
}
func NewFileMismatchCheck ¶
func NewFileMismatchCheck(opts *FileMismatchOptions) *FileMismatchCheck
func (*FileMismatchCheck) ActionFileMismatchCheck ¶ added in v0.23.0
func (check *FileMismatchCheck) ActionFileMismatchCheck(files []os.DirEntry, actionType string, schemas map[string]*tfjson.ActionSchema) error
ActionFileMismatchCheck checks for mismatched files, either missing or extraneous, against the action schema
func (*FileMismatchCheck) FunctionFileMismatchCheck ¶
func (check *FileMismatchCheck) FunctionFileMismatchCheck(files []os.DirEntry, functions map[string]*tfjson.FunctionSignature) error
FunctionFileMismatchCheck checks for mismatched files, either missing or extraneous, against the function signature
func (*FileMismatchCheck) IgnoreFileMismatch ¶
func (check *FileMismatchCheck) IgnoreFileMismatch(file string) bool
func (*FileMismatchCheck) IgnoreFileMissing ¶
func (check *FileMismatchCheck) IgnoreFileMissing(resourceName string) bool
func (*FileMismatchCheck) ResourceFileMismatchCheck ¶
func (check *FileMismatchCheck) ResourceFileMismatchCheck(files []os.DirEntry, resourceType string, schemas map[string]*tfjson.Schema) error
ResourceFileMismatchCheck checks for mismatched files, either missing or extraneous, against the resource/datasource schema
func (*FileMismatchCheck) Run ¶
func (check *FileMismatchCheck) Run() error
type FileMismatchOptions ¶
type FileMismatchOptions struct {
*FileOptions
IgnoreFileMismatch []string
IgnoreFileMissing []string
ProviderShortName string
DatasourceEntries []os.DirEntry
ResourceEntries []os.DirEntry
FunctionEntries []os.DirEntry
EphemeralResourceEntries []os.DirEntry
ActionEntries []os.DirEntry
ListResourceEntries []os.DirEntry
Schema *tfjson.ProviderSchema
}
type FileOptions ¶
type FileOptions struct {
BasePath string
}
func (*FileOptions) FullPath ¶
func (opts *FileOptions) FullPath(path string) string
type FrontMatterCheck ¶
type FrontMatterCheck struct {
Options *FrontMatterOptions
}
func NewFrontMatterCheck ¶
func NewFrontMatterCheck(opts *FrontMatterOptions) *FrontMatterCheck
func (*FrontMatterCheck) Run ¶
func (check *FrontMatterCheck) Run(src []byte) error
type FrontMatterData ¶
type FrontMatterData struct {
Description *string `yaml:"description,omitempty"`
Layout *string `yaml:"layout,omitempty"`
PageTitle *string `yaml:"page_title,omitempty"`
SidebarCurrent *string `yaml:"sidebar_current,omitempty"`
Subcategory *string `yaml:"subcategory,omitempty"`
}
FrontMatterData represents the YAML frontmatter of Terraform Provider documentation.
type FrontMatterOptions ¶
type FrontMatterOptions struct {
AllowedSubcategories []string
NoLayout bool
NoPageTitle bool
NoSidebarCurrent bool
NoSubcategory bool
RequireDescription bool
RequireLayout bool
RequirePageTitle bool
}
FrontMatterOptions represents configuration options for FrontMatter.
type ProviderFileCheck ¶
type ProviderFileCheck struct {
Options *ProviderFileOptions
ProviderFs fs.FS
}
func NewProviderFileCheck ¶
func NewProviderFileCheck(providerFs fs.FS, opts *ProviderFileOptions) *ProviderFileCheck
func (*ProviderFileCheck) Run ¶
func (check *ProviderFileCheck) Run(path string) error
type ProviderFileOptions ¶
type ProviderFileOptions struct {
*FileOptions
FrontMatter *FrontMatterOptions
ValidExtensions []string
}