processor

package
v0.13.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 8 Imported by: 0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL