subjectmappingbuiltin

package
v0.4.20 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2024 License: BSD-3-Clause-Clear Imports: 14 Imported by: 0

README

Testing an OPA builtin with a rego query

  1. Set up your main.go to be the following
func main() {
	logLevel := &slog.LevelVar{}
	logLevel.Set(slog.LevelDebug)

	opts := &slog.HandlerOptions{
		Level: logLevel,
	}
	logger := slog.New(slog.NewJSONHandler(os.Stdout, opts))

	slog.SetDefault(logger)

	subjectmappingbuiltin.JQBuiltin()

	if err := cmd.RootCommand.Execute(); err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
}
  1. Build the executable
cd service
go build -o opa++
  1. Create an example rego file
package sample

my_json = {
  "testing1": {
    "testing2": {
      "testing3": ["helloworld"]
    }
  }
}
req = ".testing1.testing2.testing3[]"

res := jq.evaluate(my_json, req)
  1. Perform the query
./opa++ eval -d example.rego 'data.sample.res'

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EvaluateCondition

func EvaluateCondition(condition *policy.Condition, entity flattening.Flattened) (bool, error)

func EvaluateConditionGroup

func EvaluateConditionGroup(conditionGroup *policy.ConditionGroup, entity flattening.Flattened) (bool, error)

func EvaluateSubjectMappingMultipleEntities added in v0.4.17

func EvaluateSubjectMappingMultipleEntities(attributeMappings map[string]*attributes.GetAttributeValuesByFqnsResponse_AttributeAndValue, entityRepresentations []*entityresolution.EntityRepresentation) (map[string][]string, error)

func EvaluateSubjectMappings

func EvaluateSubjectMappings(attributeMappings map[string]*attributes.GetAttributeValuesByFqnsResponse_AttributeAndValue, entityRepresentation *entityresolution.EntityRepresentation) ([]string, error)

func EvaluateSubjectSet

func EvaluateSubjectSet(subjectSet *policy.SubjectSet, entity flattening.Flattened) (bool, error)

func SubjectMappingBuiltin

func SubjectMappingBuiltin()

Types

This section is empty.

Jump to

Keyboard shortcuts

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