naked

package
v2.32.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIKey added in v2.5.0

type APIKey struct {
	ID types.ID `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

type Account

type Account struct {
	ID    types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name  string   `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Class string   `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"` // リソースクラス
	Code  string   `json:",omitempty" yaml:"code,omitempty" structs:",omitempty"`  // アカウントコード
}

Account さくらのクラウド アカウント

type AppliancePlan

type AppliancePlan struct {
	ID types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
}

AppliancePlan アプライアンスプラン

type ApplianceRemark

type ApplianceRemark struct {
	Zone            *ApplianceRemarkZone          `json:",omitempty" yaml:"zone,omitempty" structs:",omitempty"`
	Switch          *ApplianceRemarkSwitch        `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
	VRRP            *ApplianceVRRP                `json:",omitempty" yaml:"vrrp,omitempty" structs:",omitempty"`
	Network         *ApplianceRemarkNetwork       `json:",omitempty" yaml:"network,omitempty" structs:",omitempty"`
	Servers         ApplianceRemarkServers        `yaml:"servers"`
	Plan            *AppliancePlan                `json:",omitempty" yaml:"plan,omitempty" structs:",omitempty"`
	DBConf          *ApplianceRemarkDBConf        `json:",omitempty" yaml:"db_conf,omitempty" structs:",omitempty"`        // for database
	SourceAppliance *ApplianceSource              `json:",omitempty" yaml:"db_conf,omitempty" structs:",omitempty"`        // for database
	MobileGateway   *ApplianceRemarkMobileGateway `json:",omitempty" yaml:"mobile_gateway,omitempty" structs:",omitempty"` // for mobile gateway
	Router          *ApplianceRemarkRouter        `json:",omitempty" yaml:"router,omitempty" structs:",omitempty"`         // for vpc router
}

ApplianceRemark アプライアンスの設定/ステータスなど

Appliance.Remarkを表現する

type ApplianceRemarkDBConf

type ApplianceRemarkDBConf struct {
	Common *ApplianceRemarkDBConfCommon `json:",omitempty" yaml:"common,omitempty" structs:",omitempty"`
}

ApplianceRemarkDBConf データベース設定

type ApplianceRemarkDBConfCommon

type ApplianceRemarkDBConfCommon struct {
	DatabaseName     string `json:",omitempty" yaml:"database_name,omitempty" structs:",omitempty"`
	DatabaseVersion  string `json:",omitempty" yaml:"database_version,omitempty" structs:",omitempty"`
	DatabaseRevision string `json:",omitempty" yaml:"database_revision,omitempty" structs:",omitempty"`
	DefaultUser      string `json:",omitempty" yaml:"default_user,omitempty" structs:",omitempty"`
	UserPassword     string `json:",omitempty" yaml:"user_password,omitempty" structs:",omitempty"`
}

ApplianceRemarkDBConfCommon データベース設定

type ApplianceRemarkMobileGateway added in v2.9.0

type ApplianceRemarkMobileGateway struct {
	GlobalAddress string
}

ApplianceRemarkMobileGateway モバイルゲートウェイのグローバルIP

type ApplianceRemarkNetwork

type ApplianceRemarkNetwork struct {
	DefaultRoute   string `json:",omitempty" yaml:"default_route,omitempty" structs:",omitempty"`
	NetworkMaskLen int    `json:",omitempty" yaml:"network_mask_len,omitempty" structs:",omitempty"`
}

ApplianceRemarkNetwork Appliance ネットワーク設定

func (*ApplianceRemarkNetwork) UnmarshalJSON

func (s *ApplianceRemarkNetwork) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列/オブジェクトが混在することへの対応

type ApplianceRemarkRouter added in v2.12.0

type ApplianceRemarkRouter struct {
	VPCRouterVersion int `json:",omitempty" yaml:"vpc_router_version,omitempty" structs:",omitempty"`
}

ApplianceRemarkRouter VPCルータのバージョンなど

type ApplianceRemarkServer

type ApplianceRemarkServer struct {
	IPAddress string `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
}

ApplianceRemarkServer Applianceの稼働している仮想サーバのIPアドレス

func (*ApplianceRemarkServer) UnmarshalJSON

func (s *ApplianceRemarkServer) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列/オブジェクトが混在することへの対応

type ApplianceRemarkServers

type ApplianceRemarkServers []*ApplianceRemarkServer

ApplianceRemarkServers Applianceの稼働している仮想サーバのIPアドレス

func (*ApplianceRemarkServers) MarshalJSON

func (s *ApplianceRemarkServers) MarshalJSON() ([]byte, error)

MarshalJSON APIの要求するJSONフォーマットへの変換

値がからの場合に配列、かつ内部に空オブジェクトを指定する。(主にVPCルータへの対応)

func (*ApplianceRemarkServers) UnmarshalJSON

func (s *ApplianceRemarkServers) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列/オブジェクトが混在することへの対応

type ApplianceRemarkSwitch

type ApplianceRemarkSwitch struct {
	ID    types.ID     `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Scope types.EScope `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
}

ApplianceRemarkSwitch Applianceに接続されているスイッチのID

type ApplianceRemarkZone

type ApplianceRemarkZone struct {
	ID types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
}

ApplianceRemarkZone Applianceの属するゾーンのID

type ApplianceSource

type ApplianceSource struct {
	ID types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
}

ApplianceSource クローン元アプライアンス データベースのクローン時に利用

func (*ApplianceSource) UnmarshalJSON

func (s *ApplianceSource) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列/オブジェクトが混在することへの対応

type ApplianceVRRP

type ApplianceVRRP struct {
	VRID int `json:",omitempty" yaml:"vrid,omitempty" structs:",omitempty"`
}

ApplianceVRRP アプライアンスのVRRPの設定

type Archive

type Archive struct {
	ID              types.ID              `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name            string                `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description     string                `yaml:"description"`
	Tags            types.Tags            `yaml:"tags"`
	Icon            *Icon                 `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt       *time.Time            `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt      *time.Time            `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability    types.EAvailability   `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	DisplayOrder    int                   `json:",omitempty" yaml:"display_order,omitempty" structs:",omitempty"`
	ServiceClass    string                `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	SizeMB          int                   `json:",omitempty" yaml:"size_mb,omitempty" structs:",omitempty"`
	MigratedMB      int                   `json:",omitempty" yaml:"migrated_mb,omitempty" structs:",omitempty"`
	JobStatus       *MigrationJobStatus   `json:",omitempty" yaml:"job_status,omitempty" structs:",omitempty"`
	Plan            *DiskPlan             `json:",omitempty" yaml:"plan,omitempty" structs:",omitempty"`
	SourceDisk      *Disk                 `json:",omitempty" yaml:"source_disk,omitempty" structs:",omitempty"`
	SourceArchive   *Archive              `json:",omitempty" yaml:"source_archive,omitempty" structs:",omitempty"`
	BundleInfo      *BundleInfo           `json:",omitempty" yaml:"bundle_info,omitempty" structs:",omitempty"`
	Storage         *Storage              `json:",omitempty" yaml:"storage,omitempty" structs:",omitempty"`
	Scope           types.EScope          `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
	OriginalArchive *OriginalArchive      `json:",omitempty" yaml:"original_archive,omitempty" structs:",omitempty"`
	SourceInfo      *SourceArchive        `json:",omitempty" yaml:"source_info,omitempty" structs:",omitempty"`
	SourceSharedKey types.ArchiveShareKey `json:",omitempty" yaml:"source_shared_key,omitempty" structs:",omitempty"`
}

Archive アーカイブ

type ArchiveShareInfo added in v2.2.0

type ArchiveShareInfo struct {
	SharedKey types.ArchiveShareKey `yaml:"shared_key"`
}

ArchiveShareInfo 共有アーカイブ作成レスポンス

type AuthStatus

type AuthStatus struct {
	Account            *Account                 // アカウント
	Member             *Member                  // 会員情報
	AuthClass          types.EAuthClass         `json:",omitempty" yaml:"auth_class,omitempty" structs:",omitempty"`          // 認証クラス
	AuthMethod         types.EAuthMethod        `json:",omitempty" yaml:"auth_method,omitempty" structs:",omitempty"`         // 認証方法
	ExternalPermission types.ExternalPermission `json:",omitempty" yaml:"external_permission,omitempty" structs:",omitempty"` // 他サービスへのアクセス権
	IsAPIKey           bool                     `yaml:"is_api_key"`                                                           // APIキーでのアクセスフラグ
	OperationPenalty   types.EOperationPenalty  `json:",omitempty" yaml:"operation_penalty,omitempty" structs:",omitempty"`   // オペレーションペナルティ
	Permission         types.EPermission        `json:",omitempty" yaml:"permission,omitempty" structs:",omitempty"`          // 権限
}

AuthStatus 現在の認証状態

type AutoBackup

type AutoBackup struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Provider     *Provider           `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *AutoBackupSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string              `json:",omitempty" yaml:"setting_hash,omitempty" structs:",omitempty"`
	Status       *AutoBackupStatus   `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
}

AutoBackup 自動バックアップ

type AutoBackupSetting

type AutoBackupSetting struct {
	BackupSpanType          types.EBackupSpanType      `json:",omitempty" yaml:"backup_span_type,omitempty" structs:",omitempty"`
	BackupSpanWeekdays      []types.EBackupSpanWeekday `json:",omitempty" yaml:"backup_span_weekdays,omitempty" structs:",omitempty"`
	MaximumNumberOfArchives int                        `json:",omitempty" yaml:"maximum_number_of_archives,omitempty" structs:",omitempty"`
}

AutoBackupSetting 自動バックアップ設定

type AutoBackupSettings

type AutoBackupSettings struct {
	Autobackup *AutoBackupSetting `json:",omitempty" yaml:"autobackup,omitempty" structs:",omitempty"` // HACK: 注: API側がキャメルケースになっていない
}

AutoBackupSettings 自動バックアップ設定

type AutoBackupSettingsUpdate

type AutoBackupSettingsUpdate struct {
	Settings     *AutoBackupSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string              `json:",omitempty" yaml:"setting_hash,omitempty" structs:",omitempty"`
}

AutoBackupSettingsUpdate 自動バックアップ

type AutoBackupStatus

type AutoBackupStatus struct {
	DiskID    types.ID `json:"DiskId,omitempty" yaml:"disk_id,omitempty" structs:",omitempty"`
	AccountID types.ID `json:"AccountId,omitempty" yaml:"account_id,omitempty" structs:",omitempty"`
	ZoneID    types.ID `json:"ZoneId,omitempty" yaml:"zone_id,omitempty" structs:",omitempty"`
	ZoneName  string   `json:",omitempty" yaml:"zone_name,omitempty" structs:",omitempty"`
}

AutoBackupStatus 自動バックアップステータス

type Bill

type Bill struct {
	ID             types.ID   `json:"BillID,omitempty" yaml:"bill_id,omitempty" structs:",omitempty"`    // 請求ID
	Amount         int64      `json:",omitempty" yaml:"amount,omitempty" structs:",omitempty"`           // 金額
	Date           *time.Time `json:",omitempty" yaml:"date,omitempty" structs:",omitempty"`             // 請求日
	MemberID       string     `json:",omitempty" yaml:"member_id,omitempty" structs:",omitempty"`        // 会員ID
	Paid           bool       `yaml:"paid"`                                                              // 支払済フラグ
	PayLimit       *time.Time `json:",omitempty" yaml:"pay_limit,omitempty" structs:",omitempty"`        // 支払い期限
	PaymentClassID types.ID   `json:",omitempty" yaml:"payment_class_id,omitempty" structs:",omitempty"` // 支払いクラスID
}

Bill 請求情報

type BillDetail

type BillDetail struct {
	ID               types.ID   `json:"ContractID,omitempty" yaml:"contract_id,omitempty" structs:",omitempty"` // 契約ID
	Amount           int64      `json:",omitempty" yaml:"amount,omitempty" structs:",omitempty"`                // 金額
	Description      string     `yaml:"description"`                                                            // 説明
	Index            int        `json:",omitempty" yaml:"index,omitempty" structs:",omitempty"`                 // インデックス
	ServiceClassID   types.ID   `json:",omitempty" yaml:"service_class_id,omitempty" structs:",omitempty"`      // サービスクラスID
	ServiceClassPath string     `json:",omitempty" yaml:"service_class_path,omitempty" structs:",omitempty"`    // サービスクラスパス
	Usage            int64      `json:",omitempty" yaml:"usage,omitempty" structs:",omitempty"`                 // 利用量(秒数など)
	FormattedUsage   string     `json:",omitempty" yaml:"formatted_usage,omitempty" structs:",omitempty"`       // 利用量(フォーマット済)
	ServiceUsagePath string     `json:",omitempty" yaml:"service_class_path,omitempty" structs:",omitempty"`    // サービス利用量の種類
	Zone             string     `json:",omitempty" yaml:"zone,omitempty" structs:",omitempty"`                  // ゾーン
	ContractEndAt    *time.Time `json:",omitempty" yaml:"contract_end_at,omitempty" structs:",omitempty"`       // 契約終了日時
}

BillDetail 支払い明細情報

func (*BillDetail) IsContractEnded

func (d *BillDetail) IsContractEnded(t time.Time) bool

IsContractEnded 支払済か判定

type BillDetailCSV

type BillDetailCSV struct {
	// Count 件数
	Count int `json:",omitempty"`
	// ResponsedAt 応答日時
	ResponsedAt *time.Time `json:",omitempty"`
	// Filename ファイル名
	Filename string `json:",omitempty"`
	// RawBody ボディ(未加工)
	RawBody string `json:"Body,omitempty"`
	// HeaderRow ヘッダ行
	HeaderRow []string
	// BodyRows ボディ(各行/各列での配列)
	BodyRows [][]string
}

BillDetailCSV 請求明細CSVレスポンス

type Bridge

type Bridge struct {
	ID           types.ID          `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string            `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string            `yaml:"description"`
	ServiceClass string            `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time        `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	Region       *Region           `json:",omitempty" yaml:"region,omitempty" structs:",omitempty"`
	Info         *BridgeInfo       `json:",omitempty" yaml:"info,omitempty" structs:",omitempty"`
	SwitchInZone *BridgeSwitchInfo `json:",omitempty" yaml:"switch_in_zone,omitempty" structs:",omitempty"`
}

Bridge ブリッジ

type BridgeInfo

type BridgeInfo struct {
	Switches []*Switch `json:",omitempty" yaml:"switches,omitempty" structs:",omitempty"`
}

BridgeInfo ブリッジに接続されているスイッチの情報

type BridgeSwitchInfo

