mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package runtime
|
|
|
|
import "github.com/moby/moby/api/types/swarm"
|
|
|
|
func privilegesFromAPI(privs []*swarm.RuntimePrivilege) []*PluginPrivilege {
|
|
var out []*PluginPrivilege
|
|
for _, p := range privs {
|
|
out = append(out, &PluginPrivilege{
|
|
Name: p.Name,
|
|
Description: p.Description,
|
|
Value: p.Value,
|
|
})
|
|
}
|
|
return out
|
|
}
|
|
|
|
// FromAPI converts an API RuntimeSpec to a PluginSpec,
|
|
// which can be proto encoded.
|
|
func FromAPI(spec swarm.RuntimeSpec) PluginSpec {
|
|
return PluginSpec{
|
|
Name: spec.Name,
|
|
Remote: spec.Remote,
|
|
Privileges: privilegesFromAPI(spec.Privileges),
|
|
Disabled: spec.Disabled,
|
|
Env: spec.Env,
|
|
}
|
|
}
|
|
|
|
func privilegesToAPI(privs []*PluginPrivilege) []*swarm.RuntimePrivilege {
|
|
var out []*swarm.RuntimePrivilege
|
|
for _, p := range privs {
|
|
out = append(out, &swarm.RuntimePrivilege{
|
|
Name: p.Name,
|
|
Description: p.Description,
|
|
Value: p.Value,
|
|
})
|
|
}
|
|
return out
|
|
}
|
|
|
|
func ToAPI(spec PluginSpec) swarm.RuntimeSpec {
|
|
return swarm.RuntimeSpec{
|
|
Name: spec.Name,
|
|
Remote: spec.Remote,
|
|
Privileges: privilegesToAPI(spec.Privileges),
|
|
Disabled: spec.Disabled,
|
|
Env: spec.Env,
|
|
}
|
|
}
|