2019-12-24 20:33:05 +03:00
|
|
|
package client
|
|
|
|
|
2020-04-23 15:53:42 +03:00
|
|
|
type CreateOptions struct {
|
|
|
|
Namespace string
|
|
|
|
}
|
|
|
|
|
|
|
|
type GetOptions struct {
|
|
|
|
Namespace string
|
|
|
|
Labels map[string]string
|
|
|
|
}
|
|
|
|
type UpdateOptions struct {
|
|
|
|
Namespace string
|
|
|
|
}
|
|
|
|
type DeleteOptions struct {
|
|
|
|
Namespace string
|
|
|
|
}
|
|
|
|
type ListOptions struct {
|
|
|
|
Namespace string
|
|
|
|
}
|
|
|
|
|
2019-12-24 20:33:05 +03:00
|
|
|
type LogOptions struct {
|
2020-04-23 15:53:42 +03:00
|
|
|
Namespace string
|
|
|
|
Params map[string]string
|
2019-12-24 20:33:05 +03:00
|
|
|
}
|
|
|
|
|
2019-12-27 23:08:46 +03:00
|
|
|
type WatchOptions struct {
|
2020-04-23 15:53:42 +03:00
|
|
|
Namespace string
|
|
|
|
Params map[string]string
|
2019-12-27 23:08:46 +03:00
|
|
|
}
|
|
|
|
|
2020-04-23 15:53:42 +03:00
|
|
|
type CreateOption func(*CreateOptions)
|
|
|
|
type GetOption func(*GetOptions)
|
|
|
|
type UpdateOption func(*UpdateOptions)
|
|
|
|
type DeleteOption func(*DeleteOptions)
|
|
|
|
type ListOption func(*ListOptions)
|
2019-12-24 20:33:05 +03:00
|
|
|
type LogOption func(*LogOptions)
|
2019-12-27 23:08:46 +03:00
|
|
|
type WatchOption func(*WatchOptions)
|
2019-12-24 20:33:05 +03:00
|
|
|
|
|
|
|
// LogParams provides additional params for logs
|
|
|
|
func LogParams(p map[string]string) LogOption {
|
|
|
|
return func(l *LogOptions) {
|
|
|
|
l.Params = p
|
|
|
|
}
|
|
|
|
}
|
2019-12-27 23:08:46 +03:00
|
|
|
|
|
|
|
// WatchParams used for watch params
|
|
|
|
func WatchParams(p map[string]string) WatchOption {
|
|
|
|
return func(w *WatchOptions) {
|
|
|
|
w.Params = p
|
|
|
|
}
|
|
|
|
}
|
2020-04-23 15:53:42 +03:00
|
|
|
|
|
|
|
// CreateNamespace sets the namespace for creating a resource
|
|
|
|
func CreateNamespace(ns string) CreateOption {
|
|
|
|
return func(o *CreateOptions) {
|
|
|
|
o.Namespace = SerializeResourceName(ns)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetNamespace sets the namespace for getting a resource
|
|
|
|
func GetNamespace(ns string) GetOption {
|
|
|
|
return func(o *GetOptions) {
|
|
|
|
o.Namespace = SerializeResourceName(ns)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetLabels sets the labels for when getting a resource
|
|
|
|
func GetLabels(ls map[string]string) GetOption {
|
|
|
|
return func(o *GetOptions) {
|
|
|
|
o.Labels = ls
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateNamespace sets the namespace for updating a resource
|
|
|
|
func UpdateNamespace(ns string) UpdateOption {
|
|
|
|
return func(o *UpdateOptions) {
|
|
|
|
o.Namespace = SerializeResourceName(ns)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteNamespace sets the namespace for deleting a resource
|
|
|
|
func DeleteNamespace(ns string) DeleteOption {
|
|
|
|
return func(o *DeleteOptions) {
|
|
|
|
o.Namespace = SerializeResourceName(ns)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// ListNamespace sets the namespace for listing resources
|
|
|
|
func ListNamespace(ns string) ListOption {
|
|
|
|
return func(o *ListOptions) {
|
|
|
|
o.Namespace = SerializeResourceName(ns)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// LogNamespace sets the namespace for logging a resource
|
|
|
|
func LogNamespace(ns string) LogOption {
|
|
|
|
return func(o *LogOptions) {
|
|
|
|
o.Namespace = SerializeResourceName(ns)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// WatchNamespace sets the namespace for watching a resource
|
|
|
|
func WatchNamespace(ns string) WatchOption {
|
|
|
|
return func(o *WatchOptions) {
|
|
|
|
o.Namespace = SerializeResourceName(ns)
|
|
|
|
}
|
|
|
|
}
|