Documentation
¶
Index ¶
- Constants
- func Dependencies(p *policyv1.Policy) []string
- func GetSourceFile(p *policyv1.Policy) string
- func ReadBinaryPolicy(src io.Reader) (*policyv1.Policy, error)
- func ReadPolicy(src io.Reader) (*policyv1.Policy, error)
- func ReadPolicyFromFile(fsys fs.FS, path string) (*policyv1.Policy, error)
- func Validate(p *policyv1.Policy) error
- func WithMetadata(p *policyv1.Policy, source string, annotations map[string]string) *policyv1.Policy
- func WriteBinaryPolicy(dest io.Writer, p *policyv1.Policy) error
- func WritePolicy(dest io.Writer, p *policyv1.Policy) error
- type CompilationUnit
- type Kind
- type Wrapper
Constants ¶
const ( ResourceKindStr = "RESOURCE" PrincipalKindStr = "PRINCIPAL" DerivedRolesKindStr = "DERIVED_ROLES" )
Variables ¶
This section is empty.
Functions ¶
func Dependencies ¶
Dependencies returns the module names of dependencies of the policy.
func GetSourceFile ¶
GetSourceFile gets the source file name from metadata if it exists.
func ReadBinaryPolicy ¶ added in v0.9.0
ReadBinaryPolicy reads a policy from binary (protobuf encoding).
func ReadPolicy ¶
ReadPolicy reads a policy from the given reader.
func ReadPolicyFromFile ¶ added in v0.9.0
func WithMetadata ¶
func WithMetadata(p *policyv1.Policy, source string, annotations map[string]string) *policyv1.Policy
WithMetadata adds metadata to the policy.
func WriteBinaryPolicy ¶ added in v0.9.0
WriteBinaryPolicy writes a policy as binary (protobuf encoding).
Types ¶
type CompilationUnit ¶
type CompilationUnit struct { ModID namer.ModuleID Definitions map[namer.ModuleID]*policyv1.Policy }
CompilationUnit is the set of policies that need to be compiled together. For example, if a resource policy named R imports derived roles named D, the compilation unit will contain both R and D with the ModID field pointing to R because it is the main policy.
func (*CompilationUnit) AddDefinition ¶
func (cu *CompilationUnit) AddDefinition(id namer.ModuleID, p *policyv1.Policy)
func (*CompilationUnit) Key ¶
func (cu *CompilationUnit) Key() string
Key returns the human readable identifier for the main module.
func (*CompilationUnit) MainPolicy ¶ added in v0.9.0
func (cu *CompilationUnit) MainPolicy() *policyv1.Policy
func (*CompilationUnit) MainSourceFile ¶
func (cu *CompilationUnit) MainSourceFile() string