57 lines
1.8 KiB
Go
57 lines
1.8 KiB
Go
package sacloud
|
|
|
|
// Appliance アプライアンス基底クラス
|
|
type Appliance struct {
|
|
*Resource // ID
|
|
propAvailability // 有功状態
|
|
propName // 名称
|
|
propDescription // 説明
|
|
propPlanID // プラン
|
|
propServiceClass // サービスクラス
|
|
propInstance // インスタンス
|
|
propSwitch // スイッチ
|
|
propInterfaces // インターフェース配列
|
|
propIcon // アイコン
|
|
propTags // タグ
|
|
propCreatedAt // 作成日時
|
|
Class string `json:",omitempty"` // リソースクラス
|
|
SettingHash string `json:",omitempty"` // 設定ハッシュ値
|
|
|
|
}
|
|
|
|
//HACK Appliance:Zone.IDがRoute/LoadBalancerの場合でデータ型が異なるため
|
|
//それぞれのstruct定義でZoneだけ上書きした構造体を定義して使う
|
|
|
|
// ApplianceRemarkBase アプライアンス Remark 基底クラス
|
|
type ApplianceRemarkBase struct {
|
|
Servers []interface{} // 配下のサーバー群
|
|
|
|
Switch *ApplianceRemarkSwitch `json:",omitempty"` // 接続先スイッチ
|
|
VRRP *ApplianceRemarkVRRP `json:",omitempty"` // VRRP
|
|
Network *ApplianceRemarkNetwork `json:",omitempty"` // ネットワーク
|
|
|
|
//Zone *Resource `json:",omitempty"`
|
|
//Plan *Resource
|
|
}
|
|
|
|
//type ApplianceServer struct {
|
|
// IPAddress string `json:",omitempty"`
|
|
//}
|
|
|
|
// ApplianceRemarkSwitch スイッチ
|
|
type ApplianceRemarkSwitch struct {
|
|
ID string `json:",omitempty"` // リソースID
|
|
propScope // スコープ
|
|
}
|
|
|
|
// ApplianceRemarkVRRP VRRP
|
|
type ApplianceRemarkVRRP struct {
|
|
VRID int // VRID
|
|
}
|
|
|
|
// ApplianceRemarkNetwork ネットワーク
|
|
type ApplianceRemarkNetwork struct {
|
|
NetworkMaskLen int `json:",omitempty"` // ネットワークマスク長
|
|
DefaultRoute string // デフォルトルート
|
|
|
|
}
|