vpsc package

コマンドモジュール

VPSC のコマンド一覧です

vpsc.commands.entry_point()[ソース]

vpsc

VPSC コマンドです。

操作するリソースを指定して実行してください

vpsc [OPTIONS] COMMAND [ARGS]...

nfs-server

NFSサーバーのリソースに対する操作

vpsc nfs-server [OPTIONS] COMMAND [ARGS]...
list

NFSサーバー情報の取得

vpsc nfs-server list [OPTIONS]

Options

-id, --nfs-server-id <nfs_server_id>

NFSサーバーID

power-status

NFSサーバーの電源状態を取得

vpsc nfs-server power-status [OPTIONS]

Options

-id, --nfs-server-id <nfs_server_id>

Required サーバーID

update

サーバー情報更新

vpsc nfs-server update [OPTIONS]

Options

-id, --nfs-server-id <nfs_server_id>

NFSサーバーID

-n, --name <name>

名前

-d, --description <description>

説明

update-ipv4

NFSサーバーのipv4を設定

vpsc nfs-server update-ipv4 [OPTIONS]

Options

-id, --nfs-server-id <nfs_server_id>

NFSサーバーID

-h, --hostname <hostname>

Required ホスト名

server

サーバーリソースに対する操作

vpsc server [OPTIONS] COMMAND [ARGS]...
list

サーバー情報の取得

vpsc server list [OPTIONS]

Options

-id, --server-id <server_id>

サーバーID

power-on

サーバーを起動

vpsc server power-on [OPTIONS]

Options

-id, --server-id <server_id>

Required サーバーID

power-status

サーバーの電源状態を取得

vpsc server power-status [OPTIONS]

Options

-id, --server-id <server_id>

Required サーバーID

ptr-record

サーバーの逆引きホスト名を設定

vpsc server ptr-record [OPTIONS]

Options

-id, --server-id <server_id>

Required サーバーID

-t, --type <type>

Required 設定タイプ

Options:

ipv4 | ipv6

-h, --hostname <hostname>

Required ホスト名

shutdown

サーバーをシャットダウン

vpsc server shutdown [OPTIONS]

Options

-id, --server-id <server_id>

Required サーバーID

-f, --force

強制的にシャットダウン

update

サーバー情報更新

vpsc server update [OPTIONS]

Options

-id, --server-id <server_id>

Required サーバーID

-n, --name <name>

名前

-d, --description <description>

説明

データモデル

APIとのやりとりに使われるモデルデータです。

APIドキュメント を基に自動生成したモデルに、必要なものを手動で追加しています。

pydantic model vpsc.models.Contract[ソース]

ベースクラス: BaseModel

Fields:
field plan_code: int [Required]

プランコード

field plan_name: str [Required]

プラン名

field service_code: str [Required]

サービスコード

pydantic model vpsc.models.Contract1[ソース]

ベースクラス: BaseModel

Fields:
field plan_code: int [Required]

プランコード

field plan_name: str [Required]

プラン名

field service_code: str [Required]

サービスコード

pydantic model vpsc.models.CreateSwitch[ソース]

ベースクラス: BaseModel

Fields:
field description: str [Required]

説明

field name: str [Required]

名前

field zone_code: Literal['tk2', 'tk3', 'os3', 'is1'] [Required]

ゾーンコード

pydantic model vpsc.models.Errors[ソース]

ベースクラス: BaseModel

Fields:
field non_field_errors: InvalidParameterDetail | None = None
pydantic model vpsc.models.ExternalConnection[ソース]

ベースクラス: BaseModel

Fields:
field service_code: str [Required]

サービスコード

field services: List[Service] [Required]
field type: Literal['cloud', 'sales', 'localrouter', 'awsdxcon'] [Required]

外部接続方式

pydantic model vpsc.models.InvalidParameterDetail[ソース]

ベースクラス: RootModel[List[InvalidParameterDetailItem]]

Fields:
field root: List[InvalidParameterDetailItem] [Required]
pydantic model vpsc.models.InvalidParameterDetailItem[ソース]

ベースクラス: BaseModel

Fields:
field code: str | None = None

エラー内容を示す簡潔な識別子

field message: str | None = None
pydantic model vpsc.models.Ipv4[ソース]

ベースクラス: BaseModel

Fields:
field address: str [Required]

アドレス

field gateway: str [Required]

ゲートウェイのアドレス

field hostname: str [Required]

標準ホスト名

field nameservers: List[str] [Required]

ネームサーバーのアドレスリスト

field netmask: str [Required]

サブネットマスク

field ptr: str [Required]

逆引きホスト名

