Documentation
¶
Index ¶
- Constants
- Variables
- func GetSchema(path string) ([]byte, error)
- func GetSchemaPath(schemaName string) string
- func HasSchema(path string) bool
- func ListSchemas() ([]string, error)
- func PrefixSchema(path string) string
- func ToMap() (fileMap map[string]fs.DirEntry, err error)
- func Validate(schema string, data model.InterfaceOrBytes) oscalValidation.ValidationResult
- type ApiOpts
- type ApiSpec
- type Request
Constants ¶
View Source
const ( SCHEMA_SUFFIX = ".json" SCHEMA_PATH_PREFIX = "https://github.com/defenseunicorns/lula/tree/main/src/pkg/schemas/" )
Variables ¶
View Source
var Schemas embed.FS
Functions ¶
func GetSchemaPath ¶ added in v0.5.0
func PrefixSchema ¶
func Validate ¶
func Validate(schema string, data model.InterfaceOrBytes) oscalValidation.ValidationResult
Types ¶
type ApiOpts ¶ added in v0.16.0
type ApiOpts struct {
// Timeout in seconds
Timeout string `json:"timeout,omitempty" yaml:"timeout,omitempty"`
Proxy string `json:"proxy,omitempty" yaml:"proxy,omitempty"`
Headers map[string]string `json:"headers,omitempty" yaml:"headers,omitempty"`
}
User-defined options which can be set at the top level (for all requests) or request level (to apply to a single request, or override the top-level opts).
type ApiSpec ¶ added in v0.16.0
type ApiSpec struct {
Requests []Request `mapstructure:"requests" json:"requests" yaml:"requests"`
// Opts will be applied to all requests, except those which have their own
// specified ApiOpts
Options *ApiOpts `mapstructure:"options" json:"options,omitempty" yaml:"options,omitempty"`
}
User input fields for the API Domain ApiSpec contains the user-defined list of API requests
type Request ¶ added in v0.16.0
type Request struct {
Name string `json:"name" yaml:"name"`
URL string `json:"url" yaml:"url"`
Params map[string]string `json:"parameters,omitempty" yaml:"parameters,omitempty"`
Method string `json:"method,omitempty" yaml:"method,omitempty"`
Body string `json:"body,omitempty" yaml:"body,omitempty"`
Executable bool `json:"executable,omitempty" yaml:"executable,omitempty"`
// ApiOpts specific to this request. If ApiOpts is present, values in the
// ApiSpec-level Options are ignored for this request.
Options *ApiOpts `json:"options,omitempty" yaml:"options,omitempty"`
}
Request is a user-defined single API request
Click to show internal directories.
Click to hide internal directories.