github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/apiserver/params/systemmanager.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package params 5 6 // DestroySystemArgs holds the arguments for destroying a system. 7 type DestroySystemArgs struct { 8 // DestroyEnvironments specifies whether or not the hosted environments 9 // should be destroyed as well. If this is not specified, and there are 10 // other hosted environments, the destruction of the system will fail. 11 DestroyEnvironments bool `json:"destroy-environments"` 12 13 // IgnoreBlocks specifies whether or not to ignore blocks 14 // on hosted environments. 15 IgnoreBlocks bool `json:"ignore-blocks"` 16 } 17 18 // EnvironmentBlockInfo holds information about an environment and its 19 // current blocks. 20 type EnvironmentBlockInfo struct { 21 Name string `json:"name"` 22 UUID string `json:"env-uuid"` 23 OwnerTag string `json:"owner-tag"` 24 Blocks []string `json:"blocks"` 25 } 26 27 // EnvironmentBlockInfoList holds information about the blocked environments 28 // for a system. 29 type EnvironmentBlockInfoList struct { 30 Environments []EnvironmentBlockInfo `json:"environments,omitempty"` 31 } 32 33 // RemoveBlocksArgs holds the arguments for the RemoveBlocks command. It is a 34 // struct to facilitate the easy addition of being able to remove blocks for 35 // individual environments at a later date. 36 type RemoveBlocksArgs struct { 37 All bool `json:"all"` 38 }