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  }