|
@@ -6,10 +6,12 @@ import (
|
|
|
"github.com/docker/docker/pkg/ulimit"
|
|
|
)
|
|
|
|
|
|
+// UlimitOpt defines a map of Ulimits
|
|
|
type UlimitOpt struct {
|
|
|
values *map[string]*ulimit.Ulimit
|
|
|
}
|
|
|
|
|
|
+// NewUlimitOpt creates a new UlimitOpt
|
|
|
func NewUlimitOpt(ref *map[string]*ulimit.Ulimit) *UlimitOpt {
|
|
|
if ref == nil {
|
|
|
ref = &map[string]*ulimit.Ulimit{}
|
|
@@ -17,6 +19,7 @@ func NewUlimitOpt(ref *map[string]*ulimit.Ulimit) *UlimitOpt {
|
|
|
return &UlimitOpt{ref}
|
|
|
}
|
|
|
|
|
|
+// Set validates a Ulimit and sets its name as a key in UlimitOpt
|
|
|
func (o *UlimitOpt) Set(val string) error {
|
|
|
l, err := ulimit.Parse(val)
|
|
|
if err != nil {
|
|
@@ -28,6 +31,7 @@ func (o *UlimitOpt) Set(val string) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+// String returns Ulimit values as a string.
|
|
|
func (o *UlimitOpt) String() string {
|
|
|
var out []string
|
|
|
for _, v := range *o.values {
|
|
@@ -37,6 +41,7 @@ func (o *UlimitOpt) String() string {
|
|
|
return fmt.Sprintf("%v", out)
|
|
|
}
|
|
|
|
|
|
+// GetList returns a slice of pointers to Ulimits.
|
|
|
func (o *UlimitOpt) GetList() []*ulimit.Ulimit {
|
|
|
var ulimits []*ulimit.Ulimit
|
|
|
for _, v := range *o.values {
|