pydantic model vpsc.models.Ipv41[ソース]

ベースクラス: BaseModel

Fields:
field address: str [Required]

アドレス

field netmask: str [Required]

サブネットマスク

pydantic model vpsc.models.Ipv6[ソース]

ベースクラス: BaseModel

Fields:
field address: str | None [Required]

アドレス

field gateway: str | None [Required]

ゲートウェイのアドレス

field hostname: str | None [Required]

標準ホスト名

field nameservers: List[str] = []

ネームサーバーのアドレスリスト

field prefixlen: int | None [Required]

プレフィックス長

field ptr: str | None [Required]

逆引きホスト名

pydantic model vpsc.models.NfsServer[ソース]

ベースクラス: BaseModel

Fields:
field contract: Contract1 [Required]

契約情報

field description: str [Required]

説明

field id: int [Required]

id

field ipv4: Ipv41 [Required]
field name: str [Required]

名前

field power_status: Literal['power_on', 'in_shutdown', 'power_off', 'unknown'] [Required]

電源ステータス

  • power_on 電源ON

  • in_shutdown シャットダウン中

  • power_off 電源OFF

  • unknown 不明(電源状態を取得できない)

このエンドポイントが返す電源ステータスはキャッシュされた情報のため、最新の正確な電源ステータスではない場合があります

field service_status: Literal['in_preparation', 'on_trial', 'link_down_on_trial', 'in_use', 'link_down'] [Required]

サービス状況

  • in_preparation 準備中

  • on_trial お試し中

  • link_down_on_trial お試し中(一時停止)

  • in_use 利用中

  • link_down 一時停止中

field setting_status: Literal['done', 'in_update', 'failed'] [Required]

設定状況

  • done 設定完了

  • in_update 設定更新中

  • failed 設定更新失敗

field storage: List[StorageItem1] [Required]

ストレージ情報

field zone: Zone [Required]

ゾーン情報

pydantic model vpsc.models.NfsServerPowerStatus[ソース]

ベースクラス: BaseModel

Fields:
field status: Literal['power_on', 'in_shutdown', 'power_off', 'unknown'] [Required]

電源ステータス

  • power_on 電源ON

  • in_shutdown シャットダウン中

  • power_off 電源OFF

  • unknown 不明(電源状態を取得できない)

pydantic model vpsc.models.Pagination[ソース]

ベースクラス: BaseModel

Fields:
field count: int [Required]

データ総数

field next: AnyUrl [Required]

次のページへのURL

field previous: AnyUrl [Required]

前のページへのURL

pydantic model vpsc.models.ProblemDetails400[ソース]

ベースクラス: BaseModel

Fields:
field code: Literal['invalid', 'parse_error', 'bad_request'] | None = None

エラー内容を示す簡潔な識別子

  • invalid - 不正なリクエスト値,リクエスト値が妥当でない

  • parse_error - 不正な形式,リクエスト値を読み取ることができない

  • bad_request - リクエストの内容に何らかの問題がある

field errors: Errors | None = None

入力値に対するエラーを構造化した情報

(code`invalid`の場合のみ) * non_field_errors - リクエスト全体に起因した(単一項目でない)エラー内容 * * - 対応した入力項目ごとのエラー内容

field message: str | None = None

エラーの内容

pydantic model vpsc.models.ProblemDetails404[ソース]

ベースクラス: BaseModel

Fields:
field code: Literal['not_found'] | None = None
field message: str | None = None

エラーの内容

pydantic model vpsc.models.ProblemDetails409[ソース]

ベースクラス: BaseModel

Fields:
field code: Literal['conflict'] | None = None
field message: str | None = None

エラーの内容

pydantic model vpsc.models.ProblemDetails429[ソース]

ベースクラス: BaseModel

Fields:
field code: Literal['throttled'] | None = None
field message: str | None = None

エラーの内容

pydantic model vpsc.models.ProblemDetails503[ソース]

ベースクラス: BaseModel

Fields:
field code: Literal['temporary_unavailable'] | None = None
field message: str | None = None

エラーの内容

pydantic model vpsc.models.Server[ソース]

ベースクラス: BaseModel

Fields:
field contract: Contract [Required]

契約情報

field cpu_cores: int [Required]

CPUコア数

field description: str [Required]

説明

field id: int [Required]

id

field ipv4: Ipv4 [Required]
field ipv6: Ipv6 [Required]
field memory_mebibytes: int [Required]

メモリ容量(MiB)

field name: str [Required]

名前

field options: List[str] [Required]

オプション(追加ソフトウェア)

