Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Provider = func(client dynamic.Interface, typeLookup K8STypeLookup) pipeline.ContextProvider { return &provider{ client: client, typeLookup: typeLookup, get: func(binding interface{}) (pipeline.Context, error) { switch sb := binding.(type) { case *v1alpha1.ServiceBinding: return &bindingImpl{ impl: impl{ conditions: make(map[string]*metav1.Condition), client: client, typeLookup: typeLookup, bindingMeta: &sb.ObjectMeta, statusSecretName: func() string { return sb.Status.Secret }, setStatusSecretName: func(name string) { sb.Status.Secret = name }, unstructuredBinding: func() (*unstructured.Unstructured, error) { return converter.ToUnstructured(sb) }, statusConditions: func() *[]metav1.Condition { return &sb.Status.Conditions }, ownerReference: func() metav1.OwnerReference { return sb.AsOwnerReference() }, groupVersionResource: func() schema.GroupVersionResource { return v1alpha1.GroupVersionResource }, }, serviceBinding: sb, }, nil } return nil, fmt.Errorf("cannot create context for passed instance %v", binding) }, } }
View Source
var SpecProvider = func(client dynamic.Interface, typeLookup K8STypeLookup) pipeline.ContextProvider { return &provider{ client: client, typeLookup: typeLookup, get: func(binding interface{}) (pipeline.Context, error) { switch sb := binding.(type) { case *v1alpha2.ServiceBinding: if sb.Generation != 0 { sb.Status.ObservedGeneration = sb.Generation } ctx := &specImpl{ impl: impl{ conditions: make(map[string]*metav1.Condition), client: client, typeLookup: typeLookup, bindingMeta: &sb.ObjectMeta, statusSecretName: func() string { if sb.Status.Binding == nil { return "" } return sb.Status.Binding.Name }, setStatusSecretName: func(name string) { sb.Status.Binding = &v1alpha2.ServiceBindingSecretReference{Name: name} }, unstructuredBinding: func() (*unstructured.Unstructured, error) { return converter.ToUnstructured(sb) }, statusConditions: func() *[]metav1.Condition { return &sb.Status.Conditions }, ownerReference: func() metav1.OwnerReference { return sb.AsOwnerReference() }, groupVersionResource: func() schema.GroupVersionResource { return v1alpha2.GroupVersionResource }, }, serviceBinding: sb, } if sb.Spec.Type != "" { ctx.AddBindingItem(&pipeline.BindingItem{Name: "type", Value: sb.Spec.Type}) } if sb.Spec.Provider != "" { ctx.AddBindingItem(&pipeline.BindingItem{Name: "provider", Value: sb.Spec.Provider}) } return ctx, nil } return nil, fmt.Errorf("cannot create context for passed instance %v", binding) }, } }
Functions ¶
This section is empty.
Types ¶
type K8STypeLookup ¶
type K8STypeLookup interface {
ResourceForReferable(obj kubernetes.Referable) (*schema.GroupVersionResource, error)
ResourceForKind(gvk schema.GroupVersionKind) (*schema.GroupVersionResource, error)
KindForResource(gvr schema.GroupVersionResource) (*schema.GroupVersionKind, error)
}
func ResourceLookup ¶
func ResourceLookup(restMapper meta.RESTMapper) K8STypeLookup
Source Files
¶
Click to show internal directories.
Click to hide internal directories.