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  }