field power_status: Literal['power_on', 'in_shutdown', 'power_off', 'installing', 'in_scaleup', 'migration', 'unknown'] [Required]

電源ステータス

  • power_on 電源ON

  • in_shutdown シャットダウン中

  • power_off 電源OFF

  • installing OSインストール中

  • in_scaleup スケールアップ中

  • migration サーバー移行作業中

  • unknown 不明(電源状態を取得できない)

このエンドポイントが返す電源ステータスはキャッシュされた情報のため、最新の正確な電源ステータスが必要な場合は

をご利用ください

field service_status: Literal['on_trial', 'link_down_on_trial', 'in_use', 'link_down'] [Required]

サービス状況

  • on_trial お試し中

  • link_down_on_trial お試し中(一時停止)

  • in_use 利用中

  • link_down 一時停止中

field service_type: Literal['linux', 'windows'] [Required]

サービスタイプ

field storage: List[StorageItem] [Required]

ストレージ情報

field version: str [Required]

プランの世代

field zone: Zone [Required]

ゾーン情報

pydantic model vpsc.models.ServerPowerStatus[ソース]

ベースクラス: BaseModel

Fields:
field status: Literal['power_on', 'in_shutdown', 'power_off', 'installing', 'in_scaleup', 'migration', 'unknown'] [Required]

電源ステータス

  • power_on 電源ON

  • in_shutdown シャットダウン中

  • power_off 電源OFF

  • installing OSインストール中

  • in_scaleup スケールアップ中

  • migration サーバー移行作業中

  • unknown 不明(電源状態を取得できない)

pydantic model vpsc.models.Service[ソース]

ベースクラス: BaseModel

Fields:
field service_category: str [Required]

サービスカテゴリー

field service_name: str [Required]

サービス名

field switch_code: str [Required]

スイッチコード

pydantic model vpsc.models.ShutdownServer[ソース]

ベースクラス: BaseModel

Fields:
field force: bool = False

強制停止を行うか

pydantic model vpsc.models.StorageItem[ソース]

ベースクラス: BaseModel

Fields:
field port: int [Required]

ポート番号

field size_gibibytes: int [Required]

ストレージ容量(GiB)

field type: Literal['ssd', 'hdd'] [Required]

種別

pydantic model vpsc.models.StorageItem1[ソース]

ベースクラス: BaseModel

Fields:
field size_gibibytes: int [Required]

ストレージ容量(GiB)

field type: Literal['ssd', 'hdd'] [Required]

種別

pydantic model vpsc.models.Switch[ソース]

ベースクラス: BaseModel

Fields:
field description: str [Required]

説明

field external_connection: ExternalConnection | None [Required]

接続されている外部接続の情報

field id: int [Required]

id

field name: str [Required]

名前

field nfs_server_interfaces: List[int] [Required]

接続されている追加ストレージ(NFS)のインターフェースid

field server_interfaces: List[int] [Required]

接続されているサーバーのインターフェースid

field switch_code: str [Required]

スイッチコード

field zone: Zone [Required]

ゾーン情報

pydantic model vpsc.models.UpdateHost[ソース]

ベースクラス: BaseModel

Fields:
field hostname: str [Required]

ホスト名

pydantic model vpsc.models.UpdateNfsServer[ソース]

ベースクラス: BaseModel

Fields:
field description: str [Required]

説明

field name: str [Required]

名前

pydantic model vpsc.models.UpdateNfsServerIpv4[ソース]

ベースクラス: BaseModel

Fields:
field address: str [Required]

アドレス

field netmask: str [Required]

サブネットマスク

pydantic model vpsc.models.UpdateServer[ソース]

ベースクラス: BaseModel

Fields:
field description: str [Required]

説明

field name: str [Required]

名前

pydantic model vpsc.models.UpdateSwitch[ソース]

ベースクラス: BaseModel

Fields:
field description: str [Required]

説明

field name: str [Required]

名前

pydantic model vpsc.models.Zone[ソース]

ベースクラス: BaseModel

Fields:
field code: Literal['tk1', 'tk2', 'tk3', 'os1', 'os2', 'os3', 'is1'] [Required]

ゾーンコード

  • tk1 東京第1

  • tk2 東京第2

  • tk3 東京第3

  • os1 大阪第1

  • os2 大阪第2

  • os3 大阪第3

  • is1 石狩第1

field name: str [Required]

ゾーン名称

リクエストモジュール

リクエストモジュール

APIへのリクエストを直接的に行なっているモジュールです。 ページングなどの処理もこちらで対応。

class vpsc.api_request.APIRequest(config: APIConfig, header: mappingproxy)[ソース]

