示例#1
0
// scrubBindingRefs discards pieces of the object references that we don't respect to avoid confusion.
func (s strategy) scrubBindingRefs(binding *authorizationapi.PolicyBinding) {
	binding.PolicyRef = kapi.ObjectReference{Namespace: binding.PolicyRef.Namespace, Name: authorizationapi.PolicyName}

	for roleBindingKey, roleBinding := range binding.RoleBindings {
		roleBinding.RoleRef = kapi.ObjectReference{Namespace: binding.PolicyRef.Namespace, Name: roleBinding.RoleRef.Name}
		binding.RoleBindings[roleBindingKey] = roleBinding
	}
}
示例#2
0
// ReadOnlyPolicyBindingInterface exposes methods on PolicyBindings resources
func (t *testReadOnlyPolicyBinding) List(options kapi.ListOptions) (*authorizationapi.PolicyBindingList, error) {
	t.lock.Lock()
	defer t.lock.Unlock()

	ret := &authorizationapi.PolicyBindingList{}
	if t.binding != nil {
		returning := authorizationapi.PolicyBinding{}
		returning.RoleBindings = map[string]*authorizationapi.RoleBinding{}
		for k, v := range t.binding.RoleBindings {
			returning.RoleBindings[k] = v
		}

		ret.Items = []authorizationapi.PolicyBinding{returning}
	}

	return ret, nil
}
示例#3
0
func Convert_v1_PolicyBinding_To_api_PolicyBinding(in *PolicyBinding, out *newer.PolicyBinding, s conversion.Scope) error {
	if err := autoConvert_v1_PolicyBinding_To_api_PolicyBinding(in, out, s); err != nil {
		return err
	}
	if out.RoleBindings == nil {
		out.RoleBindings = make(map[string]*newer.RoleBinding)
	}
	return nil
}
示例#4
0
func addPolicyBinding(bindings map[string]map[string]authorizationapi.PolicyBinding, binding authorizationapi.PolicyBinding) {
	resourceVersion += 1
	binding.ResourceVersion = fmt.Sprintf("%d", resourceVersion)

	namespacedBindings, ok := bindings[binding.Namespace]
	if !ok {
		namespacedBindings = make(map[string]authorizationapi.PolicyBinding)
		bindings[binding.Namespace] = namespacedBindings
	}

	namespacedBindings[binding.Name] = binding
}
func autoConvert_v1_PolicyBinding_To_api_PolicyBinding(in *PolicyBinding, out *api.PolicyBinding, s conversion.Scope) error {
	if err := api_v1.Convert_v1_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil {
		return err
	}
	out.LastModified = in.LastModified
	if err := api_v1.Convert_v1_ObjectReference_To_api_ObjectReference(&in.PolicyRef, &out.PolicyRef, s); err != nil {
		return err
	}
	if err := Convert_v1_NamedRoleBindings_To_api_RoleBindingsByName(&in.RoleBindings, &out.RoleBindings, s); err != nil {
		return err
	}
	return nil
}
示例#6
0
func convert_v1_PolicyBinding_To_api_PolicyBinding(in *PolicyBinding, out *newer.PolicyBinding, s conversion.Scope) error {
	out.LastModified = in.LastModified
	out.RoleBindings = make(map[string]*newer.RoleBinding)
	return s.DefaultConvert(in, out, conversion.IgnoreMissingFields)
}