Documentation
¶
Overview ¶
manifest contains the parsing and validation logic for a resource provider manifest.
Resource provider manifests are authored by users and used to define the resource types that a resource provider supports.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ResourceProvider ¶
type ResourceProvider struct { // Name is the resource provider name. This is also the namespace of the types defined by the resource provider. Name string `yaml:"name" validate:"required,resourceProviderNamespace"` // Types is a map of resource types in the resource provider. Types map[string]*ResourceType `yaml:"types" validate:"dive,keys,resourceType,endkeys,required"` }
ResourceProvider represents a resource provider manifest.
func ReadBytes ¶
func ReadBytes(data []byte) (*ResourceProvider, error)
ReadBytes reads a resource provider manifest from a byte slice.
func ReadFile ¶
func ReadFile(filePath string) (*ResourceProvider, error)
ReadFile reads a resource provider manifest from a file.
type ResourceType ¶
type ResourceType struct { // DefaultAPIVersion is the default API version for the resource type. DefaultAPIVersion *string `yaml:"defaultApiVersion,omitempty" validate:"omitempty,apiVersion"` // APIVersions is a map of API versions for the resource type. APIVersions map[string]*ResourceTypeAPIVersion `yaml:"apiVersions" validate:"dive,keys,apiVersion,endkeys,required"` }
ResourceType represents a resource type in a resource provider manifest.
type ResourceTypeAPIVersion ¶
type ResourceTypeAPIVersion struct { // Schema is the schema for the resource type. // // TODO: this allows anything right now, and will be ignored. We'll improve this in // a future pull-request. Schema any `yaml:"schema" validate:"required"` // Capabilities is a list of capabilities for the resource type. Capabilities []string `yaml:"capabilities" validate:"dive,capability"` }
Click to show internal directories.
Click to hide internal directories.