github.com/docker/compose-on-kubernetes@v0.5.0/api/compose/v1beta1/owner.go (about) 1 package v1beta1 2 3 import ( 4 "github.com/docker/compose-on-kubernetes/api/compose/impersonation" 5 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 6 "k8s.io/apimachinery/pkg/runtime" 7 ) 8 9 // Owner defines the owner of a stack. It is used to impersonate the controller calls 10 // to kubernetes api. 11 type Owner struct { 12 metav1.TypeMeta `json:",inline"` 13 metav1.ObjectMeta `json:"metadata,omitempty"` 14 Owner impersonation.Config `json:"owner,omitempty"` 15 } 16 17 func (o *Owner) clone() *Owner { 18 if o == nil { 19 return nil 20 } 21 result := new(Owner) 22 result.TypeMeta = o.TypeMeta 23 result.ObjectMeta = o.ObjectMeta 24 result.Owner = *result.Owner.Clone() 25 return result 26 } 27 28 // DeepCopyObject clones the owner 29 func (o *Owner) DeepCopyObject() runtime.Object { 30 return o.clone() 31 }