ベースクラス: Iterator, Sized

count = 0
generator = None
request(endpoint: str, method: Literal['get', 'post', 'put', 'delete'], data: BaseModel | None = None, response_obj: Type[BaseModel] | None = None)[ソース]
unsafe_methods = ['post', 'put', 'delete']

クライアントモジュール

pydantic settings vpsc.client.APIConfig[ソース]

ベースクラス: BaseSettings

Config:
  • env_prefix: str = vps_

  • env_file: str = ~/.vpsc

  • env_file_encoding: str = utf-8

Fields:
field api_key: str [Required]
field host: str = 'https://secure.sakura.ad.jp/vps/api/v7'
class vpsc.client.Client(config: APIConfig)[ソース]

ベースクラス: object

create_switch(data: CreateSwitch) Switch[ソース]

スイッチを作成する

パラメータ:

data -- 作成データ

戻り値:

delete_switch(switch_id: int)[ソース]

個別のスイッチを削除する

パラメータ:

switch_id -- スイッチID

戻り値:

force_force_reboot_server(server_id: int)[ソース]

サーバーを強制再起動する

パラメータ:

server_id -- サーバーID

戻り値:

get_nfs_server(nfs_server_id: int) NfsServer[ソース]

個別のNFSサーバー情報を取得する

パラメータ:

nfs_server_id -- NFSサーバーID

戻り値:

get_nfs_server_power_status(nfs_server_id: int) NfsServerPowerStatus[ソース]

NFSサーバーの電源状態を取得する

パラメータ:

nfs_server_id --

戻り値:

get_nfs_servers() List[NfsServer][ソース]

NFSサーバー情報一覧を取得する

戻り値:

get_server(server_id: int) Server[ソース]

個別のサーバー情報を取得する

パラメータ:

server_id -- サーバーID

戻り値:

get_server_power_status(server_id: int) ServerPowerStatus[ソース]

サーバーの電源状態を取得する

:param server_id: サーバーID :return:

get_servers(sort: Literal['service_code', '-service_code', 'name', '-name', 'storage_size_gibibytes', '-storage_size_gibibytes', 'memory_mebibytes', '-memory_mebibytes', 'cpu_cores', '-cpu_cores', 'hostname', '-hostname', 'ipv6_hostname', '-ipv6_hostname', 'ipv4_address', '-ipv4_address', 'ipv6_address', '-ipv6_address', 'zone_code', '-zone_code', 'ipv4_ptr', '-ipv4_ptr', 'ipv6_ptr', '-ipv6_ptr'] | None = None) Iterable[Server][ソース]

サーバー一覧を取得する

パラメータ:

sort -- ソート情報

戻り値:

get_switch(switch_id: int) Switch[ソース]

個別のスイッチ情報を取得する

パラメータ:

switch_id -- スイッチID

戻り値:

get_switches() List[Switch][ソース]

スイッチ情報一覧を取得する

戻り値:

power_on_server(server_id: int)[ソース]

サーバーを起動する

パラメータ:

server_id -- サーバーID

戻り値:

shutdown_server(server_id: int, force: bool = False)[ソース]

サーバーをシャットダウンする

パラメータ:
  • force -- 強制停止を行うか

  • server_id -- サーバーID

戻り値:

update_nfs_server(nfs_server_id: int, data: UpdateNfsServer)[ソース]

個別のNFSサーバー情報を更新する :param nfs_server_id: NFSサーバーID :param data: 更新データ :return:

update_nfs_server_ipv4(nfs_server_id: int, data: UpdateNfsServerIpv4)[ソース]

NFSサーバーのipv4を設定する

パラメータ:
  • nfs_server_id -- NFSサーバーID

  • data -- 設定情報

戻り値:

update_server(server_id: int, data: UpdateServer) Server[ソース]

個別のサーバー情報を更新する

パラメータ:
  • server_id -- サーバーID

  • data -- 更新データ

戻り値:

update_server_ipv4_ptr(server_id: int, data: UpdateHost)[ソース]

サーバーのipv4の逆引きホスト名を設定する

パラメータ:
  • server_id -- サーバーID

  • data -- 設定データ

戻り値:

update_server_ipv6_ptr(server_id: int, data: UpdateHost)[ソース]

サーバーのipv6の逆引きホスト名を設定する

パラメータ:
  • server_id -- サーバーID

  • data -- 設定データ

戻り値:

update_switch(switch_id: int, data: UpdateSwitch) Switch[ソース]

個別のスイッチ情報を更新する

パラメータ:
  • switch_id -- スイッチID

  • data -- 更新データ

戻り値: