Documentation ¶
Index ¶
- Variables
- type Certification
- type Component
- type Control
- type CoveredBy
- type CoveredByList
- type GeneralReference
- type GeneralReferences
- type OpenControl
- type RemoteSource
- type Satisfies
- type Section
- type Standard
- type Verification
- type VerificationReference
- type VerificationReferences
- type Verifications
- type Workspace
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNoDataToParse represents the case that there is no data to be found to be parsed (either nil or empty). ErrNoDataToParse = errors.New("No data to parse") // ErrUnknownSchemaVersion is thrown when the schema version is unknown to the parser. ErrUnknownSchemaVersion = errors.New("Unknown schema version") // ErrCantParseSemver is thrown when the semantic versioning can not be parsed. ErrCantParseSemver = errors.New("Can't parse semantic versioning of schema_version") // ErrReadFile is raised when a file can not be read ErrReadFile = errors.New("Unable to read the file") // ErrCertificationSchema is raised a certification cannot be parsed ErrCertificationSchema = errors.New("Unable to parse certification") // ErrStandardSchema is raised a standard cannot be parsed ErrStandardSchema = errors.New("Unable to parse standard") )
Functions ¶
This section is empty.
Types ¶
type Certification ¶
type Certification interface { GetKey() string GetSortedStandards() []string GetControlKeysFor(standardKey string) []string }
Certification is the interface for getting all the attributes for a given certification. Schema info: https://github.com/opencontrol/schemas#certifications
GetKey returns the the unique key that represents the name of the certification.
GetSortedStandards returns the list of sorted standard keys.
GetControlKeysFor returns the list of control keys for a given standard key.
type Component ¶
type Component interface { GetName() string GetKey() string SetKey(string) GetAllSatisfies() []Satisfies GetVerifications() *VerificationReferences GetReferences() *GeneralReferences GetVersion() semver.Version SetVersion(semver.Version) GetResponsibleRole() string }
Component is the basic building block for all systems. Schema info: https://github.com/opencontrol/schemas#component-yaml
GetName returns the name of the component ¶
GetKey returns the key for the component (may not be unique). Useful for creating directories.
SetKey sets the key for the component. Useful for overriding.
GetAllSatisfies gets all the Satisfies objects for the component.
GetVerifications get all the verifications.
GetReferences get all the references.
GetVersion returns the version ¶
SetVersion sets the version for the component.
GetResponsibleRole gets the responsible party / role for the component.
type Control ¶
Control is the interface for getting all the attributes for a given control. Schema info: https://github.com/opencontrol/schemas#standards-documentation
GetName returns the string representation of the control.
GetFamily returns which family the control belongs to.
type CoveredBy ¶
type CoveredBy struct { ComponentKey string `yaml:"component_key" json:"component_key"` VerificationKey string `yaml:"verification_key" json:"verification_key"` }
CoveredBy struct is the pointing mechanism for for referring to VerificationReferences in the documentation. This struct is a one-to-one mapping of `covered_by` in the component.yaml schema https://github.com/opencontrol/schemas#component-yaml
type GeneralReference ¶
type GeneralReference struct { Name string `yaml:"name" json:"name"` Path string `yaml:"path" json:"path"` Type string `yaml:"type" json:"type"` }
GeneralReference struct contains data for the name and path of a compliance reference. This struct is a one-to-one mapping of `references` in the component.yaml schema https://github.com/opencontrol/schemas#component-yaml
type GeneralReferences ¶
type GeneralReferences []GeneralReference
GeneralReferences a slice of type GeneralReference
func (GeneralReferences) Len ¶
func (slice GeneralReferences) Len() int
Len returns the length of the GeneralReferences slice
func (GeneralReferences) Less ¶
func (slice GeneralReferences) Less(i, j int) bool
Less returns true if a GeneralReference is less than another reference
func (GeneralReferences) Swap ¶
func (slice GeneralReferences) Swap(i, j int)
Swap swaps the two GeneralReferences
type OpenControl ¶
type OpenControl interface { GetCertifications() []string GetStandards() []string GetComponents() []string GetCertificationsDependencies() []RemoteSource GetStandardsDependencies() []RemoteSource GetComponentsDependencies() []RemoteSource }
OpenControl is an interface that every OpenControl yaml version should implement. Schema info: https://github.com/opencontrol/schemas#opencontrolyaml
GetCertifications retrieves the list of certifications ¶
GetStandards retrieves the list of standards ¶
GetComponents retrieves the list of components ¶
GetCertificationsDependencies retrieves the list of certifications that this config will inherit.
GetStandardsDependencies retrieves the list of standards that this config will inherit.
GetComponentsDependencies retrieves the list of components / systems that this config will inherit.
type RemoteSource ¶
type RemoteSource interface { GetURL() string GetContextDir() string GetRevision() string GetConfigFile() string }
RemoteSource is an interface that any remote sources should implement in order to know how to download them.
GetURL returns the URL of the resource.
GetContextDir returns the specific directory containing the OpenControl content.
GetRevision returns the specific revision of the resource.
GetConfigFile returns the config file to look at once the resource is downloaded.
type Satisfies ¶
type Satisfies interface { GetStandardKey() string GetControlKey() string GetNarratives() []Section GetParameters() []Section GetCoveredBy() CoveredByList GetControlOrigin() string GetControlOrigins() []string GetImplementationStatus() string GetImplementationStatuses() []string }
Satisfies contains information regarding how the component satisfies a given standard and control
GetStandardKey returns the standard ¶
GetControlKey returns the control ¶
GetNarratives gets all the general documentation for this particular standard and control ¶
GetParameters gets all the parameters for this particular standard and control ¶
GetCoveredBy gets the list of all the CoveredBy ¶
GetControlOrigin returns the control origin (only the first one if multiple)
GetControlOrigins returns all the control origins ¶
GetImplementationStatus returns the implementation status (only the first one if multiple)
GetImplementationStatuses returns all implementation statuses
type Section ¶
Section is a general holder that allows it to be used in something like a map
GetKey returns a unique key ¶
GetText returns the text for the section
type Standard ¶
type Standard interface { GetName() string GetControls() map[string]Control GetControl(string) Control GetSortedControls() []string }
Standard is the container of all the information for a particular Standard. Schema info: https://github.com/opencontrol/schemas#standards-documentation
GetName returns the name ¶
GetControls returns all controls associated with the standard ¶
GetControl returns a particular control ¶
GetSortedControls returns a list of sorted controls
type Verification ¶
Verification struct holds data for a specific component and verification This is an internal data structure that helps map standards and controls to components
type VerificationReference ¶
type VerificationReference struct { GeneralReference `yaml:",inline"` Key string `yaml:"key" json:"key"` }
VerificationReference struct is a general reference that verifies a specific control, it can be pointed to in the control documentation. This struct is a one-to-one mapping of `verifications` in the component.yaml schema https://github.com/opencontrol/schemas#component-yaml
type VerificationReferences ¶
type VerificationReferences []VerificationReference
VerificationReferences a slice of type VerificationReference
func (VerificationReferences) Get ¶
func (slice VerificationReferences) Get(key string) VerificationReference
Get returns a VerificationReference of the given key
func (VerificationReferences) Len ¶
func (slice VerificationReferences) Len() int
Len returns the length of the VerificationReference slice
func (VerificationReferences) Less ¶
func (slice VerificationReferences) Less(i, j int) bool
Less returns true if a VerificationReference is less than another reference
func (VerificationReferences) Swap ¶
func (slice VerificationReferences) Swap(i, j int)
Swap swaps the two VerificationReferences
type Verifications ¶
type Verifications []Verification
Verifications is a slice of type Verifications
func (Verifications) Len ¶
func (slice Verifications) Len() int
Len returns the length of the GeneralReferences slice
func (Verifications) Less ¶
func (slice Verifications) Less(i, j int) bool
Less returns true if a GeneralReference is less than another reference
func (Verifications) Swap ¶
func (slice Verifications) Swap(i, j int)
Swap swaps the two GeneralReferences
type Workspace ¶
type Workspace interface { LoadComponents(string) []error LoadStandards(string) []error LoadCertification(string) error GetCertification() Certification GetAllComponents() []Component GetComponent(componentKey string) (Component, bool) GetAllStandards() []Standard GetStandard(standardKey string) (Standard, bool) GetAllVerificationsWith(standardKey string, controlKey string) Verifications }
Workspace represents all the information such as components, standards, and certification as well as the result information such as the justifications.