type BridgeSwitchInfo struct {
	ID             types.ID     `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Scope          types.EScope `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
	Name           string       `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	ServerCount    int          `json:",omitempty" yaml:"server_count,omitempty" structs:",omitempty"`
	ApplianceCount int          `json:",omitempty" yaml:"appliance_count,omitempty" structs:",omitempty"`
}

BridgeSwitchInfo ゾーン内での接続スイッチ情報

type BundleInfo

type BundleInfo struct {
	ID           types.ID `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	HostClass    string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	ServiceClass string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

BundleInfo バンドル情報

type CDROM

type CDROM struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	DisplayOrder int                 `json:",omitempty" yaml:"display_order,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Scope        types.EScope        `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
	StorageClass string              `json:",omitempty" yaml:"storage_class,omitempty" structs:",omitempty"`
	SizeMB       int                 `json:",omitempty" yaml:"size_mb,omitempty" structs:",omitempty"`
	Storage      *Storage            `json:",omitempty" yaml:"storage,omitempty" structs:",omitempty"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
}

CDROM ISOイメージ

type CertificateAuthority added in v2.26.0

type CertificateAuthority struct {
	ID           types.ID                      `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string                        `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string                        `yaml:"description"`
	Tags         types.Tags                    `yaml:"tags"`
	Icon         *Icon                         `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time                    `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time                    `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability           `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	ServiceClass string                        `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Provider     *Provider                     `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *CertificateAuthoritySettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                        `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Status       *CertificateAuthorityStatus   `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
}

CertificateAuthority プライベートCA

type CertificateAuthorityAddClientOrServerResult added in v2.26.0

type CertificateAuthorityAddClientOrServerResult struct {
	ID string `json:"id,omitempty" yaml:"id,omitempty" structs:",omitempty"`
}

type CertificateAuthorityAddClientParameter added in v2.26.0

type CertificateAuthorityAddClientParameter struct {
	Status *CertificateAuthorityAddClientParameterBody `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

type CertificateAuthorityAddClientParameterBody added in v2.26.0

type CertificateAuthorityAddClientParameterBody struct {
	Country                   string                                    `json:"country,omitempty" yaml:"country,omitempty" structs:",omitempty"`
	Organization              string                                    `json:"organization,omitempty" yaml:"organization,omitempty" structs:",omitempty"`
	OrganizationUnit          []string                                  `json:"organization_unit,omitempty" yaml:"organization_unit,omitempty" structs:",omitempty"`
	CommonName                string                                    `json:"common_name,omitempty" yaml:"common_name,omitempty" structs:",omitempty"`
	NotAfter                  time.Time                                 `json:"not_after,omitempty" yaml:"not_after,omitempty" structs:",omitempty"`
	EMail                     string                                    `json:"email,omitempty" yaml:"email,omitempty" structs:",omitempty"`
	IssuanceMethod            types.ECertificateAuthorityIssuanceMethod `json:"issuance_method,omitempty" yaml:"issuance_method,omitempty" structs:",omitempty"`
	CertificateSigningRequest string                                    `json:"certificate_signing_request,omitempty" yaml:"certificate_signing_request,omitempty" structs:",omitempty"`
	PublicKey                 string                                    `json:"public_key,omitempty" yaml:"public_key,omitempty" structs:",omitempty"`
}

type CertificateAuthorityAddServerParameter added in v2.26.0

type CertificateAuthorityAddServerParameter struct {
	Status *CertificateAuthorityAddServerParameterBody `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

type CertificateAuthorityAddServerParameterBody added in v2.26.0

type CertificateAuthorityAddServerParameterBody struct {
	Country                   string    `json:"country,omitempty" yaml:"country,omitempty" structs:",omitempty"`
	Organization              string    `json:"organization,omitempty" yaml:"organization,omitempty" structs:",omitempty"`
	OrganizationUnit          []string  `json:"organization_unit,omitempty" yaml:"organization_unit,omitempty" structs:",omitempty"`
	CommonName                string    `json:"common_name,omitempty" yaml:"common_name,omitempty" structs:",omitempty"`
	NotAfter                  time.Time `json:"not_after,omitempty" yaml:"not_after,omitempty" structs:",omitempty"`
	SANs                      []string  `json:"sans,omitempty" yaml:"sans,omitempty" structs:",omitempty"`
	CertificateSigningRequest string    `json:"certificate_signing_request,omitempty" yaml:"certificate_signing_request,omitempty" structs:",omitempty"`
	PublicKey                 string    `json:"public_key,omitempty" yaml:"public_key,omitempty" structs:",omitempty"`
}

type CertificateAuthorityClientDetail added in v2.26.0

type CertificateAuthorityClientDetail struct {
	ID              string                                    `json:"id,omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Subject         string                                    `json:"subject,omitempty" yaml:"subject,omitempty" structs:",omitempty"`
	EMail           string                                    `json:"email,omitempty" yaml:"email,omitempty" structs:",omitempty"`
	IssuanceMethod  types.ECertificateAuthorityIssuanceMethod `json:"issuance_method,omitempty" yaml:"issuance_method,omitempty" structs:",omitempty"`
	IssueState      string                                    `json:"issue_state,omitempty" yaml:"issue_state,omitempty" structs:",omitempty"`
	CertificateData *CertificateData                          `json:"certificate_data,omitempty" yaml:"certificate_data,omitempty" structs:",omitempty"`
	URL             string                                    `json:"url,omitempty" yaml:"url,omitempty" structs:",omitempty"`
}

CertificateAuthorityClientDetail クライアント証明書の詳細情報

GET /commonserviceitem/:id/certificateauthority/clientsの戻り値を構成する (実際にはFind系のラッパーがある)

type CertificateAuthorityDetail added in v2.26.0

type CertificateAuthorityDetail struct {
	Subject         string           `json:"subject,omitempty" yaml:"subject,omitempty" structs:",omitempty"`
	CertificateData *CertificateData `json:"certificate_data,omitempty" yaml:"certificate_data,omitempty" structs:",omitempty"`
}

CertificateAuthorityDetail CAの詳細情報

GET /commonserviceitem/:id/certificateauthorityの戻り値

type CertificateAuthorityServerDetail added in v2.26.0

type CertificateAuthorityServerDetail struct {
	ID              string           `json:"id,omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Subject         string           `json:"subject,omitempty" yaml:"subject,omitempty" structs:",omitempty"`
	SANs            []string         `json:"sans,omitempty" yaml:"sans,omitempty" structs:",omitempty"`
	EMail           string           `json:"email,omitempty" yaml:"email,omitempty" structs:",omitempty"`
	IssueState      string           `json:"issue_state,omitempty" yaml:"issue_state,omitempty" structs:",omitempty"`
	CertificateData *CertificateData `json:"certificate_data,omitempty" yaml:"certificate_data,omitempty" structs:",omitempty"`
	URL             string           `json:"url,omitempty" yaml:"url,omitempty" structs:",omitempty"` // 常に空のはず
}

CertificateAuthorityServerDetail サーバ証明書の詳細情報

GET /commonserviceitem/:id/certificateauthority/serversの戻り値を構成する (実際にはFind系のラッパーがある)

type CertificateAuthoritySettings added in v2.26.0

type CertificateAuthoritySettings struct {
}

CertificateAuthoritySettings CertificateAuthorityセッティング

type CertificateAuthorityStatus added in v2.26.0

type CertificateAuthorityStatus struct {
	Country          string    `json:"country,omitempty" yaml:"country,omitempty" structs:",omitempty"`
	Organization     string    `json:"organization,omitempty" yaml:"organization,omitempty" structs:",omitempty"`
	OrganizationUnit []string  `json:"organization_unit,omitempty" yaml:"organization_unit,omitempty" structs:",omitempty"`
	CommonName       string    `json:"common_name,omitempty" yaml:"common_name,omitempty" structs:",omitempty"`
	NotAfter         time.Time `json:"not_after,omitempty" yaml:"not_after,omitempty" structs:",omitempty"`
	Subject          string    `json:"subject,omitempty" yaml:"subject,omitempty" structs:",omitempty"`
}

CertificateAuthorityStatus CertificateAuthorityステータス

type CertificateData added in v2.26.0

type CertificateData struct {
	CertificatePEM string    `json:"certificate_pem,omitempty" yaml:"certificate_pem,omitempty" structs:",omitempty"`
	Subject        string    `json:"subject,omitempty" yaml:"subject,omitempty" structs:",omitempty"`
	SerialNumber   string    `json:"serial_number,omitempty" yaml:"serial_number,omitempty" structs:",omitempty"`
	NotBefore      time.Time `json:"not_before,omitempty" yaml:"not_before,omitempty" structs:",omitempty"`
	NotAfter       time.Time `json:"not_after,omitempty" yaml:"not_after,omitempty" structs:",omitempty"`
}

CertificateData CA/クライアント/サーバの各証明書の情報

type CloudInitParameter added in v2.24.0

type CloudInitParameter struct {
	UserData string
}

CloudInitParameter cloud-initに渡すUserData

Note: libsacloudレベルではUserData(cloud-config)は文字列として扱い中身までは関知しない

type ConnectedSwitch

type ConnectedSwitch struct {
	ID    types.ID     `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Scope types.EScope `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
}

ConnectedSwitch サーバ作成時に指定する接続先スイッチ

type ContainerRegistry

type ContainerRegistry struct {
	ID           types.ID                   `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string                     `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string                     `yaml:"description"`
	Tags         types.Tags                 `yaml:"tags"`
	Icon         *Icon                      `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time                 `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time                 `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability        `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Provider     *Provider                  `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *ContainerRegistrySettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                     `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Status       *ContainerRegistryStatus   `json:",omitempty" yaml:"status" structs:",omitempty"`
	ServiceClass string                     `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
}

ContainerRegistry コンテナレジストリ

type ContainerRegistrySetting

type ContainerRegistrySetting struct {
	Public        types.EContainerRegistryAccessLevel `json:"public" yaml:"public"` // readwrite or readonly or none
	VirtualDomain string                              `json:"virtual_domain" yaml:"virtual_domain"`
}

ContainerRegistrySetting セッティング

type ContainerRegistrySettings

type ContainerRegistrySettings struct {
	ContainerRegistry *ContainerRegistrySetting `json:",omitempty" yaml:"container_registry,omitempty" structs:",omitempty"`
}

ContainerRegistrySettings セッティング

type ContainerRegistrySettingsUpdate

type ContainerRegistrySettingsUpdate struct {
	Settings     *ContainerRegistrySettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                     `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

ContainerRegistrySettingsUpdate コンテナレジストリ更新パラメータ

type ContainerRegistryStatus

type ContainerRegistryStatus struct {
	RegistryName string `json:"registry_name" yaml:"registry_name"`
	FQDN         string `json:"hostname,omitempty" yaml:"hostname,omitempty"`
}

ContainerRegistryStatus ステータス

type ContainerRegistryUser

type ContainerRegistryUser struct {
	UserName   string                             `json:"username,omitempty" yaml:"username,omitempty"`
	Password   string                             `json:"password,omitempty" yaml:"password,omitempty"`
	Permission types.EContainerRegistryPermission `json:"permission" yaml:"permission"`
}

ContainerRegistryUser コンテナレジストリのユーザ

type ContainerRegistryUsers

type ContainerRegistryUsers struct {
	Users []*ContainerRegistryUser `json:"users,omitempty"`
}

ContainerRegistryUsers コンテナレジストリのユーザ

type Coupon

type Coupon struct {
	ID             types.ID   `json:"CouponID,omitempty" yaml:",omitempty" structs:",omitempty"`         // クーポンID
	MemberID       string     `json:",omitempty" yaml:"member_id,omitempty" structs:",omitempty"`        // メンバーID
	ContractID     types.ID   `json:",omitempty" yaml:"contract_id,omitempty" structs:",omitempty"`      // 契約ID
	ServiceClassID types.ID   `json:",omitempty" yaml:"service_class_id,omitempty" structs:",omitempty"` // サービスクラスID
	Discount       int64      `json:",omitempty" yaml:"discount,omitempty" structs:",omitempty"`         // クーポン残高
	AppliedAt      *time.Time `json:",omitempty" yaml:"applied_at,omitempty" structs:",omitempty"`       // 適用開始日
	UntilAt        *time.Time `json:",omitempty" yaml:"until_at,omitempty" structs:",omitempty"`         // 有効期限
}

Coupon クーポン情報

type DNS

type DNS struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Provider     *Provider           `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *DNSSettings        `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string              `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Status       *DNSStatus          `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
}

DNS DNSゾーン

type DNSRecord

type DNSRecord struct {
	Name  string               `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`  // ホスト名
	Type  types.EDNSRecordType `json:",omitempty" yaml:"type,omitempty" structs:",omitempty"`  // レコードタイプ
	RData string               `json:",omitempty" yaml:"rdata,omitempty" structs:",omitempty"` // レコードデータ
	TTL   int                  `json:",omitempty" yaml:"ttl,omitempty" structs:",omitempty"`   // TTL
}

DNSRecord DNSレコード

type DNSSetting

type DNSSetting struct {
	ResourceRecordSets []*DNSRecord `yaml:"resource_record_sets"`
}

DNSSetting DNSセッティング

func (DNSSetting) MarshalJSON

func (ds DNSSetting) MarshalJSON() ([]byte, error)

MarshalJSON nullの場合に空配列を出力するための実装

type DNSSettings

type DNSSettings struct {
	DNS *DNSSetting `json:",omitempty" yaml:"dns,omitempty" structs:",omitempty"`
}

DNSSettings DNSセッティング

type DNSSettingsUpdate

type DNSSettingsUpdate struct {
	Settings     *DNSSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string       `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

DNSSettingsUpdate DNSゾーン

type DNSStatus

type DNSStatus struct {
	Zone string   `json:",omitempty" yaml:"zone,omitempty" structs:",omitempty"`
	NS   []string `json:",omitempty" yaml:"ns,omitempty" structs:",omitempty"`
}

DNSStatus DNSステータス

type Database

type Database struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Class        string              `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Plan         *AppliancePlan      `json:",omitempty" yaml:"plan,omitempty" structs:",omitempty"`
	Instance     *Instance           `json:",omitempty" yaml:"instance,omitempty" structs:",omitempty"`
	Interfaces   []*Interface        `json:",omitempty" yaml:"interfaces,omitempty" structs:",omitempty"`
	Switch       *Switch             `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
	Settings     *DatabaseSettings   `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string              `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Remark       *ApplianceRemark    `json:",omitempty" yaml:"remark,omitempty" structs:",omitempty"`

	Generation interface{}
}

Database データベース

type DatabaseBackupHistory

type DatabaseBackupHistory struct {
	CreatedAt    time.Time  `json:"createdat,omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	Availability string     `json:"availability,omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	RecoveredAt  *time.Time `json:"recoveredat,omitempty" yaml:"recovered_at,omitempty" structs:",omitempty"`
	Size         int64      `json:"size,omitempty" yaml:"size,omitempty" structs:",omitempty"`
}

DatabaseBackupHistory データベースバックアップ履歴情報

func (*DatabaseBackupHistory) FormatCreatedAt

func (h *DatabaseBackupHistory) FormatCreatedAt(layout string) string

FormatCreatedAt 指定のレイアウトで作成日時を文字列化

func (*DatabaseBackupHistory) FormatRecoveredAt

func (h *DatabaseBackupHistory) FormatRecoveredAt(layout string) string

FormatRecoveredAt 指定のレイアウトで復元日時を文字列化

復元日時がnilの場合は空の文字列を返す

func (*DatabaseBackupHistory) ID

func (h *DatabaseBackupHistory) ID() string

ID バックアップ履歴のID取得

func (*DatabaseBackupHistory) UnmarshalJSON

func (h *DatabaseBackupHistory) UnmarshalJSON(data []byte) error

UnmarshalJSON JSON復号処理

type DatabaseBackupInfo

type DatabaseBackupInfo struct {
	History []*DatabaseBackupHistory `json:"history,omitempty" yaml:"history,omitempty" structs:",omitempty"`
}

DatabaseBackupInfo データベースバックアップ情報

type DatabaseLog

type DatabaseLog struct {
	Name string             `json:"name,omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Data string             `json:"data,omitempty" yaml:"data,omitempty" structs:",omitempty"`
	Size types.StringNumber `json:"size,omitempty" yaml:"size,omitempty" structs:",omitempty"`
}

DatabaseLog データベースログ

func (*DatabaseLog) ID

func (l *DatabaseLog) ID() string

ID ログのID取得

func (*DatabaseLog) IsSystemdLog

func (l *DatabaseLog) IsSystemdLog() bool

IsSystemdLog systemcltのログか判定

func (*DatabaseLog) Logs

func (l *DatabaseLog) Logs() []string

Logs ログボディ取得

type DatabaseParameter added in v2.11.0

type DatabaseParameter struct {
	Parameter *DatabaseParameterSetting `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Remark    *DatabaseParameterRemark  `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

DatabaseParameter RDBMSごとに固有のパラメータ設定

type DatabaseParameterFormMeta added in v2.11.0

type DatabaseParameterFormMeta struct {
	Type    string                            `json:"type" yaml:"yaml"`
	Name    string                            `json:"name" yaml:"name"`
	Label   string                            `json:"label" yaml:"label"`
	Options *DatabaseParameterFormMetaOptions `json:"options" yaml:"options"`
	Items   [][]interface{}                   `json:"items,omitempty" yaml:"items,omitempty" structs:",omitempty"` // 例: [["value1", "text1"],[ "value2", "text2"]] ※ valueは数値となる可能性がある
}

type DatabaseParameterFormMetaOptions added in v2.11.0

type DatabaseParameterFormMetaOptions struct {
	Validator string  `json:"validator" yaml:"validator"`
	Example   string  `json:"ex" yaml:"ex"`
	Min       float64 `json:"min" yaml:"min"`
	Max       float64 `json:"max" yaml:"max"`
	MaxLen    int     `json:"maxlen" yaml:"maxlen"`
	Text      string  `json:"text" yaml:"text"`
	Reboot    string  `json:"reboot" yaml:"reboot"`
	Type      string  `json:"type" yaml:"type"`
	Integer   bool    `json:"integer" yaml:"integer"` // postgres用のパラメータにだけ存在する模様
}

type DatabaseParameterRemark added in v2.11.0

type DatabaseParameterRemark struct {
	Settings []interface{}                // どのような値が入るのか不明
	Form     []*DatabaseParameterFormMeta `json:",omitempty" yaml:"form,omitempty" structs:",omitempty"`
}

type DatabaseParameterSetting added in v2.11.0

type DatabaseParameterSetting struct {
	NoteID types.ID                     `json:",omitempty" yaml:"note_id,omitempty" structs:",omitempty"`
	Attr   DatabaseParameterSettingAttr `json:",omitempty" yaml:"attr,omitempty" structs:",omitempty"`
}

type DatabaseParameterSettingAttr added in v2.11.0

type DatabaseParameterSettingAttr map[string]interface{}

func (*DatabaseParameterSettingAttr) UnmarshalJSON added in v2.11.0

func (d *DatabaseParameterSettingAttr) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列/オブジェクトが混在することへの対応

type DatabaseSetting

type DatabaseSetting struct {
	Common      *DatabaseSettingCommon      `json:",omitempty" yaml:"common,omitempty" structs:",omitempty"`
	Backup      *DatabaseSettingBackup      `json:",omitempty" yaml:"backup,omitempty" structs:",omitempty"`
	Replication *DatabaseSettingReplication `json:",omitempty" yaml:"replication,omitempty" structs:",omitempty"`
}

DatabaseSetting データベース設定

type DatabaseSettingBackup

type DatabaseSettingBackup struct {
	Rotate    int                        `json:",omitempty" yaml:"rotate,omitempty" structs:",omitempty"`
	Time      string                     `json:",omitempty" yaml:"time,omitempty" structs:",omitempty"`
	DayOfWeek []types.EBackupSpanWeekday `json:",omitempty" yaml:"day_of_week,omitempty" structs:",omitempty"`
}

DatabaseSettingBackup データベース設定 バックアップ設定

func (*DatabaseSettingBackup) UnmarshalJSON

func (d *DatabaseSettingBackup) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列/オブジェクトが混在することへの対応

type DatabaseSettingCommon

type DatabaseSettingCommon struct {
	// WebUI WebUIの有効/無効、またはアクセスするためのアドレス
	//
	// [HACK] Create時はbool型、Read/Update時は文字列(FQDN or IP)となる。
	// また、無効にするにはJSONで要素自体を指定しないことで行う。
	WebUI           interface{}                   `yaml:"web_ui"`
	ServicePort     int                           `json:",omitempty" yaml:"service_port,omitempty" structs:",omitempty"`
	SourceNetwork   DatabaseSettingSourceNetworks `yaml:"source_network"`
	DefaultUser     string                        `json:",omitempty" yaml:"default_user,omitempty" structs:",omitempty"`
	UserPassword    string                        `json:",omitempty" yaml:"user_password,omitempty" structs:",omitempty"`
	ReplicaUser     string                        `json:",omitempty" yaml:"replica_user,omitempty" structs:",omitempty"`
	ReplicaPassword string                        `json:",omitempty" yaml:"replica_password,omitempty" structs:",omitempty"`
}

DatabaseSettingCommon データベース設定 汎用項目設定

type DatabaseSettingReplication

type DatabaseSettingReplication struct {
	Model     types.EDatabaseReplicationModel `json:",omitempty" yaml:"model,omitempty" structs:",omitempty"`
	Appliance *struct {
		ID types.ID
	} `json:",omitempty" yaml:"appliance,omitempty" structs:",omitempty"`
	IPAddress string `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
	Port      int    `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`
	User      string `json:",omitempty" yaml:"user,omitempty" structs:",omitempty"`
	Password  string `json:",omitempty" yaml:"password,omitempty" structs:",omitempty"`
}

DatabaseSettingReplication レプリケーション設定

type DatabaseSettingSourceNetworks added in v2.8.4

type DatabaseSettingSourceNetworks []string

DatabaseSettingSourceNetworks データベースへのアクセスを許可するCIDRリスト

Note: すべての接続先を許可する場合は"0.0.0.0/0"を指定する。 この処理はMarshalJSON時にDatabaseSettingSourceNetwork側で行われるため、 APIクライアント側は許可したいCIDRブロックのリストを指定する。 libsacloudではすべての接続を拒否する設定はサポートしない。

func (DatabaseSettingSourceNetworks) MarshalJSON added in v2.8.4

func (d DatabaseSettingSourceNetworks) MarshalJSON() ([]byte, error)

MarshalJSON すべての接続先を許可する場合は"0.0.0.0/0"を指定するための対応

func (*DatabaseSettingSourceNetworks) UnmarshalJSON added in v2.8.4

func (d *DatabaseSettingSourceNetworks) UnmarshalJSON(b []byte) error

type DatabaseSettings

type DatabaseSettings struct {
	DBConf *DatabaseSetting `json:",omitempty" yaml:"db_conf,omitempty" structs:",omitempty"`
}

DatabaseSettings データベース設定

type DatabaseSettingsUpdate

type DatabaseSettingsUpdate struct {
	Settings     *DatabaseSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string            `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

DatabaseSettingsUpdate データベース

type DatabaseStatus

type DatabaseStatus struct {
	Status  types.EServerInstanceStatus `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
	IsFatal bool                        `json:"is_fatal"`
	DBConf  *DatabaseStatusDBConf       `json:",omitempty" yaml:"db_conf,omitempty" structs:",omitempty"`
}

DatabaseStatus データベースのステータス

type DatabaseStatusDBConf

type DatabaseStatusDBConf struct {
	Version  *DatabaseStatusVersion    `json:"version,omitempty" yaml:"version,omitempty" structs:",omitempty"`
	Log      []*DatabaseLog            `json:"log,omitempty" yaml:"log,omitempty" structs:",omitempty"`
	Backup   *DatabaseBackupInfo       `json:"backup,omitempty" yaml:"backup,omitempty" structs:",omitempty"`
	MariaDB  *DatabaseStatusMariaDB    `json:",omitempty" yaml:"maria_db,omitempty" structs:",omitempty"`
	Postgres *DatabaseStatusPostgreSQL `json:"postgres,omitempty" yaml:"postgres,omitempty" structs:",omitempty"`
}

DatabaseStatusDBConf データベース設定

type DatabaseStatusMariaDB added in v2.6.1

type DatabaseStatusMariaDB struct {
	Status string `json:"status,omitempty"`
}

type DatabaseStatusPostgreSQL added in v2.6.1

type DatabaseStatusPostgreSQL struct {
	Status string `json:"status,omitempty"`
}

type DatabaseStatusResponse

type DatabaseStatusResponse struct {
	SettingsResponse *DatabaseStatus `json:",omitempty" yaml:"settings_response,omitempty" structs:",omitempty"`
}

DatabaseStatusResponse Status APIの戻り値

type DatabaseStatusVersion

type DatabaseStatusVersion struct {
	LastModified string `json:"lastmodified,omitempty" yaml:"last_modified,omitempty" structs:",omitempty"`
	CommitHash   string `json:"commithash,omitempty" yaml:"commit_hash,omitempty" structs:",omitempty"`
	Status       string `json:"status,omitempty" yaml:"status,omitempty" structs:",omitempty"`
	Tag          string `json:"tag,omitempty" yaml:"tag,omitempty" structs:",omitempty"`
	Expire       string `json:"expire,omitempty" yaml:"expire,omitempty" structs:",omitempty"`
}

DatabaseStatusVersion データベース設定バージョン情報

type DeleteServerWithDiskParameter

type DeleteServerWithDiskParameter struct {
	WithDisk []types.ID
}

DeleteServerWithDiskParameter サーバ削除時に接続されているディスクを削除するためのパラメータ

type Disk

type Disk struct {
	ID              types.ID              `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name            string                `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description     string                `yaml:"description"`
	Tags            types.Tags            `yaml:"tags"`
	Icon            *Icon                 `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt       *time.Time            `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt      *time.Time            `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability    types.EAvailability   `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	ServiceClass    string                `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	SizeMB          int                   `json:",omitempty" yaml:"size_mb,omitempty" structs:",omitempty"`
	MigratedMB      int                   `json:",omitempty" yaml:"migrated_mb,omitempty" structs:",omitempty"`
	Connection      types.EDiskConnection `json:",omitempty" yaml:"connection,omitempty" structs:",omitempty"`
	ConnectionOrder int                   `json:",omitempty" yaml:"connection_order,omitempty" structs:",omitempty"`
	ReinstallCount  int                   `json:",omitempty" yaml:"reinstall_count,omitempty" structs:",omitempty"`
	JobStatus       *MigrationJobStatus   `json:",omitempty" yaml:"job_status,omitempty" structs:",omitempty"`
	Plan            *DiskPlan             `json:",omitempty" yaml:"plan,omitempty" structs:",omitempty"`
	SourceDisk      *Disk                 `json:",omitempty" yaml:"source_disk,omitempty" structs:",omitempty"`
	SourceArchive   *Archive              `json:",omitempty" yaml:"source_archive,omitempty" structs:",omitempty"`
	BundleInfo      *BundleInfo           `json:",omitempty" yaml:"bundle_info,omitempty" structs:",omitempty"`
	Storage         *Storage              `json:",omitempty" yaml:"storage,omitempty" structs:",omitempty"`
	Server          *Server               `json:",omitempty" yaml:"server,omitempty" structs:",omitempty"`
}

Disk ディスク

type DiskEdit

type DiskEdit struct {
	Password            string            `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // パスワード
	SSHKey              *DiskEditSSHKey   `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // 公開鍵(単体)
	SSHKeys             []*DiskEditSSHKey `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // 公開鍵(複数)
	DisablePWAuth       bool              `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // パスワード認証無効化フラグ
	EnableDHCP          bool              `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // DHCPの有効化
	ChangePartitionUUID bool              `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // パーティションのUUID変更
	HostName            string            `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // ホスト名
	Notes               []*DiskEditNote   `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // スタートアップスクリプト
	UserIPAddress       string            `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // IPアドレス
	UserSubnet          *UserSubnet       `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // デフォルトルート/サブネットマスク長
	Background          bool              `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // バックグラウンド実行
}

DiskEdit ディスクの修正パラメータ

type DiskEditNote

type DiskEditNote struct {
	ID        types.ID               `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	APIKey    *APIKey                `json:",omitempty" yaml:"api_key,omitempty" structs:",omitempty"`
	Variables map[string]interface{} `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

DiskEditNote ディスクの修正で指定するスタートアップスクリプト

type DiskEditSSHKey

type DiskEditSSHKey struct {
	ID        types.ID `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PublicKey string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

DiskEditSSHKey ディスク修正時のSSHキー

type DiskPlan

type DiskPlan struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	StorageClass string              `json:",omitempty" yaml:"storage_class,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Size         []*DiskPlanSizeInfo `json:",omitempty" yaml:"size,omitempty" structs:",omitempty"`
}

DiskPlan ディスクプラン

type DiskPlanSizeInfo

type DiskPlanSizeInfo struct {
	Availability  types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	DisplaySize   int                 `json:",omitempty" yaml:"display_size,omitempty" structs:",omitempty"`
	DisplaySuffix string              `json:",omitempty" yaml:"display_suffix,omitempty" structs:",omitempty"`
	ServiceClass  string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	SizeMB        int                 `json:",omitempty" yaml:"size_mb,omitempty" structs:",omitempty"`
}

DiskPlanSizeInfo ディスクプランに含まれる利用可能なサイズ情報

type ESME added in v2.8.0

type ESME struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Provider     *Provider           `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
}

ESME 2要素認証 SMS送信サービス

type ESMELog added in v2.8.0

type ESMELog struct {
	MessageID   string     `json:"messageId,omitempty" yaml:"message_id,omitempty" structs:",omitempty"`
	Status      string     `json:"status,omitempty" yaml:"status,omitempty" structs:",omitempty"` // Accepted/Delivered以外にもエラーなどの認識していないデータがありそうなためtypesで型を定義せず一旦string型としておく
	OTP         string     `json:"otp,omitempty" yaml:"otp,omitempty" structs:",omitempty"`
	Destination string     `json:"destination,omitempty" yaml:"destination,omitempty" structs:",omitempty"`
	SentAt      *time.Time `json:"sentAt,omitempty" yaml:"sent_at,omitempty" structs:",omitempty"`
	DoneAt      *time.Time `json:"doneAt,omitempty" yaml:"done_at,omitempty" structs:",omitempty"`
	RetryCount  int        `json:"retryCounnt,omitempty" yaml:"retry_count,omitempty" structs:",omitempty"`
}

type ESMELogs added in v2.8.0

type ESMELogs struct {
	Logs []*ESMELog `json:"logs,omitempty" yaml:"logs,omitempty"`
}

type ESMESendSMSRequest added in v2.8.0

type ESMESendSMSRequest struct {
	Destination  string              `json:"destination,omitempty" yaml:"destination,omitempty" structs:",omitempty"` // 宛先 現在は81(+81)開始固定
	Sender       string              `json:"sender,omitempty" yaml:"sender,omitempty" structs:",omitempty"`           // 送信者名 本文中に反映される
	DomainName   string              `json:"domain_name,omitempty" yaml:"domain_name,omitempty" structs:",omitempty"` // Web OTPを利用する際に本文中に記載されるオリジン(FQDNで指定)
	OTPOperation types.EOTPOperation `json:"otpOperation,omitempty" yaml:"otp_operation,omitempty" structs:",omitempty"`
	OTP          string              `json:"otp,omitempty" yaml:"otp,omitempty" structs:",omitempty"` // ワンタイムパスワード、OTPOperationがinputの場合に使用する
}

ESMESendSMSRequest SMS送信リクエスト

type ESMESendSMSResponse added in v2.8.0

type ESMESendSMSResponse struct {
	MessageID string `json:"messageId,omitempty" yaml:"message_id,omitempty" structs:",omitempty"`
	Status    string `json:"status,omitempty" yaml:"status,omitempty" structs:",omitempty"` // Accepted/Delivered以外にもエラーなどの認識していないデータがありそうなためtypesで型を定義せず一旦string型としておく
	OTP       string `json:"otp,omitempty" yaml:"otp,omitempty" structs:",omitempty"`
}

ESMESendSMSResponse SMS送信結果

type EnhancedDB added in v2.20.0

type EnhancedDB struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Provider     *Provider           `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *EnhancedDBSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string              `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Status       *EnhancedDBStatus   `json:",omitempty" yaml:"status" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
}

EnhancedDB コンテナレジストリ

type EnhancedDBPasswordSetting added in v2.20.0

type EnhancedDBPasswordSetting struct {
	Password string `json:"password,omitempty" yaml:"password,omitempty" structs:",omitempty"`
}

EnhancedDBPasswordSetting .

type EnhancedDBPasswordSettings added in v2.20.0

type EnhancedDBPasswordSettings struct {
	EnhancedDB *EnhancedDBPasswordSetting `json:",omitempty" yaml:"enhanced_db,omitempty" structs:",omitempty"`
}

EnhancedDBPasswordSettings セッティング

type EnhancedDBSetting added in v2.20.0

type EnhancedDBSetting struct {
	MaxConnections int `json:"max_connections,omitempty" yaml:"max_connections,omitempty" structs:",omitempty"`
}

EnhancedDBSetting セッティング

type EnhancedDBSettings added in v2.20.0

type EnhancedDBSettings struct {
	EnhancedDB *EnhancedDBSetting `json:",omitempty" yaml:"enhanced_db,omitempty" structs:",omitempty"`
}

EnhancedDBSettings セッティング

type EnhancedDBStatus added in v2.20.0

type EnhancedDBStatus struct {
	DatabaseName string `json:"database_name,omitempty" yaml:"database_name,omitempty" structs:",omitempty"`
	DatabaseType string `json:"database_type,omitempty" yaml:"database_type,omitempty" structs:",omitempty"`
	Region       string `json:"region,omitempty" yaml:"region,omitempty" structs:",omitempty"`
	HostName     string `json:"hostname,omitempty" yaml:"hostname,omitempty" structs:",omitempty"`
	Port         int    `json:"port,omitempty" yaml:"port,omitempty" structs:",omitempty"`
}

EnhancedDBStatus ステータス

type FTPServer

type FTPServer struct {
	HostName  string `json:",omitempty" yaml:"host_name,omitempty" structs:",omitempty"`
	IPAddress string `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
}

FTPServer FTPサーバ

ZoneAPIの戻り値などに含まれる

type GSLB

type GSLB struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Provider     *Provider           `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *GSLBSettings       `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string              `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Status       *GSLBStatus         `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
}

GSLB GSLB

type GSLBHealthCheck added in v2.27.1

type GSLBHealthCheck struct {
	Protocol types.Protocol     `json:",omitempty" yaml:"protocol,omitempty" structs:""` // プロトコル
	Host     string             `json:",omitempty" yaml:"host,omitempty" structs:""`     // 対象ホスト
	Path     string             `json:",omitempty" yaml:"path,omitempty" structs:""`     // HTTP/HTTPSの場合のリクエストパス
	Status   types.StringNumber `json:",omitempty" yaml:"status,omitempty" structs:""`   // 期待するステータスコード
	Port     types.StringNumber `json:",omitempty" yaml:"port,omitempty" structs:""`     // ポート番号
}

GSLBHealthCheck ヘルスチェック

type GSLBServer

type GSLBServer struct {
	IPAddress string             `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"` // IPアドレス
	Enabled   types.StringFlag   `yaml:"enabled" `                                                    // 有効/無効
	Weight    types.StringNumber `json:",omitempty" yaml:"weight,omitempty" structs:",omitempty"`     // ウェイト
}

GSLBServer GSLB配下のサーバー

type GSLBSetting

type GSLBSetting struct {
	DelayLoop   int              `json:",omitempty" yaml:"delay_loop,omitempty" structs:",omitempty"`
	HealthCheck *GSLBHealthCheck `json:",omitempty" yaml:"health_check,omitempty" structs:",omitempty"`
	Weighted    types.StringFlag `yaml:"weighted"`
	Servers     []*GSLBServer    `yaml:"servers"`
	SorryServer string           `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // ソーリーサーバー
}

GSLBSetting GSLBの設定

type GSLBSettings

type GSLBSettings struct {
	GSLB *GSLBSetting `json:",omitempty" yaml:"gslb,omitempty" structs:",omitempty"`
}

GSLBSettings GSLBの設定

type GSLBSettingsUpdate

type GSLBSettingsUpdate struct {
	Settings     *GSLBSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string        `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

GSLBSettingsUpdate GSLB

type GSLBStatus

type GSLBStatus struct {
	FQDN string `json:",omitempty" yaml:"fqdn,omitempty" structs:",omitempty"`
}

GSLBStatus GSLBステータス

type Host

type Host struct {
	InfoURL string `json:",omitempty" yaml:"info_url,omitempty" structs:",omitempty"`
	Name    string `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
}

Host 仮想マシンの起動しているホスト情報

type HybridConnection

type HybridConnection struct {
	ID       types.ID
	Services []*HybridConnectionService
}

HybridConnection ハイブリッドコネクション

type HybridConnectionService

type HybridConnectionService struct {
	ServiceCategory string
	ServiceName     string
	ServiceCode     string
	CloudZone       string
	IsMyself        bool
}

HybridConnectionService ハイブリッドコネクションにて接続されているサービスの情報

type IPAddress

type IPAddress struct {
	HostName  string     `yaml:"host_name"`
	IPAddress string     `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
	Interface *Interface `json:",omitempty" yaml:"interface,omitempty" structs:",omitempty"`
	Subnet    *Subnet    `json:",omitempty" yaml:"subnet,omitempty" structs:",omitempty"`
}

IPAddress IPアドレス(IPv4)

type IPv6Addr

type IPv6Addr struct {
	HostName  string     `yaml:"host_name"`                                         // ホスト名
	IPv6Addr  string     `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // IPv6アドレス
	Interface *Interface `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // インターフェース
	IPv6Net   *IPv6Net   `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // IPv6サブネット
}

IPv6Addr IPアドレス(IPv6)

type IPv6Net

type IPv6Net struct {
	ID                 types.ID   `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	ServiceID          types.ID   `json:",omitempty" yaml:"service_id,omitempty" structs:",omitempty"`
	IPv6Prefix         string     `json:",omitempty" yaml:"ipv6prefix,omitempty" structs:",omitempty"`
	IPv6PrefixLen      int        `json:",omitempty" yaml:"ipv6prefix_len,omitempty" structs:",omitempty"`
	IPv6PrefixTail     string     `json:",omitempty" yaml:"ipv6prefix_tail,omitempty" structs:",omitempty"`
	ServiceClass       string     `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	IPv6Table          *IPv6Table `json:",omitempty" yaml:"ipv6table,omitempty" structs:",omitempty"`
	NamedIPv6AddrCount int        `json:",omitempty" yaml:"named_ipv6addr_count,omitempty" structs:",omitempty"`
	CreatedAt          *time.Time `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	Switch             *Switch    `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
}

IPv6Net InternetリソースでのIPv6アドレス帯を表す

type IPv6Table

type IPv6Table struct {
	ID types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
}

IPv6Table IPv6テーブル

type Icon

type Icon struct {
	ID           types.ID            `yaml:"id"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Tags         types.Tags          `yaml:"tags"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Scope        types.EScope        `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
	URL          string              `json:",omitempty" yaml:"url,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`

	Image string `json:",omitempty" yaml:"image,omitempty" structs:",omitempty"` // 画像データBase64文字列(画像アップロード時に利用)
}

Icon アイコン

type Instance

type Instance struct {
	Host            *Host                       `json:",omitempty" yaml:"host,omitempty" structs:",omitempty"`
	Status          types.EServerInstanceStatus `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
	BeforeStatus    types.EServerInstanceStatus `json:",omitempty" yaml:"before_status,omitempty" structs:",omitempty"`
	StatusChangedAt *time.Time                  `json:",omitempty" yaml:"status_changed_at,omitempty" structs:",omitempty"`
	ModifiedAt      *time.Time                  `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Warnings        string                      `json:",omitempty" yaml:"warnings,omitempty" structs:",omitempty"`
	WarningsValue   int                         `json:",omitempty" yaml:"warnings_value,omitempty" structs:",omitempty"`
	CDROM           *CDROM                      `json:",omitempty" yaml:"cdrom,omitempty" structs:",omitempty"`
}

Instance サーバなどの起動情報

type Interface

type Interface struct {
	ID            types.ID          `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	MACAddress    string            `json:",omitempty" yaml:"mac_address,omitempty" structs:",omitempty"`
	IPAddress     string            `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
	UserIPAddress string            `json:",omitempty" yaml:"user_ip_address,omitempty" structs:",omitempty"`
	HostName      string            `json:",omitempty" yaml:"host_name,omitempty" structs:",omitempty"`
	Switch        *Switch           `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
	PacketFilter  *PacketFilterInfo `json:",omitempty" yaml:"packet_filter,omitempty" structs:",omitempty"`
	Server        *Server           `json:",omitempty" yaml:"server,omitempty" structs:",omitempty"`

	// Index 仮想フィールド、VPCルータなどでInterfaces(実体は[]*Interface)を扱う場合にUnmarshalJSONの中で設定される
	//
	// Findした際のAPIからの応答にも同名のフィールドが含まれるが無関係。
	Index int

	// UpstreamType 上流ネットワーク種別 UnmarshalJSONの中で算出される
	UpstreamType types.EUpstreamNetworkType
}

Interface サーバなどに接続されているNICの情報

func (*Interface) MarshalJSON

func (i *Interface) MarshalJSON() ([]byte, error)

MarshalJSON Indexフィールドを出力しないための実装

func (*Interface) UnmarshalJSON

func (i *Interface) UnmarshalJSON(b []byte) error

UnmarshalJSON 仮想フィールド UpstreamType を表現するための実装

type Interfaces

type Interfaces []*Interface

Interfaces Interface配列

配列中にnullが返ってくる(VPCルータなど)への対応のためのtype

func (Interfaces) MarshalJSON

func (i Interfaces) MarshalJSON() ([]byte, error)

MarshalJSON 配列中にnullが入る場合(VPCルータなど)への対応

func (*Interfaces) UnmarshalJSON

func (i *Interfaces) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列中にnullが返ってくる(VPCルータなど)への対応

type Internet

type Internet struct {
	ID             types.ID     `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name           string       `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description    string       `yaml:"description"`
	Tags           types.Tags   `yaml:"tags"`
	Icon           *Icon        `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt      *time.Time   `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	Scope          types.EScope `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
	ServiceClass   string       `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Switch         *Switch      `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
	BandWidthMbps  int          `json:",omitempty" yaml:"band_width_mbps,omitempty" structs:",omitempty"`
	NetworkMaskLen int          `json:",omitempty" yaml:"network_mask_len,omitempty" structs:",omitempty"`
}

Internet ルータ+スイッチのルータ部分

type InternetPlan

type InternetPlan struct {
	ID            types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name          string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	BandWidthMbps int                 `json:",omitempty" yaml:"band_width_mbps,omitempty" structs:",omitempty"`
	ServiceClass  string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Availability  types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
}

InternetPlan サーバープラン

type JobConfigError

type JobConfigError struct {
	ErrorCode string `json:",omitempty" yaml:"error_code,omitempty" structs:",omitempty"`
	ErrorMsg  string `json:",omitempty" yaml:"error_msg,omitempty" structs:",omitempty"`
	Status    string `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
}

JobConfigError マイグレーションジョブのエラー

func (*JobConfigError) String

func (e *JobConfigError) String() string

String マイグレーションジョブエラーの文字列表現

type License

type License struct {
	ID          types.ID     `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name        string       `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description string       `yaml:"description"`
	CreatedAt   *time.Time   `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt  *time.Time   `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	LicenseInfo *LicenseInfo `json:",omitempty" yaml:"license_info,omitempty" structs:",omitempty"` // ライセンス情報
}

License ライセンス

type LicenseInfo

type LicenseInfo struct {
	ID           types.ID   `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string     `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	ServiceClass string     `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	TermsOfUse   string     `json:",omitempty" yaml:"terms_of_use,omitempty" structs:",omitempty"` // 利用規約
}

LicenseInfo ライセンスプラン

type LoadBalancer

type LoadBalancer struct {
	ID           types.ID              `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string                `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string                `yaml:"description"`
	Tags         types.Tags            `yaml:"tags"`
	Icon         *Icon                 `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time            `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time            `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability   `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Class        string                `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	ServiceClass string                `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Plan         *AppliancePlan        `json:",omitempty" yaml:"plan,omitempty" structs:",omitempty"`
	Instance     *Instance             `json:",omitempty" yaml:"instance,omitempty" structs:",omitempty"`
	Interfaces   []*Interface          `json:",omitempty" yaml:"interfaces,omitempty" structs:",omitempty"`
	Switch       *Switch               `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
	Settings     *LoadBalancerSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Remark       *ApplianceRemark      `json:",omitempty" yaml:"remark,omitempty" structs:",omitempty"`
}

LoadBalancer ロードバランサ

type LoadBalancerDestinationServer

type LoadBalancerDestinationServer struct {
	IPAddress   string                   `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
	Port        types.StringNumber       `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`
	Enabled     types.StringFlag         `yaml:"enabled"`
	HealthCheck *LoadBalancerHealthCheck `json:",omitempty" yaml:"health_check,omitempty" structs:",omitempty"`
}

LoadBalancerDestinationServer ロードバランサ配下の実サーバ

type LoadBalancerHealthCheck added in v2.27.1

type LoadBalancerHealthCheck struct {
	Protocol       types.Protocol     `json:",omitempty" yaml:"protocol,omitempty" structs:""`                 // プロトコル
	Host           string             `json:",omitempty" yaml:"host,omitempty" structs:""`                     // 対象ホスト
	Path           string             `json:",omitempty" yaml:"path,omitempty" structs:""`                     // HTTP/HTTPSの場合のリクエストパス
	Status         types.StringNumber `json:",omitempty" yaml:"status,omitempty" structs:""`                   // 期待するステータスコード
	Port           types.StringNumber `json:",omitempty" yaml:"port,omitempty" structs:""`                     // ポート番号
	Retry          types.StringNumber `json:",omitempty" yaml:"retry,omitempty" struct:",omitempty"`           // リトライ回数
	ConnectTimeout types.StringNumber `json:",omitempty" yaml:"connect_timeout,omitempty" struct:",omitempty"` // タイムアウト
}

LoadBalancerHealthCheck ヘルスチェック

type LoadBalancerServerStatus

type LoadBalancerServerStatus struct {
	ActiveConn types.StringNumber          `json:",omitempty" yaml:"active_conn,omitempty" structs:",omitempty"`
	Status     types.EServerInstanceStatus `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
	IPAddress  string                      `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
	Port       types.StringNumber          `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`
	CPS        types.StringNumber          `json:",omitempty" yaml:"cps,omitempty" structs:",omitempty"`
}

LoadBalancerServerStatus ロードバランサの実サーバのステータス

type LoadBalancerSetting

type LoadBalancerSetting struct {
	VirtualIPAddress string                           `json:",omitempty" yaml:"virtual_ip_address,omitempty" structs:",omitempty"`
	Port             types.StringNumber               `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`
	DelayLoop        types.StringNumber               `json:",omitempty" yaml:"delay_loop,omitempty" structs:",omitempty"`
	SorryServer      string                           `json:",omitempty" yaml:"sorry_server,omitempty" structs:",omitempty"`
	Description      string                           `yaml:"description"`
	Servers          []*LoadBalancerDestinationServer `yaml:"servers"`
}

LoadBalancerSetting ロードバランサの設定

func (LoadBalancerSetting) MarshalJSON

func (s LoadBalancerSetting) MarshalJSON() ([]byte, error)

MarshalJSON nullの場合に空配列を出力するための実装

type LoadBalancerSettings

type LoadBalancerSettings struct {
	LoadBalancer []*LoadBalancerSetting `yaml:"load_balancer"`
}

LoadBalancerSettings ロードバランサの設定

func (LoadBalancerSettings) MarshalJSON

func (s LoadBalancerSettings) MarshalJSON() ([]byte, error)

MarshalJSON nullの場合に空配列を出力するための実装

type LoadBalancerSettingsUpdate

type LoadBalancerSettingsUpdate struct {
	Settings     *LoadBalancerSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

LoadBalancerSettingsUpdate ロードバランサ

type LoadBalancerStatus

type LoadBalancerStatus struct {
	VirtualIPAddress string                      `json:",omitempty" yaml:"virtual_ip_address,omitempty" structs:",omitempty"`
	Port             types.StringNumber          `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`
	CPS              types.StringNumber          `json:",omitempty" yaml:"cps,omitempty" structs:",omitempty"`
	Servers          []*LoadBalancerServerStatus `json:",omitempty" yaml:"servers,omitempty" structs:",omitempty"`
}

LoadBalancerStatus ロードバランサのステータス

type LocalRouter

type LocalRouter struct {
	ID           types.ID             `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string               `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string               `yaml:"description"`
	Tags         types.Tags           `yaml:"tags"`
	Icon         *Icon                `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time           `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time           `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability  `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Provider     *Provider            `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *LocalRouterSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string               `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Status       *LocalRouterStatus   `json:",omitempty" yaml:"status" structs:",omitempty"`
	ServiceClass string               `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
}

LocalRouter ローカルルータ

type LocalRouterHealth

type LocalRouterHealth struct {
	Peers []*struct {
		ID     types.ID
		Status types.EServerInstanceStatus
		Routes []string
	} `yaml:"peers"`
}

LocalRouterHealth ローカルルータのヘルスチェック結果

type LocalRouterSetting

type LocalRouterSetting struct {
	Switch       *LocalRouterSettingSwitch        `yaml:"switch"`
	Interface    *LocalRouterSettingInterface     `yaml:"interface"`
	Peers        []*LocalRouterSettingPeer        `yaml:"peers"`
	StaticRoutes []*LocalRouterSettingStaticRoute `yaml:"static_routes"`
}

LocalRouterSetting セッティング

type LocalRouterSettingInterface

type LocalRouterSettingInterface struct {
	VirtualIPAddress string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	IPAddress        []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	NetworkMaskLen   int      `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	VRID             int      `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

LocalRouterSettingInterface インターフェース設定

type LocalRouterSettingPeer

type LocalRouterSettingPeer struct {
	ID          string `yaml:"id"` // 文字列でないとエラーになるためtypes.IDではなくstringとする
	SecretKey   string `yaml:"secret_key"`
	Enabled     bool   `yaml:"enabled"`
	Description string `yaml:"description"`
}

LocalRouterSettingPeer ピア設定

type LocalRouterSettingStaticRoute

type LocalRouterSettingStaticRoute struct {
	Prefix  string `yaml:"prefix"`
	NextHop string `yaml:"next_hop"`
}

LocalRouterSettingStaticRoute スタティックルート

type LocalRouterSettingSwitch

type LocalRouterSettingSwitch struct {
	Code     string `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // リソースIDなど
	Category string `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // cloud/vps/専用サーバなどを表す
	ZoneID   string `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // クラウドの場合is1aなど Note: VPSの場合は数値型となる
}

LocalRouterSettingSwitch ローカルルータのスイッチ設定

func (*LocalRouterSettingSwitch) UnmarshalJSON

func (l *LocalRouterSettingSwitch) UnmarshalJSON(b []byte) error

UnmarshalJSON ZoneIDに数値/文字列が混在する問題への対応

type LocalRouterSettings

type LocalRouterSettings struct {
	LocalRouter *LocalRouterSetting `json:",omitempty" yaml:"local_router,omitempty" structs:",omitempty"`
}

LocalRouterSettings セッティング

type LocalRouterSettingsUpdate

type LocalRouterSettingsUpdate struct {
	Settings     *LocalRouterSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string               `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

LocalRouterSettingsUpdate ローカルルータ セッティング更新

type LocalRouterStatus

type LocalRouterStatus struct {
	SecretKeys []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

LocalRouterStatus ステータス

type Member

type Member struct {
	Class string `json:",omitempty"` // クラス
	Code  string `json:",omitempty"` // 会員コード
}

Member 会員情報

type MigrationJobStatus

type MigrationJobStatus struct {
	Status      string          `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"` // ステータス
	ConfigError *JobConfigError `json:",omitempty" yaml:"config_error,omitempty" structs:",omitempty"`
	Delays      *struct {
		Start *struct {
			Max int `json:",omitempty" yaml:"max,omitempty" structs:",omitempty"` // 最大
			Min int `json:",omitempty" yaml:"min,omitempty" structs:",omitempty"` // 最小
		} `json:",omitempty" yaml:"start,omitempty" structs:",omitempty"`

		Finish *struct {
			Max int `json:",omitempty" yaml:"max,omitempty" structs:",omitempty"` // 最大
			Min int `json:",omitempty" yaml:"min,omitempty" structs:",omitempty"` // 最小
		} `json:",omitempty" yaml:"finish,omitempty" structs:",omitempty"`
	}
}

MigrationJobStatus マイグレーションジョブステータス

type MobileGateway

type MobileGateway struct {
	ID           types.ID                `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Class        string                  `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	Name         string                  `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Tags         types.Tags              `yaml:"tags"`
	Description  string                  `yaml:"description"`
	Plan         *AppliancePlan          `json:",omitempty" yaml:"plan,omitempty" structs:",omitempty"`
	Settings     *MobileGatewaySettings  `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                  `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Remark       *ApplianceRemark        `json:",omitempty" yaml:"remark,omitempty" structs:",omitempty"`
	Availability types.EAvailability     `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Instance     *Instance               `json:",omitempty" yaml:"instance,omitempty" structs:",omitempty"`
	ServiceClass string                  `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time              `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	Icon         *Icon                   `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	Switch       *Switch                 `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
	Interfaces   MobileGatewayInterfaces `json:",omitempty" yaml:"interfaces,omitempty" structs:",omitempty"`
}

MobileGateway モバイルゲートウェイ

type MobileGatewayInterDeviceCommunication

type MobileGatewayInterDeviceCommunication struct {
	Enabled types.StringFlag `yaml:"enabled"`
}

MobileGatewayInterDeviceCommunication デバイス間通信

type MobileGatewayInterface

type MobileGatewayInterface struct {
	IPAddress      []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	NetworkMaskLen int      `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	// Index 仮想フィールド、VPCルータなどでInterfaces(実体は[]*Interface)を扱う場合にUnmarshalJSONの中で設定される
	//
	// Findした際のAPIからの応答にも同名のフィールドが含まれるが無関係。
	Index int
}

MobileGatewayInterface インターフェース

func (*MobileGatewayInterface) MarshalJSON

func (i *MobileGatewayInterface) MarshalJSON() ([]byte, error)

MarshalJSON JSON

type MobileGatewayInterfaces

type MobileGatewayInterfaces []*Interface

MobileGatewayInterfaces 要素がnullにことがある場合に対応するためのtype

例: モバイルゲートウェイ 作成時、eth0/eth1の2要素が返ってくるがeth1の分はnullとなっている。

func (*MobileGatewayInterfaces) UnmarshalJSON

func (i *MobileGatewayInterfaces) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列中にnullが返ってくる(VPCルータなど)への対応

type MobileGatewayInterfacesSettings

type MobileGatewayInterfacesSettings []*MobileGatewayInterface

MobileGatewayInterfacesSettings Interface配列

配列中にnullが返ってくる(VPCルータなど)への対応のためのtype

func (MobileGatewayInterfacesSettings) MarshalJSON

func (i MobileGatewayInterfacesSettings) MarshalJSON() ([]byte, error)

MarshalJSON 配列中にnullが入る場合(VPCルータなど)への対応

func (*MobileGatewayInterfacesSettings) UnmarshalJSON

func (i *MobileGatewayInterfacesSettings) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列中にnullが返ってくる(VPCルータなど)への対応

type MobileGatewayInternetConnection

type MobileGatewayInternetConnection struct {
	Enabled types.StringFlag `yaml:"enabled"`
}

MobileGatewayInternetConnection インターネット接続

type MobileGatewayResolver

type MobileGatewayResolver struct {
	SimGroup *MobileGatewaySIMGroup `json:"sim_group,omitempty" yaml:"sim_group,omitempty" structs:",omitempty"`
}

MobileGatewayResolver DNS登録用パラメータ

type MobileGatewaySIMGroup

type MobileGatewaySIMGroup struct {
	DNS1 string `json:"dns_1,omitempty" yaml:"dns_1,omitempty" structs:",omitempty"`
	DNS2 string `json:"dns_2,omitempty" yaml:"dns_2,omitempty" structs:",omitempty"`
}

MobileGatewaySIMGroup DNS登録用SIMグループ値

func (*MobileGatewaySIMGroup) UnmarshalJSON

func (m *MobileGatewaySIMGroup) UnmarshalJSON(data []byte) error

UnmarshalJSON JSONアンマーシャル(配列、オブジェクトが混在するためここで対応)

type MobileGatewaySIMRoute

type MobileGatewaySIMRoute struct {
	ICCID      string `json:"iccid,omitempty" yaml:"iccid,omitempty" structs:",omitempty"`
	Prefix     string `json:"prefix,omitempty" yaml:"prefix,omitempty" structs:",omitempty"`
	ResourceID string `json:"resource_id,omitempty" yaml:"resource_id,omitempty" structs:",omitempty"`
}

MobileGatewaySIMRoute SIMルート

type MobileGatewaySIMRoutes

type MobileGatewaySIMRoutes struct {
	SIMRoutes []*MobileGatewaySIMRoute `json:"sim_routes" yaml:"sim_routes,omitempty" structs:",omitempty"`
}

MobileGatewaySIMRoutes SIMルート一覧

type MobileGatewaySetting

type MobileGatewaySetting struct {
	Interfaces               MobileGatewayInterfacesSettings        `json:",omitempty" yaml:"interfaces,omitempty" structs:",omitempty"`
	InternetConnection       *MobileGatewayInternetConnection       `json:",omitempty" yaml:"internet_connection,omitempty" structs:",omitempty"`
	StaticRoutes             []*MobileGatewayStaticRoute            `json:",omitempty" yaml:"static_routes,omitempty" structs:",omitempty"`
	InterDeviceCommunication *MobileGatewayInterDeviceCommunication `json:",omitempty" yaml:"inter_device_communication,omitempty" structs:",omitempty"`
}

MobileGatewaySetting モバイルゲートウェイ セッティング

type MobileGatewaySettings

type MobileGatewaySettings struct {
	MobileGateway *MobileGatewaySetting `json:",omitempty" yaml:"mobile_gateway,omitempty" structs:",omitempty"`
}

MobileGatewaySettings モバイルゲートウェイ セッティング

type MobileGatewaySettingsUpdate

type MobileGatewaySettingsUpdate struct {
	Settings     *MobileGatewaySettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                 `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

MobileGatewaySettingsUpdate モバイルゲートウェイ

type MobileGatewayStaticRoute

type MobileGatewayStaticRoute struct {
	Prefix  string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	NextHop string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

MobileGatewayStaticRoute スタティックルート

type MonitorCPUTimeValue

type MonitorCPUTimeValue struct {
	Time    time.Time // 対象時刻
	CPUTime float64
}

MonitorCPUTimeValue CPU-TIMEアクティビティモニタ

type MonitorCPUTimeValues

type MonitorCPUTimeValues []*MonitorCPUTimeValue

MonitorCPUTimeValues CPU-TIMEアクティビティモニタ

func (*MonitorCPUTimeValues) UnmarshalJSON

func (m *MonitorCPUTimeValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorConnectionValue

type MonitorConnectionValue struct {
	Time              time.Time
	ActiveConnections float64
	ConnectionsPerSec float64
}

MonitorConnectionValue アクティビティモニタ

type MonitorConnectionValues

type MonitorConnectionValues []*MonitorConnectionValue

MonitorConnectionValues アクティビティモニタ

func (*MonitorConnectionValues) UnmarshalJSON

func (m *MonitorConnectionValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorDatabaseValue

type MonitorDatabaseValue struct {
	Time              time.Time // 対象時刻
	TotalMemorySize   float64
	UsedMemorySize    float64
	TotalDisk1Size    float64
	UsedDisk1Size     float64
	TotalDisk2Size    float64
	UsedDisk2Size     float64
	BinlogUsedSizeKiB float64
	DelayTimeSec      float64
}

MonitorDatabaseValue アクティビティモニタ

type MonitorDatabaseValues

type MonitorDatabaseValues []*MonitorDatabaseValue

MonitorDatabaseValues アクティビティモニタ

func (*MonitorDatabaseValues) UnmarshalJSON

func (m *MonitorDatabaseValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorDiskValue

type MonitorDiskValue struct {
	Time  time.Time
	Write float64
	Read  float64
}

MonitorDiskValue アクティビティモニタ

type MonitorDiskValues

type MonitorDiskValues []*MonitorDiskValue

MonitorDiskValues アクティビティモニタ

func (*MonitorDiskValues) UnmarshalJSON

func (m *MonitorDiskValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorFreeDiskSizeValue

type MonitorFreeDiskSizeValue struct {
	Time         time.Time // 対象時刻
	FreeDiskSize float64
}

MonitorFreeDiskSizeValue アクティビティモニタ

type MonitorFreeDiskSizeValues

type MonitorFreeDiskSizeValues []*MonitorFreeDiskSizeValue

MonitorFreeDiskSizeValues アクティビティモニタ

func (*MonitorFreeDiskSizeValues) UnmarshalJSON

func (m *MonitorFreeDiskSizeValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorInterfaceValue

type MonitorInterfaceValue struct {
	Time    time.Time
	Send    float64
	Receive float64
}

MonitorInterfaceValue アクティビティモニタ

type MonitorInterfaceValues

type MonitorInterfaceValues []*MonitorInterfaceValue

MonitorInterfaceValues アクティビティモニタ

func (*MonitorInterfaceValues) UnmarshalJSON

func (m *MonitorInterfaceValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorLinkValue

type MonitorLinkValue struct {
	Time        time.Time
	UplinkBPS   float64
	DownlinkBPS float64
}

MonitorLinkValue アクティビティモニタ

type MonitorLinkValues

type MonitorLinkValues []*MonitorLinkValue

MonitorLinkValues アクティビティモニタ

func (*MonitorLinkValues) UnmarshalJSON

func (m *MonitorLinkValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorLocalRouterValue

type MonitorLocalRouterValue struct {
	Time               time.Time
	ReceiveBytesPerSec float64
	SendBytesPerSec    float64
}

MonitorLocalRouterValue アクティビティモニタ

type MonitorLocalRouterValues

type MonitorLocalRouterValues []*MonitorLocalRouterValue

MonitorLocalRouterValues アクティビティモニタ

func (*MonitorLocalRouterValues) UnmarshalJSON

func (m *MonitorLocalRouterValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorResponseTimeSecValue

type MonitorResponseTimeSecValue struct {
	Time            time.Time // 対象時刻
	ResponseTimeSec float64
}

MonitorResponseTimeSecValue アクティビティモニタ

type MonitorResponseTimeSecValues

type MonitorResponseTimeSecValues []*MonitorResponseTimeSecValue

MonitorResponseTimeSecValues アクティビティモニタ

func (*MonitorResponseTimeSecValues) UnmarshalJSON

func (m *MonitorResponseTimeSecValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorRouterValue

type MonitorRouterValue struct {
	Time time.Time
	In   float64
	Out  float64
}

MonitorRouterValue アクティビティモニタ

type MonitorRouterValues

type MonitorRouterValues []*MonitorRouterValue

MonitorRouterValues アクティビティモニタ

func (*MonitorRouterValues) UnmarshalJSON

func (m *MonitorRouterValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MonitorValues

type MonitorValues struct {
	// CPU CPU-TIME
	CPU MonitorCPUTimeValues
	// Disk Read/Write
	Disk MonitorDiskValues
	// Interface Send/Receive
	Interface MonitorInterfaceValues
	// Router In/Out
	Router MonitorRouterValues
	// Database データベース
	Database MonitorDatabaseValues
	// FreeDiskSize 空きディスクサイズ(NFS)
	FreeDiskSize MonitorFreeDiskSizeValues
	// ResponseTimeSec 応答時間(シンプル監視)
	ResponseTimeSec MonitorResponseTimeSecValues
	// Link UplinkBPS/DownlinkBPS
	Link MonitorLinkValues
	// Connection 接続数
	Connection MonitorConnectionValues
	// LocalRouter Receive/Send bytes per sec
	LocalRouter MonitorLocalRouterValues
}

MonitorValues アクティビティモニタのレスポンス向け汎用エンベロープ

func (*MonitorValues) UnmarshalJSON

func (m *MonitorValues) UnmarshalJSON(data []byte) error

UnmarshalJSON アクティビティモニタ向けUnmarshalJSON実装

type MouseRequestButtons

type MouseRequestButtons struct {
	L bool // 左ボタン
	R bool // 右ボタン
	M bool // 中ボタン
}

MouseRequestButtons マウスボタン

type NFS

type NFS struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Class        string              `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	Instance     *Instance           `json:",omitempty" yaml:"instance,omitempty" structs:",omitempty"`
	Interfaces   []*Interface        `json:",omitempty" yaml:"interfaces,omitempty" structs:",omitempty"`
	Plan         *AppliancePlan      `json:",omitempty" yaml:"plan,omitempty" structs:",omitempty"`
	Remark       *ApplianceRemark    `json:",omitempty" yaml:"remark,omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Switch       *Switch             `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
}

NFS NFS

type Note

type Note struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `json:",omitempty" yaml:"description,omitempty" structs:",omitempty"` // Contentの内容から算出される
	Tags         types.Tags          `yaml:"tags"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Scope        types.EScope        `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
	Class        string              `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	Content      string              `json:",omitempty" yaml:"content,omitempty" structs:",omitempty"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
}

Note スタートアップスクリプト

type OpeningFTPServer

type OpeningFTPServer struct {
	HostName  string `json:",omitempty" yaml:"host_name,omitempty" structs:",omitempty"`
	IPAddress string `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
	User      string `json:",omitempty" yaml:"user,omitempty" structs:",omitempty"`
	Password  string `json:",omitempty" yaml:"password,omitempty" structs:",omitempty"`
}

OpeningFTPServer 接続可能な状態のFTPサーバ

ISOイメージやアーカイブのOpenなどで返される

type OriginalArchive

type OriginalArchive struct {
	ID types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
}

OriginalArchive オリジナルアーカイブ

type PacketFilter

type PacketFilter struct {
	ID                  types.ID                `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name                string                  `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description         string                  `yaml:"description"`
	RequiredHostVersion types.StringNumber      `json:",omitempty" yaml:"require_host_version,omitempty" structs:",omitempty"`
	Expression          PacketFilterExpressions `yaml:"expression"`
	ExpressionHash      string                  `json:",omitempty" yaml:"expression_hash,omitempty" structs:",omitempty"`
	CreatedAt           time.Time               `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
}

PacketFilter パケットフィルタ

type PacketFilterExpression

type PacketFilterExpression struct {
	Protocol        types.Protocol            `yaml:"protocol"`
	SourceNetwork   types.PacketFilterNetwork `yaml:"source_network"`
	DestinationPort types.PacketFilterPort    `yaml:"destination_port"`
	Action          types.Action              `yaml:"action"`
	SourcePort      types.PacketFilterPort    `yaml:"source_port"`
	Description     string                    `yaml:"description"`
}

PacketFilterExpression パケットフィルタのルール

type PacketFilterExpressions

type PacketFilterExpressions []*PacketFilterExpression

PacketFilterExpressions パケットフィルターのルール

func (*PacketFilterExpressions) MarshalJSON

func (p *PacketFilterExpressions) MarshalJSON() ([]byte, error)

MarshalJSON nullの場合に空配列を出力するための実装

type PacketFilterInfo

type PacketFilterInfo struct {
	ID                  types.ID           `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name                string             `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	RequiredHostVersion types.StringNumber `json:",omitempty" yaml:"require_host_version,omitempty" structs:",omitempty"`
}

PacketFilterInfo パケットフィルタ - Interface配下などでの参照用

type Price

type Price struct {
	Base          int    `yaml:"base"`           // 基本料金
	Daily         int    `yaml:"daily"`          // 日単位料金
	Hourly        int    `yaml:"hourly"`         // 時間単位料金
	Monthly       int    `yaml:"monthly"`        // 分単位料金
	PerUse        int    `yaml:"per_use"`        // 自動バックアップ
	Basic         int    `yaml:"basic"`          // AWS接続オプション: 基本料
	Traffic       int    `yaml:"traffic"`        // AWS接続オプション: トラフィック課金
	DocomoTraffic int    `yaml:"docomo_traffic"` // セキュアモバイルコネクト: Docomo
	KddiTraffic   int    `yaml:"kddi_traffic"`   // セキュアモバイルコネクト: KDDI
	SbTraffic     int    `yaml:"sb_traffic"`     // セキュアモバイルコネクト: SoftBank
	SimSheet      int    `yaml:"sim_sheet"`      // SIM
	Zone          string `yaml:"zone"`           // ゾーン
}

Price 価格

func (*Price) UnmarshalJSON added in v2.6.2

func (p *Price) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列/オブジェクトが混在することへの対応

type PrivateHost

type PrivateHost struct {
	ID               types.ID         `yaml:"id"`
	Name             string           `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description      string           `yaml:"description"`
	Tags             types.Tags       `yaml:"tags"`
	Icon             *Icon            `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt        *time.Time       `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	Plan             *PrivateHostPlan `json:",omitempty" yaml:"plan,omitempty" structs:",omitempty"`
	Host             *Host            `json:",omitempty" yaml:"host,omitempty" structs:",omitempty"`
	AssignedCPU      int              `json:",omitempty" yaml:"assigned_cpu,omitempty" structs:",omitempty"`
	AssignedMemoryMB int              `json:",omitempty" yaml:"assigned_memory_mb,omitempty" structs:",omitempty"`
}

PrivateHost 専有ホスト

type PrivateHostPlan

type PrivateHostPlan struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Class        string              `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	CPU          int                 `json:",omitempty" yaml:"cpu,omitempty" structs:",omitempty"`
	MemoryMB     int                 `json:",omitempty" yaml:"memory_mb,omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
}

PrivateHostPlan 専有ホストプラン

type Provider

type Provider struct {
	ID           types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string   `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Class        string   `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	ServiceClass string   `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
}

Provider CommonServiceItemなどで利用されるProvider

type ProxyLB

type ProxyLB struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Tags         types.Tags          `yaml:"tags"`
	Icon         *Icon               `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time          `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	Provider     *Provider           `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *ProxyLBSettings    `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string              `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Status       *ProxyLBStatus      `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`

	// ServiceClass [HACK] ServiceClassはプランとリージョンから決定するためjson.Marshalerで出力する。
	// see https://github.com/sacloud/libsacloud/issues/577
	ServiceClass string             `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Plan         types.EProxyLBPlan `json:"-"`
}

ProxyLB エンハンスドロードバランサ

func (*ProxyLB) MarshalJSON added in v2.6.0

func (p *ProxyLB) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ProxyLB) UnmarshalJSON added in v2.6.0

func (p *ProxyLB) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ProxyLBACMESetting

type ProxyLBACMESetting struct {
	Enabled         bool     `yaml:"enabled"`
	CommonName      string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SubjectAltNames []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

ProxyLBACMESetting Let's Encryptでの証明書取得設定

func (ProxyLBACMESetting) MarshalJSON added in v2.18.0

func (p ProxyLBACMESetting) MarshalJSON() ([]byte, error)

MarshalJSON SubjectAltNamesをスライスから文字列にする

func (*ProxyLBACMESetting) UnmarshalJSON added in v2.18.0

func (p *ProxyLBACMESetting) UnmarshalJSON(data []byte) error

UnmarshalJSON SubjectAltNamesを文字列からスライスにする

type ProxyLBAdditionalCerts

type ProxyLBAdditionalCerts []*ProxyLBCertificate

ProxyLBAdditionalCerts additional certificates

func (*ProxyLBAdditionalCerts) UnmarshalJSON

func (p *ProxyLBAdditionalCerts) UnmarshalJSON(data []byte) error

UnmarshalJSON UnmarshalJSON(AdditionalCertsが空の場合に空文字を返す問題への対応)

type ProxyLBBindPorts

type ProxyLBBindPorts struct {
	ProxyMode         types.EProxyLBProxyMode  `json:",omitempty" yaml:"proxy_mode,omitempty" structs:",omitempty"`          // モード(プロトコル)
	Port              int                      `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`                // ポート
	RedirectToHTTPS   bool                     `json:"RedirectToHttps" yaml:"redirect_to_https"`                             // HTTPSへのリダイレクト(モードがhttpの場合のみ)
	SupportHTTP2      bool                     `json:"SupportHttp2" yaml:"support_http2"`                                    // HTTP/2のサポート(モードがhttpsの場合のみ)
	AddResponseHeader []*ProxyLBResponseHeader `json:",omitempty" yaml:"add_response_header,omitempty" structs:",omitempty"` // レスポンスヘッダ
	SSLPolicy         string                   `json:",omitempty" yaml:"ssl_policy,omitempty" structs:",omitempty"`          // SSLポリシー
}

ProxyLBBindPorts プロキシ方式

type ProxyLBCertificate

type ProxyLBCertificate struct {
	ServerCertificate       string     `yaml:"server_certificate"`                                                       // サーバ証明書
	IntermediateCertificate string     `yaml:"intermediate_certificate"`                                                 // 中間証明書
	PrivateKey              string     `yaml:"private_key"`                                                              // 秘密鍵
	CertificateEndDate      *time.Time `json:",omitempty" yaml:"certificate_end_date,omitempty" structs:",omitempty"`    // 有効期限
	CertificateCommonName   string     `json:",omitempty" yaml:"certificate_common_name,omitempty" structs:",omitempty"` // CommonName
	CertificateAltNames     string     `json:",omitempty" yaml:"certificate_alt_names,omitempty" structs:",omitempty"`   // SAN
}

ProxyLBCertificate ProxyLBのSSL証明書詳細

func (*ProxyLBCertificate) UnmarshalJSON

func (p *ProxyLBCertificate) UnmarshalJSON(data []byte) error

UnmarshalJSON UnmarshalJSON(CertificateEndDateのtime.TimeへのUnmarshal対応)

type ProxyLBCertificates

type ProxyLBCertificates struct {
	PrimaryCert     *ProxyLBCertificate    `yaml:"primary_cert"`
	AdditionalCerts ProxyLBAdditionalCerts `yaml:"additional_certs"`
}

ProxyLBCertificates ProxyLBのSSL証明書

func (ProxyLBCertificates) MarshalJSON added in v2.8.10

func (s ProxyLBCertificates) MarshalJSON() ([]byte, error)

MarshalJSON nullの場合に空配列を出力するための実装

type ProxyLBGzip added in v2.17.0

type ProxyLBGzip struct {
	Enabled bool `yaml:"enabled"`
}

ProxyLBGzip Gzip圧縮設定

type ProxyLBHealth

type ProxyLBHealth struct {
	ActiveConn int                    `json:",omitempty" yaml:"active_conn,omitempty" structs:",omitempty"` // アクティブなコネクション数
	CPS        float64                `json:",omitempty" yaml:"cps,omitempty" structs:",omitempty"`         // 秒あたりコネクション数
	Servers    []*ProxyLBHealthServer `json:",omitempty" yaml:"servers,omitempty" structs:",omitempty"`     // 実サーバのステータス
	CurrentVIP string                 `json:",omitempty" yaml:"current_vip,omitempty" structs:",omitempty"` // 現在のVIP
}

ProxyLBHealth ProxyLBのヘルスチェック戻り値

type ProxyLBHealthCheck

type ProxyLBHealthCheck struct {
	Protocol  types.EProxyLBHealthCheckProtocol `json:",omitempty" yaml:"protocol,omitempty" structs:",omitempty"`
	Path      string                            `json:",omitempty" yaml:"path,omitempty" structs:",omitempty"`
	Host      string                            `json:",omitempty" yaml:"host,omitempty" structs:",omitempty"`
	DelayLoop int                               `json:",omitempty" yaml:"delay_loop,omitempty" structs:",omitempty"`
}

ProxyLBHealthCheck ヘルスチェック

type ProxyLBHealthServer

type ProxyLBHealthServer struct {
	ActiveConn int                         `json:",omitempty" yaml:"active_conn,omitempty" structs:",omitempty"` // アクティブなコネクション数
	Status     types.EServerInstanceStatus `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`      // ステータス(UP or DOWN)
	IPAddress  string                      `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`  // IPアドレス
	Port       string                      `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`        // ポート
	CPS        float64                     `json:",omitempty" yaml:"cps,omitempty" structs:",omitempty"`         // 秒あたりコネクション数
}

ProxyLBHealthServer ProxyLBの実サーバのステータス

type ProxyLBPlanChange added in v2.5.4

type ProxyLBPlanChange struct {
	ServiceClass string `yaml:"service_class"`
}

ProxyLBPlanChange エンハンスドロードバランサのプラン変更

type ProxyLBProxyProtocol added in v2.24.0

type ProxyLBProxyProtocol struct {
	Enabled bool `yaml:"enabled"`
}

ProxyLBProxyProtocol ProxyProtocol(v2)の有効設定

type ProxyLBResponseHeader

type ProxyLBResponseHeader struct {
	Header string // ヘッダ名称(英字, 数字, ハイフン)
	Value  string // 値(英字, 数字, 半角スペース, 一部記号(!#$%&'()*+,-./:;<=>?@[]^_`{|}~))
}

ProxyLBResponseHeader ポートごとの追加レスポンスヘッダ

type ProxyLBRule

type ProxyLBRule struct {
	// 条件部
	Host string `json:",omitempty" yaml:"host,omitempty" structs:",omitempty"` // ホストヘッダのパターン(ワイルドカードとして?と*が利用可能)
	Path string `json:",omitempty" yaml:"path,omitempty" structs:",omitempty"` // パス

	RequestHeaderName            string `json:",omitempty" yaml:"request_header_name,omitempty" structs:",omitempty"`
	RequestHeaderValue           string `json:",omitempty" yaml:"request_header_value,omitempty" structs:",omitempty"`
	RequestHeaderValueIgnoreCase bool   `yaml:"request_header_value_ignore_case"`
	RequestHeaderValueNotMatch   bool   `yaml:"request_header_value_not_match"`

	// アクション部
	Action      types.EProxyLBRuleAction `json:",omitempty" yaml:"action,omitempty" structs:",omitempty"` // forward(実サーバへ転送) | redirect | fixed(固定レスポンス)
	ServerGroup string                   `json:",omitempty" yaml:"server_group,omitempty" structs:",omitempty"`

	RedirectLocation   string `json:",omitempty" yaml:"redirect_location,omitempty" structs:",omitempty"`
	RedirectStatusCode string `json:",omitempty" yaml:"redirect_status_code,omitempty" structs:",omitempty"` // 301 | 302

	FixedStatusCode  string                         `json:",omitempty" yaml:"fixed_status_code,omitempty" structs:",omitempty"`
	FixedContentType types.EProxyLBFixedContentType `json:",omitempty" yaml:"fixed_content_type,omitempty" structs:",omitempty"`
	FixedMessageBody string                         `json:",omitempty" yaml:"fixed_message_body,omitempty" structs:",omitempty"`
}

ProxyLBRule ProxyLBの振り分けルール

type ProxyLBServer

type ProxyLBServer struct {
	IPAddress   string `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"` // IPアドレス
	Port        int    `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`       // ポート
	ServerGroup string `yaml:"server_group"`                                                // サーバグループ
	Enabled     bool   // 有効/無効
}

ProxyLBServer ProxyLB配下のサーバー

type ProxyLBSetting

type ProxyLBSetting struct {
	HealthCheck   ProxyLBHealthCheck   `yaml:"health_check"`                                                  // ヘルスチェック
	SorryServer   ProxyLBSorryServer   `yaml:"sorry_server"`                                                  // ソーリーサーバー
	BindPorts     []*ProxyLBBindPorts  `yaml:"bind_ports"`                                                    // プロキシ方式(プロトコル&ポート)
	Servers       []ProxyLBServer      `yaml:"servers"`                                                       // サーバー
	Rules         []ProxyLBRule        `yaml:"rules"`                                                         // 振り分けルール
	LetsEncrypt   *ProxyLBACMESetting  `json:",omitempty" yaml:"lets_encrypt,omitempty" structs:",omitempty"` // Let's encryptでの証明書取得設定
	StickySession ProxyLBStickySession `yaml:"sticky_session"`                                                // StickySession
	Timeout       ProxyLBTimeout       `json:",omitempty" yaml:"timeout,omitempty" structs:",omitempty"`      // タイムアウト
	Gzip          ProxyLBGzip          `yaml:"gzip"`                                                          // Gzip
	ProxyProtocol ProxyLBProxyProtocol `yaml:"proxy_protocol"`
	Syslog        ProxyLBSyslog        `yaml:"syslog"`
}

ProxyLBSetting エンハンスドロードバランサ設定

func (ProxyLBSetting) MarshalJSON

func (s ProxyLBSetting) MarshalJSON() ([]byte, error)

MarshalJSON nullの場合に空配列を出力するための実装

type ProxyLBSettings

type ProxyLBSettings struct {
	ProxyLB *ProxyLBSetting `json:",omitempty" yaml:"proxy_lb,omitempty" structs:",omitempty"`
}

ProxyLBSettings エンハンスドロードバランサ設定

type ProxyLBSettingsUpdate

type ProxyLBSettingsUpdate struct {
	Settings     *ProxyLBSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string           `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

ProxyLBSettingsUpdate エンハンスドロードバランサ

type ProxyLBSorryServer

type ProxyLBSorryServer struct {
	IPAddress string `yaml:"ip_address"`
	Port      *int   `yaml:"port"`
}

ProxyLBSorryServer ソーリーサーバ設定

type ProxyLBStatus

type ProxyLBStatus struct {
	UseVIPFailover   bool                 `yaml:"use_vip_failover"`
	Region           types.EProxyLBRegion `json:",omitempty" yaml:"region,omitempty" structs:",omitempty"`
	ProxyNetworks    []string             `json:",omitempty" yaml:"proxy_networks,omitempty" structs:",omitempty"`
	FQDN             string               `json:",omitempty" yaml:"fqdn,omitempty" structs:",omitempty"`
	VirtualIPAddress string               `json:",omitempty" yaml:"virtual_ip_address,omitempty" structs:",omitempty"`
}

ProxyLBStatus ステータス

type ProxyLBStickySession

type ProxyLBStickySession struct {
	Enabled bool   `yaml:"enabled"`
	Method  string `json:",omitempty" yaml:"method,omitempty" structs:",omitempty"`
}

ProxyLBStickySession セッション維持(Sticky session)設定

type ProxyLBSyslog added in v2.20.0

type ProxyLBSyslog struct {
	Server string `yaml:"server"`
	Port   int    `yaml:"port"`
}

ProxyLBSyslog Syslog設定

type ProxyLBTimeout

type ProxyLBTimeout struct {
	InactiveSec int `json:",omitempty" yaml:"inactive_sec" structs:",omitempty"` // 10から600まで1秒刻みで設定可
}

ProxyLBTimeout 実サーバの通信タイムアウト

type Region

type Region struct {
	ID          types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name        string   `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description string   `json:",omitempty" yaml:"description,omitempty" structs:",omitempty"`
	NameServers []string `json:",omitempty" yaml:"name_servers,omitempty" structs:",omitempty"`
}

Region リージョン

type ResizePartitionRequest

type ResizePartitionRequest struct {
	Background bool `yaml:"background"`
}

ResizePartitionRequest リサイズ時のオプション

type SIM

type SIM struct {
	ID           types.ID     `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string       `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string       `yaml:"description"`
	Tags         types.Tags   `yaml:"tags"`
	Status       *SIMStatus   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	ServiceClass string       `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Availability string       `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	CreatedAt    time.Time    `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	ModifiedAt   time.Time    `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Provider     *SIMProvider `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Icon         *Icon        `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Remark       *SIMRemark   `json:",omitempty" yaml:",omitempty" structs:",omitempty"` // Remark
}

SIM SIM

type SIMAssignIPRequest

type SIMAssignIPRequest struct {
	IP string `json:"ip"`
}

SIMAssignIPRequest IPアドレスアサイン リクエストパラメータ

type SIMIMEILockRequest

type SIMIMEILockRequest struct {
	IMEI string `json:"imei"`
}

SIMIMEILockRequest IMEIロック リクエストパラメータ

type SIMInfo

type SIMInfo struct {
	ICCID                      string           `json:"iccid,omitempty" yaml:"iccid,omitempty" structs:",omitempty"`
	IMSI                       []string         `json:"imsi,omitempty" yaml:"imsi,omitempty" structs:",omitempty"`
	IMEI                       string           `json:"imei,omitempty" yaml:"imei,omitempty" structs:",omitempty"`
	IP                         string           `json:"ip,omitempty" yaml:"ip,omitempty" structs:",omitempty"`
	SessionStatus              string           `json:"session_status,omitempty" yaml:"session_status,omitempty" structs:",omitempty"`
	IMEILock                   bool             `json:"imei_lock" yaml:"imei_lock"`
	Registered                 bool             `json:"registered" yaml:"registered"`
	Activated                  bool             `json:"activated" yaml:"activated"`
	ResourceID                 string           `json:"resource_id,omitempty" yaml:"resource_id,omitempty" structs:",omitempty"`
	RegisteredDate             time.Time        `json:"registered_date,omitempty" yaml:"registered_date,omitempty" structs:",omitempty"`
	ActivatedDate              time.Time        `json:"activated_date,omitempty" yaml:"activated_date,omitempty" structs:",omitempty"`
	DeactivatedDate            time.Time        `json:"deactivated_date,omitempty" yaml:"deactivated_date,omitempty" structs:",omitempty"`
	SIMGroupID                 string           `json:"simgroup_id,omitempty" yaml:"simgroup_id,omitempty" structs:",omitempty"`
	TrafficBytesOfCurrentMonth *SIMTrafficBytes `json:"traffic_bytes_of_current_month,omitempty" yaml:"traffic_bytes_of_current_month,omitempty" structs:",omitempty"`
	ConnectedIMEI              string           `json:"connected_imei,omitempty" yaml:"connected_imei,omitempty" structs:",omitempty"`
}

SIMInfo SIM詳細情報

type SIMLog

type SIMLog struct {
	Date          *time.Time `json:"date,omitempty" yaml:"date,omitempty" structs:",omitempty"`
	SessionStatus string     `json:"session_status,omitempty" yaml:"session_status,omitempty" structs:",omitempty"`
	ResourceID    string     `json:"resource_id,omitempty" yaml:"resource_id,omitempty" structs:",omitempty"`
	IMEI          string     `json:"imei,omitempty" yaml:"imei,omitempty" structs:",omitempty"`
	IMSI          string     `json:"imsi,omitempty" yaml:"imsi,omitempty" structs:",omitempty"`
}

SIMLog SIMログ

type SIMNetworkOperatorConfig

type SIMNetworkOperatorConfig struct {
	Allow       bool   `json:"allow" yaml:"allow"`
	CountryCode string `json:"country_code,omitempty" yaml:"country_code,omitempty" structs:",omitempty"`
	Name        string `json:"name,omitempty" yaml:"name,omitempty" structs:",omitempty"`
}

SIMNetworkOperatorConfig SIM通信キャリア設定

type SIMNetworkOperatorConfigs

type SIMNetworkOperatorConfigs struct {
	NetworkOperatorConfigs []*SIMNetworkOperatorConfig `json:"network_operator_config,omitempty" yaml:"network_operator_config,omitempty" structs:",omitempty"`
}

SIMNetworkOperatorConfigs SIM通信キャリア設定 リクエストパラメータ

type SIMProvider

type SIMProvider struct {
	ID           int    `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Class        string `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	Name         string `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	ServiceClass string `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
}

SIMProvider SIMプロバイダー

type SIMRemark

type SIMRemark struct {
	PassCode string `json:",omitempty" yaml:"pass_code,omitempty" structs:",omitempty"`
}

SIMRemark remark

type SIMStatus

type SIMStatus struct {
	ICCID   string   `json:",omitempty" yaml:"iccid,omitempty" structs:",omitempty"`  // ICCID
	SIMInfo *SIMInfo `json:"sim,omitempty" yaml:"sim,omitempty" structs:",omitempty"` // SIM詳細情報
}

SIMStatus SIMステータス

type SIMTrafficBytes

type SIMTrafficBytes struct {
	UplinkBytes   types.StringNumber `json:"uplink_bytes,omitempty" yaml:"uplink_bytes,omitempty" structs:",omitempty"`
	DownlinkBytes types.StringNumber `json:"downlink_bytes,omitempty" yaml:"downlink_bytes,omitempty" structs:",omitempty"`
}

SIMTrafficBytes 当月通信量

func (*SIMTrafficBytes) UnmarshalJSON

func (s *SIMTrafficBytes) UnmarshalJSON(data []byte) error

UnmarshalJSON JSONアンマーシャル(配列、オブジェクトが混在するためここで対応)

type SSHKey

type SSHKey struct {
	ID          types.ID   `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name        string     `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description string     `yaml:"description"`
	CreatedAt   *time.Time `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	PublicKey   string     `json:",omitempty" yaml:"public_key,omitempty" structs:",omitempty"`  // 公開鍵
	PrivateKey  string     `json:",omitempty" yaml:"public_key,omitempty" structs:",omitempty"`  // 秘密鍵、API側での鍵生成時のみセットされる
	Fingerprint string     `json:",omitempty" yaml:"fingerprint,omitempty" structs:",omitempty"` // フィンガープリント

	GenerateFormat string `json:",omitempty" yaml:"generate_format,omitempty" structs:",omitempty"` // 鍵生成時のみ利用(openssh固定)
	PassPhrase     string `json:",omitempty" yaml:"pass_phrase,omitempty" structs:",omitempty"`     // 鍵生成時のみ利用
}

SSHKey 公開鍵

type Server

type Server struct {
	ID                types.ID               `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name              string                 `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description       string                 `yaml:"description"`
	Tags              types.Tags             `yaml:"tags"`
	Icon              *Icon                  `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt         *time.Time             `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt        *time.Time             `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability      types.EAvailability    `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	HostName          string                 `json:",omitempty" yaml:"host_name,omitempty" structs:",omitempty"`
	ServiceClass      string                 `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	InterfaceDriver   types.EInterfaceDriver `json:",omitempty" yaml:"interface_driver,omitempty" structs:",omitempty"`
	ServerPlan        *ServerPlan            `json:",omitempty" yaml:"server_plan,omitempty" structs:",omitempty"`
	Zone              *Zone                  `json:",omitempty" yaml:"zone,omitempty" structs:",omitempty"`
	Instance          *Instance              `json:",omitempty" yaml:"instance,omitempty" structs:",omitempty"`
	Disks             []*Disk                `json:",omitempty" yaml:"disks,omitempty" structs:",omitempty"`
	Interfaces        []*Interface           `json:",omitempty" yaml:"interfaces,omitempty" structs:",omitempty"`
	PrivateHost       *PrivateHost           `json:",omitempty" yaml:"private_host,omitempty" structs:",omitempty"`
	WaitDiskMigration bool                   `yaml:"wait_disk_migration"`
	ConnectedSwitches []*ConnectedSwitch     `json:",omitempty" yaml:"connected_switches,omitempty" structs:",omitempty"`
}

Server サーバ

type ServerBootParameter added in v2.24.0

type ServerBootParameter struct {
	UserBootVariables *ServerBootVariables
}

ServerBootParameter サーバ起動時に指定可能なパラメータ

type ServerBootVariables added in v2.24.0

type ServerBootVariables struct {
	CloudInit *CloudInitParameter
}

ServerBootVariables サーバ起動時に指定可能なパラメータ、現時点ではcloud-initにのみ対応

type ServerPlan

type ServerPlan struct {
	ID           types.ID            `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	CPU          int                 `json:",omitempty" yaml:"cpu,omitempty" structs:",omitempty"`
	MemoryMB     int                 `json:",omitempty" yaml:"memory_mb,omitempty" structs:",omitempty"`
	GPU          int                 `json:",omitempty" yaml:"gpu,omitempty" structs:",omitempty"`
	Commitment   types.ECommitment   `json:",omitempty" yaml:"commitment,omitempty" structs:",omitempty"`
	Generation   int                 `json:",omitempty" yaml:"generation,omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
}

ServerPlan サーバープラン

type ServiceClass

type ServiceClass struct {
	ID               types.ID `json:"ServiceClassID" yaml:"service_class_id"` // サービスクラスID
	ServiceClassName string   `yaml:"service_class_name"`                     // サービスクラス名
	ServiceClassPath string   `yaml:"service_class_path"`                     // サービスクラスパス
	DisplayName      string   `yaml:"display_name"`                           // 表示名
	IsPublic         bool     `yaml:"is_public"`                              // 公開フラグ
	Price            *Price   `yaml:"price"`
}

ServiceClass 料金

type SharedArchiveCreateRequest added in v2.2.0

type SharedArchiveCreateRequest struct {
	Shared bool `yaml:"shared"`
}

SharedArchiveCreateRequest 共有アーカイブ作成リクエスト

type SimpleMonitor

type SimpleMonitor struct {
	ID           types.ID               `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name         string                 `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string                 `yaml:"description"`
	Tags         types.Tags             `yaml:"tags"`
	Icon         *Icon                  `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt    *time.Time             `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt   *time.Time             `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Availability types.EAvailability    `json:",omitempty" yaml:"availability,omitempty" structs:",omitempty"`
	ServiceClass string                 `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	Provider     *Provider              `json:",omitempty" yaml:"provider,omitempty" structs:",omitempty"`
	Settings     *SimpleMonitorSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                 `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
	Status       *SimpleMonitorStatus   `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
}

SimpleMonitor シンプル監視

type SimpleMonitorHealthCheck

type SimpleMonitorHealthCheck struct {
	Protocol          types.ESimpleMonitorProtocol `json:",omitempty" yaml:"protocol,omitempty" structs:",omitempty"`            // プロトコル
	Port              types.StringNumber           `json:",omitempty" yaml:"port,omitempty" structs:",omitempty"`                // ポート
	Path              string                       `json:",omitempty" yaml:"path,omitempty" structs:",omitempty"`                // HTTP/HTTPS監視の場合のリクエストパス
	Status            types.StringNumber           `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`              // HTTP/HTTPS監視の場合の期待ステータスコード
	SNI               types.StringFlag             `yaml:"sni"`                                                                  // HTTPS監視時のSNI有効/無効
	Host              string                       `json:",omitempty" yaml:"host,omitempty" structs:",omitempty"`                // 対象ホスト(IP or FQDN)
	BasicAuthUsername string                       `json:",omitempty" yaml:"basic_auth_username,omitempty" structs:",omitempty"` // HTTP/HTTPS監視の場合のBASIC認証 ユーザー名
	BasicAuthPassword string                       `json:",omitempty" yaml:"basic_auth_password,omitempty" structs:",omitempty"` // HTTP/HTTPS監視の場合のBASIC認証 パスワード
	ContainsString    string                       `json:",omitempty" yaml:"contains_string,omitempty" structs:",omitempty"`     // HTTP/HTTPS監視の場合にBODY中に含まれるべき文字列
	QName             string                       `json:",omitempty" yaml:"qname,omitempty" structs:",omitempty"`               // DNS監視の場合の問い合わせFQDN
	ExpectedData      string                       `json:",omitempty" yaml:"expected_data,omitempty" structs:",omitempty"`       // DNS/SNMP監視の場合の期待値
	Community         string                       `json:",omitempty" yaml:"community,omitempty" structs:",omitempty"`           // SNMP監視の場合のコミュニティ名
	SNMPVersion       string                       `json:",omitempty" yaml:"snmp_version,omitempty" structs:",omitempty"`        // SNMP監視 SNMPバージョン
	OID               string                       `json:",omitempty" yaml:"oid,omitempty" structs:",omitempty"`                 // SNMP監視 OID
	RemainingDays     int                          `json:",omitempty" yaml:"remaining_days,omitempty" structs:",omitempty"`      // SSL証明書 有効残日数
	HTTP2             types.StringFlag             `yaml:"http2"`                                                                // HTTPS監視の場合にHTTP/2を利用するか
	FTPS              types.ESimpleMonitorFTPS     `yaml:"ftps"`                                                                 // FTP監視の場合のFTPS接続のimplicit/explicit,値は空になり得る
	VerifySNI         types.StringFlag             `yaml:"verify_sni"`
}

SimpleMonitorHealthCheck シンプル監視 ヘルスチェック

type SimpleMonitorHealthCheckStatus

type SimpleMonitorHealthCheckStatus struct {
	LastCheckedAt       *time.Time                 `json:",omitempty" yaml:"last_checked_at,omitempty" structs:",omitempty"`
	LastHealthChangedAt *time.Time                 `json:",omitempty" yaml:"last_health_changed_at,omitempty" structs:",omitempty"`
	Health              types.ESimpleMonitorHealth `json:",omitempty" yaml:"health,omitempty" structs:",omitempty"`
	LatestLogs          []string                   `json:",omitempty" yaml:"latest_logs,omitempty" structs:",omitempty"`
}

SimpleMonitorHealthCheckStatus シンプル監視ステータス

type SimpleMonitorNotifyEmail

type SimpleMonitorNotifyEmail struct {
	Enabled types.StringFlag `yaml:"enabled"` // 有効/無効
	HTML    types.StringFlag `yaml:"html"`    // メール通知の場合のHTMLメール有効フラグ
}

SimpleMonitorNotifyEmail Eメールでの通知設定

type SimpleMonitorNotifySlack

type SimpleMonitorNotifySlack struct {
	Enabled             types.StringFlag `yaml:"enabled"`                                                                // 有効/無効
	IncomingWebhooksURL string           `json:",omitempty" yaml:"incoming_webhooks_url,omitempty" structs:",omitempty"` // Slack通知の場合のWebhook URL
}

SimpleMonitorNotifySlack Slackでの通知設定

type SimpleMonitorSetting

type SimpleMonitorSetting struct {
	DelayLoop        int                       `json:",omitempty" yaml:"delay_loop,omitempty" structs:",omitempty"`
	MaxCheckAttempts int                       `json:",omitempty" yaml:"max_check_attempts,omitempty" structs:",omitempty"`
	RetryInterval    int                       `json:",omitempty" yaml:"retry_interval,omitempty" structs:",omitempty"`
	HealthCheck      *SimpleMonitorHealthCheck `json:",omitempty" yaml:"health_check,omitempty" structs:",omitempty"`
	Enabled          types.StringFlag          `yaml:"enabled"`
	NotifyEmail      *SimpleMonitorNotifyEmail `json:",omitempty" yaml:"notify_email,omitempty" structs:",omitempty"`
	NotifySlack      *SimpleMonitorNotifySlack `json:",omitempty" yaml:"notify_slack,omitempty" structs:",omitempty"`
	NotifyInterval   int                       `json:",omitempty" yaml:"notify_interval,omitempty" structs:",omitempty"` // 再通知間隔(秒単位)
	Timeout          int                       `json:",omitempty" yaml:"timeout,omitempty" structs:",omitempty"`
}

SimpleMonitorSetting シンプル監視セッティング

type SimpleMonitorSettings

type SimpleMonitorSettings struct {
	SimpleMonitor *SimpleMonitorSetting `json:",omitempty" yaml:"simple_monitor,omitempty" structs:",omitempty"`
}

SimpleMonitorSettings シンプル監視セッティング

type SimpleMonitorSettingsUpdate

type SimpleMonitorSettingsUpdate struct {
	Settings     *SimpleMonitorSettings `json:",omitempty" yaml:"settings,omitempty" structs:",omitempty"`
	SettingsHash string                 `json:",omitempty" yaml:"settings_hash,omitempty" structs:",omitempty"`
}

SimpleMonitorSettingsUpdate シンプル監視

type SimpleMonitorStatus

type SimpleMonitorStatus struct {
	Target string `json:",omitempty" yaml:"target,omitempty" structs:",omitempty"` // 対象のIPアドレス or ホスト名
}

SimpleMonitorStatus シンプル監視 設定状況

type SourceArchive

type SourceArchive struct {
	ArchiveUnderZone *SourceArchiveInfo `json:",omitempty" yaml:"archive_under_zone,omitempty" structs:",omitempty"`
}

SourceArchive 他ゾーンから転送したアーカイブの情報

type SourceArchiveInfo

type SourceArchiveInfo struct {
	ID      types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Account *struct {
		ID types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	} `json:",omitempty" yaml:"account,omitempty" structs:",omitempty"`
	Zone *struct {
		ID   types.ID `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
		Name string   `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	} `json:",omitempty" yaml:"zone,omitempty" structs:",omitempty"`
}

SourceArchiveInfo 他ゾーンから転送したアーカイブの情報

type Storage

type Storage struct {
	ID          types.ID  `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name        string    `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description string    `json:",omitempty" yaml:"description,omitempty" structs:",omitempty"`
	Generation  int       `json:",omitempty" yaml:"generation,omitempty" structs:",omitempty"`
	Class       string    `json:",omitempty" yaml:"class,omitempty" structs:",omitempty"`
	DiskPlan    *DiskPlan `json:",omitempty" yaml:"disk_plan,omitempty" structs:",omitempty"`
	Zone        *Zone     `json:",omitempty" yaml:"zone,omitempty" structs:",omitempty"`
}

Storage ストレージ

type Subnet

type Subnet struct {
	ID             types.ID    `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	ServiceClass   string      `json:",omitempty" yaml:"service_class,omitempty" structs:",omitempty"`
	CreatedAt      *time.Time  `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	DefaultRoute   string      `json:",omitempty" yaml:"default_route,omitempty" structs:",omitempty"`
	NetworkAddress string      `json:",omitempty" yaml:"network_address,omitempty" structs:",omitempty"`
	NetworkMaskLen int         `json:",omitempty" yaml:"network_mask_len,omitempty" structs:",omitempty"`
	ServiceID      types.ID    `json:",omitempty" yaml:"service_id,omitempty" structs:",omitempty"`
	StaticRoute    string      `json:",omitempty" yaml:"static_route,omitempty" structs:",omitempty"`
	NextHop        string      `json:",omitempty" yaml:"next_hop,omitempty" structs:",omitempty"`
	Switch         *Switch     `json:",omitempty" yaml:"switch,omitempty" structs:",omitempty"`
	Internet       *Internet   `json:",omitempty" yaml:"internet,omitempty" structs:",omitempty"`
	IPAddresses    interface{} `json:",omitempty" yaml:"ip_addresses,omitempty" structs:",omitempty"`
}

Subnet サブネット

type SubnetIPAddressRange

type SubnetIPAddressRange struct {
	Min string `yaml:"min"`
	Max string `yaml:"max"`
}

SubnetIPAddressRange ルータ+スイッチのスイッチ配下から参照できるSubnetでの割り当てられているIPアドレス範囲

type SubnetOperationRequest

type SubnetOperationRequest struct {
	NetworkMaskLen int    `json:",omitempty" yaml:"network_mask_len,omitempty" structs:",omitempty"`
	NextHop        string `json:",omitempty" yaml:"next_hop,omitempty" structs:",omitempty"`
}

SubnetOperationRequest サブネット追加時のリクエストパラメータ

type Switch

type Switch struct {
	ID               types.ID          `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name             string            `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description      string            `yaml:"description"`
	Tags             types.Tags        `yaml:"tags"`
	Icon             *Icon             `json:",omitempty" yaml:"icon,omitempty" structs:",omitempty"`
	CreatedAt        *time.Time        `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	ModifiedAt       *time.Time        `json:",omitempty" yaml:"modified_at,omitempty" structs:",omitempty"`
	Scope            types.EScope      `json:",omitempty" yaml:"scope,omitempty" structs:",omitempty"`
	Subnet           *Subnet           `json:",omitempty" yaml:"subnet,omitempty" structs:",omitempty"`
	UserSubnet       *UserSubnet       `json:",omitempty" yaml:"user_subnet,omitempty" structs:",omitempty"`
	Zone             *Zone             `json:",omitempty" yaml:"zone,omitempty" structs:",omitempty"`
	Internet         *Internet         `json:",omitempty" yaml:"internet,omitempty" structs:",omitempty"`
	Subnets          []*Subnet         `json:",omitempty" yaml:"subnets,omitempty" structs:",omitempty"`
	IPv6Nets         []*IPv6Net        `json:",omitempty" yaml:"ipv6nets,omitempty" structs:",omitempty"`
	Bridge           *Bridge           `json:",omitempty" yaml:"bridge,omitempty" structs:",omitempty"`
	ServerCount      int               `json:",omitempty" yaml:"server_count,omitempty" structs:",omitempty"`
	HybridConnection *HybridConnection `json:",omitempty" yaml:"hybrid_connection,omitempty" structs:",omitempty"`
}

Switch スイッチ

type TrafficMonitoringConfig

type TrafficMonitoringConfig struct {
	TrafficQuotaInMB     int                          `json:"traffic_quota_in_mb" yaml:"traffic_quota_in_mb"`
	BandWidthLimitInKbps int                          `json:"bandwidth_limit_in_kbps" yaml:"bandwidth_limit_in_kbps"`
	EMailConfig          TrafficMonitoringNotifyEmail `json:"email_config" yaml:"email_config"`
	SlackConfig          TrafficMonitoringNotifySlack `json:"slack_config" yaml:"slack_config"`
	AutoTrafficShaping   bool                         `json:"auto_traffic_shaping" yaml:"auto_traffic_shaping"`
}

TrafficMonitoringConfig トラフィックコントロール 設定

type TrafficMonitoringNotifyEmail

type TrafficMonitoringNotifyEmail struct {
	Enabled bool `json:"enabled" yaml:"enabled"` // 有効/無効
}

TrafficMonitoringNotifyEmail トラフィックコントロール通知設定

type TrafficMonitoringNotifySlack

type TrafficMonitoringNotifySlack struct {
	Enabled             bool   `json:"enabled" yaml:"enabled"`                         // 有効/無効
	IncomingWebhooksURL string `json:"slack_url,omitempty" yaml:"slack_url,omitempty"` // Slack通知の場合のWebhook URL
}

TrafficMonitoringNotifySlack トラフィックコントロール通知設定

type TrafficStatus

type TrafficStatus struct {
	UplinkBytes    types.StringNumber `json:"uplink_bytes,omitempty" yaml:"uplink_bytes,omitempty" structs:",omitempty"`
	DownlinkBytes  types.StringNumber `json:"downlink_bytes,omitempty" yaml:"downlink_bytes,omitempty" structs:",omitempty"`
	TrafficShaping bool               `json:"traffic_shaping" yaml:"traffic_shaping"` // 帯域制限
}

TrafficStatus トラフィックコントロール 当月通信量

func (*TrafficStatus) UnmarshalJSON

func (s *TrafficStatus) UnmarshalJSON(data []byte) error

UnmarshalJSON JSONアンマーシャル(uint64文字列対応)

type UserSubnet

type UserSubnet struct {
	DefaultRoute   string `yaml:"default_route"`
	NetworkMaskLen int    `yaml:"network_mask_len"`
}

UserSubnet ユーザーサブネット

func (*UserSubnet) UnmarshalJSON

func (s *UserSubnet) UnmarshalJSON(data []byte) error

UnmarshalJSON DefaultRouteがからの場合に"0.0.0.0"となることへの対応

type VNCProxy

type VNCProxy struct {
	HostName  string `json:",omitempty" yaml:"host_name,omitempty" structs:",omitempty"`
	IPAddress string `json:",omitempty" yaml:"ip_address,omitempty" structs:",omitempty"`
}

VNCProxy VNCプロキシ

type VNCProxyInfo

type VNCProxyInfo struct {
	Status       string `json:",omitempty"` // ステータス
	Host         string `json:",omitempty"` // プロキシホスト
	IOServerHost string `json:",omitempty"` // 新プロキシホスト(Hostがlocalhostの場合にこちらを利用する)
	Port         string `json:",omitempty"` // ポート番号
	Password     string `json:",omitempty"` // VNCパスワード
	VNCFile      string `json:",omitempty"` // VNC接続情報ファイル(VNCビューア用)
}

VNCProxyInfo サーバに対するVNCProxy

type VPCRouter

type VPCRouter struct {
	ID           types.ID            `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Class        string              `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Name         string              `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Description  string              `yaml:"description"`
	Plan         *AppliancePlan      `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Settings     *VPCRouterSettings  `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SettingsHash string              `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Remark       *ApplianceRemark    `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Availability types.EAvailability `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Instance     *Instance           `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	ServiceClass string              `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	CreatedAt    *time.Time          `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Icon         *Icon               `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Switch       *Switch             `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Interfaces   Interfaces          `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Tags         types.Tags          `yaml:"tags"`
}

VPCRouter VPCルータ

type VPCRouterDHCPServer

type VPCRouterDHCPServer struct {
	Config  []*VPCRouterDHCPServerConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag             `yaml:"enabled"`
}

VPCRouterDHCPServer DHCPサーバ

func (*VPCRouterDHCPServer) MarshalJSON

func (f *VPCRouterDHCPServer) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterDHCPServerConfig

type VPCRouterDHCPServerConfig struct {
	Interface  string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	RangeStop  string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	RangeStart string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	DNSServers []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterDHCPServerConfig DHCPサーバ

type VPCRouterDHCPStaticMappingConfig

type VPCRouterDHCPStaticMappingConfig struct {
	MACAddress string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	IPAddress  string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterDHCPStaticMappingConfig DHCPスタティックマッピング

type VPCRouterDHCPStaticMappings

type VPCRouterDHCPStaticMappings struct {
	Config  []*VPCRouterDHCPStaticMappingConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag                    `yaml:"enabled"`
}

VPCRouterDHCPStaticMappings DHCPスタティックマッピング

func (*VPCRouterDHCPStaticMappings) MarshalJSON

func (f *VPCRouterDHCPStaticMappings) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterDNSForwarding added in v2.31.0

type VPCRouterDNSForwarding struct {
	Interface  string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	DNSServers []string
	Enabled    types.StringFlag `yaml:"enabled"`
}

VPCRouterDNSForwarding DNSフォワーディング

func (*VPCRouterDNSForwarding) MarshalJSON added in v2.31.0

func (f *VPCRouterDNSForwarding) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterFirewall

type VPCRouterFirewall struct {
	Config  VPCRouterFirewallConfigs `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag         `yaml:"enabled"`
}

VPCRouterFirewall ファイアウォール

func (*VPCRouterFirewall) MarshalJSON

func (f *VPCRouterFirewall) MarshalJSON() ([]byte, error)

MarshalJSON 常にEnabledをtrueに設定する

type VPCRouterFirewallConfig

type VPCRouterFirewallConfig struct {
	Receive []*VPCRouterFirewallRule `yaml:"receive"`
	Send    []*VPCRouterFirewallRule `yaml:"send"`

	// Index 仮想フィールド UnmarshalJSONの中で設定される
	Index int `json:"-"`
}

VPCRouterFirewallConfig ファイアウォール

type VPCRouterFirewallConfigs

type VPCRouterFirewallConfigs [8]*VPCRouterFirewallConfig

VPCRouterFirewallConfigs VPCルータのファイアウォール設定

配列のインデックスで対象インターフェースを表す

func (*VPCRouterFirewallConfigs) MarshalJSON

func (i *VPCRouterFirewallConfigs) MarshalJSON() ([]byte, error)

MarshalJSON 配列中にnullが入る場合(VPCルータなど)への対応

func (*VPCRouterFirewallConfigs) UnmarshalJSON

func (i *VPCRouterFirewallConfigs) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列中にnullが返ってくる(VPCルータなど)への対応

type VPCRouterFirewallRule

type VPCRouterFirewallRule struct {
	Protocol           types.Protocol           `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SourceNetwork      types.VPCFirewallNetwork `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SourcePort         types.VPCFirewallPort    `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	DestinationNetwork types.VPCFirewallNetwork `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	DestinationPort    types.VPCFirewallPort    `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Action             types.Action             `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Logging            types.StringFlag         `yaml:"enabled"`
	Description        string                   `yaml:"description"`
}

VPCRouterFirewallRule ファイアウォール ルール

type VPCRouterInterface

type VPCRouterInterface struct {
	IPAddress        []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	VirtualIPAddress string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	IPAliases        []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	NetworkMaskLen   int      `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	// Index 仮想フィールド、VPCルータなどでInterfaces(実体は[]*Interface)を扱う場合にUnmarshalJSONの中で設定される
	//
	// Findした際のAPIからの応答にも同名のフィールドが含まれるが無関係。
	Index int `json:"-"`
}

VPCRouterInterface インターフェース

func (*VPCRouterInterface) MarshalJSON

func (i *VPCRouterInterface) MarshalJSON() ([]byte, error)

MarshalJSON JSON

type VPCRouterInterfaces

type VPCRouterInterfaces []*VPCRouterInterface

VPCRouterInterfaces Interface配列

配列中にnullが返ってくる(VPCルータなど)への対応のためのtype

func (*VPCRouterInterfaces) MarshalJSON

func (i *VPCRouterInterfaces) MarshalJSON() ([]byte, error)

MarshalJSON 配列中にnullが入る場合(VPCルータなど)への対応

func (*VPCRouterInterfaces) UnmarshalJSON

func (i *VPCRouterInterfaces) UnmarshalJSON(b []byte) error

UnmarshalJSON 配列中にnullが返ってくる(VPCルータなど)への対応

type VPCRouterInternetConnection

type VPCRouterInternetConnection struct {
	Enabled types.StringFlag `yaml:"enabled"`
}

VPCRouterInternetConnection インターフェース

type VPCRouterL2TPIPsecServer

type VPCRouterL2TPIPsecServer struct {
	Config  *VPCRouterL2TPIPsecServerConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag                `yaml:"enabled"`
}

VPCRouterL2TPIPsecServer L2TP

type VPCRouterL2TPIPsecServerConfig

type VPCRouterL2TPIPsecServerConfig struct {
	RangeStart      string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	RangeStop       string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PreSharedSecret string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterL2TPIPsecServerConfig L2TP

type VPCRouterPPTPServer

type VPCRouterPPTPServer struct {
	Config  *VPCRouterPPTPServerConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag           `yaml:"enabled"`
}

VPCRouterPPTPServer PPTP

type VPCRouterPPTPServerConfig

type VPCRouterPPTPServerConfig struct {
	RangeStart string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	RangeStop  string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterPPTPServerConfig PPTP

type VPCRouterPortForwarding

type VPCRouterPortForwarding struct {
	Config  []*VPCRouterPortForwardingConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag                 `yaml:"enabled"`
}

VPCRouterPortForwarding ポートフォワーディング設定

func (*VPCRouterPortForwarding) MarshalJSON

func (f *VPCRouterPortForwarding) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterPortForwardingConfig

type VPCRouterPortForwardingConfig struct {
	Protocol       types.EVPCRouterPortForwardingProtocol `json:",omitempty"` // プロトコル(tcp/udp)
	GlobalPort     types.StringNumber                     `json:",omitempty"` // グローバル側ポート
	PrivateAddress string                                 `json:",omitempty"` // プライベートIPアドレス
	PrivatePort    types.StringNumber                     `json:",omitempty"` // プライベート側ポート
	Description    string                                 `json:",omitempty"` // 説明
}

VPCRouterPortForwardingConfig ポートフォワーディング設定

type VPCRouterRemoteAccessUserConfig

type VPCRouterRemoteAccessUserConfig struct {
	UserName string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Password string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterRemoteAccessUserConfig リモートアクセスユーザー

type VPCRouterRemoteAccessUsers

type VPCRouterRemoteAccessUsers struct {
	Config  []*VPCRouterRemoteAccessUserConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag                   `yaml:"enabled"`
}

VPCRouterRemoteAccessUsers リモートアクセスユーザー

func (*VPCRouterRemoteAccessUsers) MarshalJSON

func (f *VPCRouterRemoteAccessUsers) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterSetting

type VPCRouterSetting struct {
	InternetConnection *VPCRouterInternetConnection `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Interfaces         VPCRouterInterfaces          `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	VRID               int                          `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	StaticNAT          *VPCRouterStaticNAT          `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PortForwarding     *VPCRouterPortForwarding     `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Firewall           *VPCRouterFirewall           `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	DHCPServer         *VPCRouterDHCPServer         `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	DHCPStaticMapping  *VPCRouterDHCPStaticMappings `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	DNSForwarding      *VPCRouterDNSForwarding      `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PPTPServer         *VPCRouterPPTPServer         `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	L2TPIPsecServer    *VPCRouterL2TPIPsecServer    `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	WireGuard          *VPCRouterWireGuard          `json:"WireGuardServer,omitempty" yaml:",omitempty" structs:",omitempty"`
	RemoteAccessUsers  *VPCRouterRemoteAccessUsers  `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SiteToSiteIPsecVPN *VPCRouterSiteToSiteIPsecVPN `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	StaticRoutes       *VPCRouterStaticRoutes       `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SyslogHost         string                       `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterSetting VPCルータ 設定

type VPCRouterSettings

type VPCRouterSettings struct {
	Router *VPCRouterSetting `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterSettings VPCルータ 設定

type VPCRouterSettingsUpdate

type VPCRouterSettingsUpdate struct {
	Settings     *VPCRouterSettings `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SettingsHash string             `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterSettingsUpdate VPCルータ

type VPCRouterSiteToSiteIPsecVPN

type VPCRouterSiteToSiteIPsecVPN struct {
	Config  []*VPCRouterSiteToSiteIPsecVPNConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag                     `yaml:"enabled"`
}

VPCRouterSiteToSiteIPsecVPN サイト間VPN

func (*VPCRouterSiteToSiteIPsecVPN) MarshalJSON

func (f *VPCRouterSiteToSiteIPsecVPN) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterSiteToSiteIPsecVPNConfig

type VPCRouterSiteToSiteIPsecVPNConfig struct {
	Peer            string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PreSharedSecret string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	RemoteID        string   `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Routes          []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	LocalPrefix     []string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterSiteToSiteIPsecVPNConfig サイト間VPN

type VPCRouterStaticNAT

type VPCRouterStaticNAT struct {
	Config  []*VPCRouterStaticNATConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag            `yaml:"enabled"`
}

VPCRouterStaticNAT スタティックNAT

func (*VPCRouterStaticNAT) MarshalJSON

func (f *VPCRouterStaticNAT) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterStaticNATConfig

type VPCRouterStaticNATConfig struct {
	GlobalAddress  string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PrivateAddress string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Description    string `yaml:"description"`
}

VPCRouterStaticNATConfig スタティックNAT

type VPCRouterStaticRouteConfig

type VPCRouterStaticRouteConfig struct {
	Prefix  string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	NextHop string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterStaticRouteConfig スタティックルート

type VPCRouterStaticRoutes

type VPCRouterStaticRoutes struct {
	Config  []*VPCRouterStaticRouteConfig `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	Enabled types.StringFlag              `yaml:"enabled"`
}

VPCRouterStaticRoutes スタティックルート

func (*VPCRouterStaticRoutes) MarshalJSON

func (f *VPCRouterStaticRoutes) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterStatisticsValue added in v2.23.0

type VPCRouterStatisticsValue struct {
	Name  string `json:"name,omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Count int    `json:"count,omitempty" yaml:"count,omitempty" structs:",omitempty"`
}

VPCRouterStatisticsValue VPCルータのセッション統計情報

type VPCRouterStatus

type VPCRouterStatus struct {
	FirewallReceiveLogs    []string             `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	FirewallSendLogs       []string             `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	VPNLogs                []string             `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SessionCount           int                  `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PercentageOfMemoryFree []types.StringNumber `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	DHCPServerLeases       []struct {
		IPAddress  string
		MACAddress string
	} `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	L2TPIPsecServerSessions []struct {
		User      string
		IPAddress string
		TimeSec   int
	} `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PPTPServerSessions []struct {
		User      string
		IPAddress string
		TimeSec   int
	} `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	WireGuard *struct {
		PublicKey string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	} `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SiteToSiteIPsecVPNPeers []struct {
		Status string
		Peer   string
	} `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	SessionAnalysis *struct {
		SourceAndDestination []*VPCRouterStatisticsValue `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
		DestinationAddress   []*VPCRouterStatisticsValue `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
		DestinationPort      []*VPCRouterStatisticsValue `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
		SourceAddress        []*VPCRouterStatisticsValue `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	} `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterStatus ステータス

type VPCRouterWireGuard added in v2.19.0

type VPCRouterWireGuard struct {
	Config  *VPCRouterWireGuardConfig `yaml:"config"`
	Enabled types.StringFlag          `yaml:"enabled"`
}

VPCRouterWireGuard WireGuardサーバ

func (*VPCRouterWireGuard) MarshalJSON added in v2.21.1

func (f *VPCRouterWireGuard) MarshalJSON() ([]byte, error)

MarshalJSON Configが一つ以上ある場合にEnabledをtrueに設定する

type VPCRouterWireGuardConfig added in v2.19.0

type VPCRouterWireGuardConfig struct {
	IPAddress string                    `yaml:"ip_address"` // xxx.xxx.xxx.xxx/nn
	Peers     []*VPCRouterWireGuardPeer `yaml:"peers"`
}

VPCRouterWireGuardConfig WireGuardサーバコンフィグ

func (*VPCRouterWireGuardConfig) MarshalJSON added in v2.21.1

func (f *VPCRouterWireGuardConfig) MarshalJSON() ([]byte, error)

MarshalJSON Peersがnullを許容しないため代わりに[]を設定する

type VPCRouterWireGuardPeer added in v2.19.0

type VPCRouterWireGuardPeer struct {
	Name      string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	IPAddress string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
	PublicKey string `json:",omitempty" yaml:",omitempty" structs:",omitempty"`
}

VPCRouterWireGuardPeer ピアの設定

type WebAccelCert

type WebAccelCert struct {
	ID               types.ID   `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	SiteID           types.ID   `json:",omitempty" yaml:"site_id,omitempty" structs:",omitempty"`
	CertificateChain string     `json:",omitempty" yaml:"certificate_chain,omitempty" structs:",omitempty"`
	Key              string     `json:",omitempty" yaml:"key,omitempty" structs:",omitempty"`
	CreatedAt        *time.Time `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
	UpdatedAt        *time.Time `json:",omitempty" yaml:"updated_at,omitempty" structs:",omitempty"`
	SerialNumber     string     `json:",omitempty" yaml:"serial_number,omitempty" structs:",omitempty"`
	NotBefore        int64      `json:",omitempty" yaml:"not_before,omitempty" structs:",omitempty"`
	NotAfter         int64      `json:",omitempty" yaml:"not_after,omitempty" structs:",omitempty"`
	Issuer           *struct {
		Country            string `json:",omitempty" yaml:"country,omitempty" structs:",omitempty"`
		Organization       string `json:",omitempty" yaml:"organization,omitempty" structs:",omitempty"`
		OrganizationalUnit string `json:",omitempty" yaml:"organizational_unit,omitempty" structs:",omitempty"`
		CommonName         string `json:",omitempty" yaml:"common_name,omitempty" structs:",omitempty"`
	} `json:",omitempty" yaml:"issuer,omitempty" structs:",omitempty"`
	Subject *struct {
		Country            string `json:",omitempty" yaml:"country,omitempty" structs:",omitempty"`
		Organization       string `json:",omitempty" yaml:"organization,omitempty" structs:",omitempty"`
		OrganizationalUnit string `json:",omitempty" yaml:"organizational_unit,omitempty" structs:",omitempty"`
		Locality           string `json:",omitempty" yaml:"locality,omitempty" structs:",omitempty"`
		Province           string `json:",omitempty" yaml:"province,omitempty" structs:",omitempty"`
		StreetAddress      string `json:",omitempty" yaml:"street_address,omitempty" structs:",omitempty"`
		PostalCode         string `json:",omitempty" yaml:"postal_code,omitempty" structs:",omitempty"`
		SerialNumber       string `json:",omitempty" yaml:"serial_number,omitempty" structs:",omitempty"`
		CommonName         string `json:",omitempty" yaml:"common_name,omitempty" structs:",omitempty"`
	} `json:",omitempty" yaml:"subject,omitempty" structs:",omitempty"`
	DNSNames          []string `json:",omitempty" yaml:"dns_names,omitempty" structs:",omitempty"`
	SHA256Fingerprint string   `json:",omitempty" yaml:"sha256_fingerprint,omitempty" structs:",omitempty"`
}

WebAccelCert ウェブアクセラレータ証明書

type WebAccelCerts

type WebAccelCerts struct {
	Current *WebAccelCert   `json:",omitempty" yaml:"current,omitempty" structs:",omitempty"`
	Old     []*WebAccelCert `json:",omitempty" yaml:"old,omitempty" structs:",omitempty"`
}

WebAccelCerts ウェブアクセラレータ証明書API レスポンスボディ

func (*WebAccelCerts) UnmarshalJSON

func (w *WebAccelCerts) UnmarshalJSON(data []byte) error

UnmarshalJSON JSONアンマーシャル(配列、オブジェクトが混在するためここで対応)

type WebAccelDeleteCacheResult

type WebAccelDeleteCacheResult struct {
	URL    string `json:",omitempty" yaml:"url,omitempty" structs:",omitempty"`
	Status int    `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
	Result string `json:",omitempty" yaml:"result,omitempty" structs:",omitempty"`
}

WebAccelDeleteCacheResult ウェブアクセラレータ キャッシュ削除APIレスポンス

type WebAccelSite

type WebAccelSite struct {
	ID                 types.ID                  `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	Name               string                    `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	DomainType         types.EWebAccelDomainType `json:",omitempty" yaml:"domain_type,omitempty" structs:",omitempty"`
	Domain             string                    `json:",omitempty" yaml:"domain,omitempty" structs:",omitempty"`
	Subdomain          string                    `json:",omitempty" yaml:"subdomain,omitempty" structs:",omitempty"`
	ASCIIDomain        string                    `json:",omitempty" yaml:"ascii_domain,omitempty" structs:",omitempty"`
	Origin             string                    `json:",omitempty" yaml:"origin,omitempty" structs:",omitempty"`
	HostHeader         string                    `json:",omitempty" yaml:"host_header,omitempty" structs:",omitempty"`
	Status             types.EWebAccelStatus     `json:",omitempty" yaml:"status,omitempty" structs:",omitempty"`
	HasCertificate     bool                      `yaml:"has_certificate"`
	HasOldCertificate  bool                      `yaml:"has_old_certificate"`
	GibSentInLastWeek  int64                     `json:",omitempty" yaml:"gib_sent_in_last_week,omitempty" structs:",omitempty"`
	CertValidNotBefore int64                     `json:",omitempty" yaml:"cert_valid_not_before,omitempty" structs:",omitempty"`
	CertValidNotAfter  int64                     `json:",omitempty" yaml:"cert_valid_not_after,omitempty" structs:",omitempty"`
	CreatedAt          *time.Time                `json:",omitempty" yaml:"created_at,omitempty" structs:",omitempty"`
}

WebAccelSite ウェブアクセラレータ サイト

type Zone

type Zone struct {
	ID           types.ID   `json:",omitempty" yaml:"id,omitempty" structs:",omitempty"`
	DisplayOrder int        `json:",omitempty" yaml:"display_order,omitempty" structs:",omitempty"`
	Name         string     `json:",omitempty" yaml:"name,omitempty" structs:",omitempty"`
	Description  string     `json:",omitempty" yaml:"description,omitempty" structs:",omitempty"`
	IsDummy      bool       `yaml:"is_dummy"`
	VNCProxy     *VNCProxy  `json:",omitempty" yaml:"vnc_proxy,omitempty" structs:",omitempty"`
	FTPServer    *FTPServer `json:",omitempty" yaml:"ftp_server,omitempty" structs:",omitempty"`
	Region       *Region    `json:",omitempty" yaml:"region,omitempty" structs:",omitempty"`
}

Zone ゾーン情報

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL