func()

in deployment/hierarchy.go [130:151]


func (h *Hierarchy) AddDefaultPolicyAssignmentValue(ctx context.Context, defaultName string, defaultValue *armpolicy.ParameterValuesValue) error {
	defs := h.alzlib.PolicyDefaultValue(defaultName)
	if defs == nil {
		return fmt.Errorf("Hierarchy.AddDefaultPolicyAssignmentValue: A default with name `%s` does not exist", defaultName)
	}
	// Get the policy assignments for each management group.
	for _, mg := range h.mgs {
		for assignment, params := range defs.PolicyAssignment2ParameterMap() {
			if _, ok := mg.policyAssignments[assignment]; !ok {
				continue
			}
			newParams := make(map[string]*armpolicy.ParameterValuesValue)
			for param := range params.Iter() {
				newParams[param] = defaultValue
			}
			if err := mg.ModifyPolicyAssignment(assignment, newParams, nil, nil, nil, nil, nil); err != nil {
				return fmt.Errorf("Hierarchy.AddDefaultPolicyAssignmentValue: error adding default `%s` policy assignment value to management group `%s` for policy assignment `%s`: %w", defaultName, mg.id, assignment, err)
			}
		}
	}
	return nil
}