Documentation ¶
Overview ¶
package processor is used to process the library files.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LibArchetype ¶
type LibArchetype struct { Name string `json:"name"` PolicyAssignments mapset.Set[string] `json:"policy_assignments"` PolicyDefinitions mapset.Set[string] `json:"policy_definitions"` PolicySetDefinitions mapset.Set[string] `json:"policy_set_definitions"` RoleDefinitions mapset.Set[string] `json:"role_definitions"` }
LibArchetype represents an archetype definition file, it used to construct the Archetype struct and is then added to the AlzLib struct.
func (*LibArchetype) UnmarshalJSON ¶ added in v0.13.0
func (la *LibArchetype) UnmarshalJSON(data []byte) error
UnmarshalJSON creates a LibArchetype from the supplied JSON bytes.
type LibArchetypeOverride ¶ added in v0.13.0
type LibArchetypeOverride struct { Name string `json:"name"` BaseArchetype string `json:"base_archetype"` PolicyAssignmentsToAdd mapset.Set[string] `json:"policy_assignments_to_add"` PolicyAssignmentsToRemove mapset.Set[string] `json:"policy_assignments_to_remove"` PolicyDefinitionsToAdd mapset.Set[string] `json:"policy_definitions_to_add"` PolicyDefinitionsToRemove mapset.Set[string] `json:"policy_definitions_to_remove"` PolicySetDefinitionsToAdd mapset.Set[string] `json:"policy_set_definitions_to_add"` PolicySetDefinitionsToRemove mapset.Set[string] `json:"policy_set_definitions_to_remove"` RoleDefinitionsToAdd mapset.Set[string] `json:"role_definitions_to_add"` RoleDefinitionsToRemove mapset.Set[string] `json:"role_definitions_to_remove"` }
LibArchetypeOverride represents an archetype override definition file, it used to construct generate a new Archetype struct from an existing full archetype and is then added to the AlzLib struct.
func (*LibArchetypeOverride) UnmarshalJSON ¶ added in v0.13.0
func (lao *LibArchetypeOverride) UnmarshalJSON(data []byte) error
type ProcessorClient ¶
type ProcessorClient struct {
// contains filtered or unexported fields
}
ProcessorClient is the client that is used to process the library files.
func NewProcessorClient ¶
func NewProcessorClient(fs fs.FS) *ProcessorClient
func (*ProcessorClient) Process ¶
func (client *ProcessorClient) Process(res *Result) error
type Result ¶
type Result struct { PolicyDefinitions map[string]*armpolicy.Definition PolicySetDefinitions map[string]*armpolicy.SetDefinition PolicyAssignments map[string]*armpolicy.Assignment RoleDefinitions map[string]*armauthorization.RoleDefinition LibArchetypes map[string]*LibArchetype LibArchetypeOverrides map[string]*LibArchetypeOverride }
Result is the structure that gets built by scanning the library files.
Click to show internal directories.
Click to hide internal directories.