Documentation
¶
Overview ¶
Package hclkit is used to interpret OpenTofu/HCL configuration units.
Index ¶
- Constants
- Variables
- func YAMLToHCL(yamlData []byte) ([]byte, error)
- type HCLToYAML
- type HclResourceProviderType
- func (*HclResourceProviderType) ContextPath(contextField string) string
- func (*HclResourceProviderType) DataType() api.DataType
- func (*HclResourceProviderType) DefaultResourceCategory() api.ResourceCategory
- func (*HclResourceProviderType) GetPathRegistry() api.AttributeNameToResourceTypeToPathToVisitorInfoType
- func (*HclResourceProviderType) NameSeparator() string
- func (*HclResourceProviderType) NativeToYAML(data []byte) ([]byte, error)
- func (*HclResourceProviderType) NormalizeName(name string) string
- func (*HclResourceProviderType) RemoveScopeFromResourceName(resourceName api.ResourceName) api.ResourceName
- func (*HclResourceProviderType) ResourceAndCategoryTypeMaps(docs gaby.Container) (resourceMap yamlkit.ResourceNameToCategoryTypesMap, ...)
- func (*HclResourceProviderType) ResourceCategoryGetter(doc *gaby.YamlDoc) (api.ResourceCategory, error)
- func (*HclResourceProviderType) ResourceNameGetter(doc *gaby.YamlDoc) (api.ResourceName, error)
- func (*HclResourceProviderType) ResourceTypeGetter(doc *gaby.YamlDoc) (api.ResourceType, error)
- func (*HclResourceProviderType) ResourceTypesAreSimilar(resourceTypeA, resourceTypeB api.ResourceType) bool
- func (*HclResourceProviderType) ScopelessResourceNamePath() api.ResolvedPath
- func (*HclResourceProviderType) SetResourceName(doc *gaby.YamlDoc, name string) error
- func (*HclResourceProviderType) TypeDescription() string
- func (*HclResourceProviderType) YAMLToNative(yamlData []byte) ([]byte, error)
Constants ¶
const ( MetadataPrefix = "confighub" BlockCategoryField = "block_category" BlockTypeField = "block_type" BlockNameField = "block_name" BlockNameSingleton = "singleton" BlockCategoryPath = api.ResolvedPath(MetadataPrefix + "." + BlockCategoryField) BlockTypePath = api.ResolvedPath(MetadataPrefix + "." + BlockTypeField) BlockNamePath = api.ResolvedPath(MetadataPrefix + "." + BlockNameField) )
Variables ¶
var HclResourceProvider = &HclResourceProviderType{}
HclResourceProvider implements the ResourceProvider interface for OpenTofu/HCL.
Functions ¶
Types ¶
type HCLToYAML ¶
type HCLToYAML struct {
// contains filtered or unexported fields
}
HCLToYAML converts HCL content to YAML
func (*HCLToYAML) ConvertToYAML ¶
ConvertToYAML converts the parsed HCL to YAML format
type HclResourceProviderType ¶
type HclResourceProviderType struct{}
func (*HclResourceProviderType) ContextPath ¶
func (*HclResourceProviderType) ContextPath(contextField string) string
TODO: is there a way to add extended attributes in OpenTofu?
func (*HclResourceProviderType) DataType ¶
func (*HclResourceProviderType) DataType() api.DataType
func (*HclResourceProviderType) DefaultResourceCategory ¶
func (*HclResourceProviderType) DefaultResourceCategory() api.ResourceCategory
DefaultResourceCategory returns the default resource category to asssume, which is Resource in this case.
func (*HclResourceProviderType) GetPathRegistry ¶
func (*HclResourceProviderType) GetPathRegistry() api.AttributeNameToResourceTypeToPathToVisitorInfoType
func (*HclResourceProviderType) NameSeparator ¶
func (*HclResourceProviderType) NameSeparator() string
func (*HclResourceProviderType) NativeToYAML ¶
func (*HclResourceProviderType) NativeToYAML(data []byte) ([]byte, error)
func (*HclResourceProviderType) NormalizeName ¶
func (*HclResourceProviderType) NormalizeName(name string) string
func (*HclResourceProviderType) RemoveScopeFromResourceName ¶
func (*HclResourceProviderType) RemoveScopeFromResourceName(resourceName api.ResourceName) api.ResourceName
func (*HclResourceProviderType) ResourceAndCategoryTypeMaps ¶
func (*HclResourceProviderType) ResourceAndCategoryTypeMaps(docs gaby.Container) (resourceMap yamlkit.ResourceNameToCategoryTypesMap, categoryTypeMap yamlkit.ResourceCategoryTypeToNamesMap, err error)
ResourceAndCategoryTypeMaps returns maps of all resources in the provided list of parsed YAML documents, from from names to categories+types and categories+types to names.
func (*HclResourceProviderType) ResourceCategoryGetter ¶
func (*HclResourceProviderType) ResourceCategoryGetter(doc *gaby.YamlDoc) (api.ResourceCategory, error)
ResourceCategoryGetter just returns ResourceCategoryResource for Kubernetes documents.
func (*HclResourceProviderType) ResourceNameGetter ¶
func (*HclResourceProviderType) ResourceNameGetter(doc *gaby.YamlDoc) (api.ResourceName, error)
ResourceNameGetter extracts the property configHub.configName, and returns NoName if not present.
func (*HclResourceProviderType) ResourceTypeGetter ¶
func (*HclResourceProviderType) ResourceTypeGetter(doc *gaby.YamlDoc) (api.ResourceType, error)
ResourceTypeGetter extracts the property configHub.configSchema, and returns NoSchema if not present.
func (*HclResourceProviderType) ResourceTypesAreSimilar ¶
func (*HclResourceProviderType) ResourceTypesAreSimilar(resourceTypeA, resourceTypeB api.ResourceType) bool
func (*HclResourceProviderType) ScopelessResourceNamePath ¶
func (*HclResourceProviderType) ScopelessResourceNamePath() api.ResolvedPath
func (*HclResourceProviderType) SetResourceName ¶
func (*HclResourceProviderType) SetResourceName(doc *gaby.YamlDoc, name string) error
func (*HclResourceProviderType) TypeDescription ¶
func (*HclResourceProviderType) TypeDescription() string
func (*HclResourceProviderType) YAMLToNative ¶
func (*HclResourceProviderType) YAMLToNative(yamlData []byte) ([]byte, error)