mirror of https://github.com/docker/cli.git
32 lines
770 B
Go
32 lines
770 B
Go
|
package v1beta1
|
||
|
|
||
|
import (
|
||
|
"github.com/docker/compose-on-kubernetes/api/compose/impersonation"
|
||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||
|
"k8s.io/apimachinery/pkg/runtime"
|
||
|
)
|
||
|
|
||
|
// Owner defines the owner of a stack. It is used to impersonate the controller calls
|
||
|
// to kubernetes api.
|
||
|
type Owner struct {
|
||
|
metav1.TypeMeta `json:",inline"`
|
||
|
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||
|
Owner impersonation.Config `json:"owner,omitempty"`
|
||
|
}
|
||
|
|
||
|
func (o *Owner) clone() *Owner {
|
||
|
if o == nil {
|
||
|
return nil
|
||
|
}
|
||
|
result := new(Owner)
|
||
|
result.TypeMeta = o.TypeMeta
|
||
|
result.ObjectMeta = o.ObjectMeta
|
||
|
result.Owner = *result.Owner.Clone()
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
// DeepCopyObject clones the owner
|
||
|
func (o *Owner) DeepCopyObject() runtime.Object {
|
||
|
return o.clone()
|
||
|
}
|