機械翻訳について

マシン・イメージの管理

マシン・イメージは、仮想マシン・インスタンスを起動するために使用するハード・ディスク・スナップショットです。 マシン・イメージ・アーカイブは、単一Rawディスク・イメージ(パーティション表およびカーネルを含みます)で、tarアーカイブのルートに格納し、gzipで圧縮する必要があります。 すべてのマシン・イメージは、Oracle Public Cloud Machineテンプレートに基づいている必要があります。 マシン・イメージ・テンプレートは、Oracle Cloud Administratorでのみ作成されます。 マシン・イメージおよびテンプレートの作成方法の詳細は、『Oracle Compute Cloud Serviceの使用』を参照してください。

マシン・イメージの追加

このAPIを使用すると、秘密マシン・イメージをシステムに追加できます。

メソッド

POST

マシン・イメージをシステムに追加するには、2つのPOSTリクエストが必要です:
  1. POSTリクエスト(マシン・イメージ・オブジェクトの作成) - このリクエストは、新しいマシン・イメージ・オブジェクトを作成し、レスポンス本文にこのオブジェクトのURIを戻します。

  2. POSTリクエスト(マシン・イメージ・ファイルのアップロード) - このリクエストは、最初の手順で戻されたURIを使用して、システムの対応するマシン・イメージをアップロードします。 マシン・イメージ・ファイル(tar.gzip形式)は、次のヘッダーを使用してHTTPリクエストで渡されます:

    • Accept:application/oracle-compute-v3+json

    • Accept-Encoding:gzip;q=1.0,identity;q=0.5

    • Content-Type:application/x-tar

    • Content-Length:<length of the machine image file>

    • Content-Range:bytes <filesize in the format {0-[filesize in bytes-1]/filesize}>

注意:

チャンク暗号化はサポートされていません。

RESTリソース

/machineimage/

URI

https://api_endpoint/machineimage/

リクエスト本文のパラメータ

パラメータ 説明
name マシン・イメージの一意の階層名。 たとえば、/mytenant/public/mymachineimageです
no_upload イメージ・ファイルがシステムで使用可能かどうかを示します。 これは、常にFalseに設定する必要があります。
属性

(オプション)起動時にこのマシン・イメージのインスタンスに渡すことができるユーザー定義のパラメータ。 これらのパラメータはJSONオブジェクトとして渡されます。 構文(キー/値のペア): '{ "key1": "value1", "key2": "value2" }'

たとえば、起動時にマシン・イメージに渡されるデータベース・サーバーの場所およびログインの詳細を指定できます。

属性の詳細は、『Oracle Compute Cloud Serviceの使用』オーケストレーション・テンプレートに関する項を参照してください。

割当て制限 (オプション)このイメージが作成される割当て制限。

例: マシン・イメージの追加

第1部: マシン・イメージ・オブジェクトの作成

リクエストURI
POST https://api.oc.example.com/machineimage/
リクエスト本文
{
   "name": "/oracle/public/TestImage3", 
   "sizes": {"total": "3684711429"}, 
   "no_upload": false,  
   "attributes": {"type": "linux"}
}
レスポンス本文
{
 "account": "/oracle/public", 
 "name": "/oracle/public/TestImage3", 
 "sizes": {"uploaded": null, "total": 360, "decompressed": null}, 
 "signature": "", 
 "no_upload": false, 
 "uri": "http://api.oc.example.com/machineimage/oracle/public/TestImage3", 
 "quota": "/oracle/public/64b1345d-b729-4cbc-a2dc-44a164f2e4a6", 
 "state": "available", 
 "signed_by": null, 
 "file": "http://api.oc.example.com:80/machineimage/oracle/public/TestImage3", 
 "attributes": {}, 
 "checksums": {}, 
 "error_reason": "", 
 "audited": null
}

第2部: マシン・イメージ・オブジェクトのアップロード

注意:

マシン・イメージ・ファイル・コンテンツの指定は、APIとの対話で使用されているツールまたは言語により異なります。 ファイル・コンテンツの指定方法の詳細は、使用しているツールまたは言語のドキュメントを参照してください。
リクエストURI
POST http://api.oc.example.com:80/machineimage/oracle/public/TestImage3
リクエスト・ヘッダー
Accept:application/oracle-compute-v3+json
Accept-Encoding:gzip;q=1.0,identity;q=0.5
Content-Type:application/x-tar
Content-Length:3684711429
Content-Range:bytes bytes 0-3684711428/3684711439

例: cURLを使用したマシン・イメージの追加

注意:

cURLの詳細は、「cURLを使用したREST APIコールの起動」を参照してください。
認証
$ curl -c /tmp/cookie -X POST -H "Content-Type: text/plain" -d '{"result": null, "password": "abc123", "uri": null, "user": "/mytenant/myuser"}' http://api.oc.example.com/authenticate/
第1POST
$curl -v -b /tmp/cookie -X POST -H "Content-Type: application/oracle-compute-v3+json" -d '
{"name": "/oracle/public/TestImage3", "sizes": {"total" : 376857280 }, "no_upload": false, 
"attributes": {"type": "linux"}}' http://api.oc.example.com/machineimage/
第2POST
$ curl -v -b /tmp/cookie -X POST -H "Expect: " -H "Accept-Encoding: gzip;q=1.0, identity; q=0.5" -H 
"Accept: application/oracle-compute-v3+json" -H "Content-Range: bytes 0-376857279/376857280"
-H "Content-Type: application/x-tar" --data-binary "@MACHINE_IMAGE.tar.gz" 
http://api.oc.example.com/machineimage/oracle/public/TestImage3

マシン・イメージの削除

このAPIを使用すると、マシン・イメージを削除できます。

自分が作成したプライベート・マシン・イメージのみを削除できます。

メソッド

DELETE

RESTリソース

/machineimage/name

URI

https://api_endpoint/machineimage/name

URIパラメータ

パラメータ 説明
name マシン・イメージの一意の階層名。 たとえば、/mytenant/public/mymachineimageです

URIの例

https://api.oc.example.com/machineimage/mytenant/public/webserver-20130912

マシン・イメージの詳細の取得

マシン・イメージの詳細を表示するには、REST APIを使用します。

マシン・イメージの検出

このAPIを使用すると、特定のコンテナ内に存在するマシン・イメージのリストを検出できます。

注意:

検出APIコールは、指定されたコンテナ内のオブジェクトの名前を表示しますが、オブジェクトの詳細は表示しません。 オブジェクトの名前をリストするには、Acceptヘッダーをapplication/oracle-compute-v3+directory+jsonに設定します。 その他の目的では、Acceptヘッダーをapplication/oracle-compute-v3+jsonに設定する必要があります。

メソッド

GET

RESTリソース

/machineimage/container/

URI

https://api_endpoint/machineimage/container/

URIパラメータ

パラメータ 説明
container マシン・イメージの階層的な名前空間

URIの例

https://api.oc.example.com/machineimage/mytenant/

レスポンス本文の例

{"result": ["/mytenant/public/oraclelinux-x64", "/mytenant/public/OL6.6_20GB"]}

マシン・イメージの取得

このAPIを使用すると、特定のマシン・イメージの詳細を取得できます。

メソッド

GET

RESTリソース

/machineimage/name

URI

https://api_endpoint/machineimage/name

URIパラメータ

パラメータ 説明
name マシン・イメージの一意の階層名。 たとえば、/mytenant/public/mymachineimageです

URIの例

https://api.oc.example.com/machineimage/oracle/public/linux6_16.1.2_64

レスポンス本文の例

{
"account": null, 
"name": "/oracle/public/linux6_16.1.2_64", 
"sizes": {"uploaded": 1572050349, "total": 1572050349, "decompressed": 11811160064}, 
"signature": null, 
"no_upload": false, 
"uri": "https://api/machineimage/oracle/public/linux6_16.1.2_64", 
"quota": null, 
"state": "available", 
"signed_by": null, 
"file": "https://api:444/machineimage/oracle/public/linux6_16.1.2_64", 
"attributes": {}, 
"checksums": null, 
"error_reason": null, 
"audited": null
}

マシン・イメージのリスト

このAPIを使用すると、コンテナ内のすべてのマシン・イメージの詳細を取得できます。

メソッド

GET

RESTリソース

/machineimage/container/

URI

https://api_endpoint/machineimage/container/?quota=quotaValue

URIパラメータ

パラメータ 説明
container マシン・イメージの階層的な名前空間
quota=quotaValue (オプション)イメージに関連付けられる割当て制限

URIの例

https://api.oc.example.com/mytenant

レスポンス本文の例

{
"result": [
{
   "account": "/mytenant/cloud_storage", 
   "name": "/mytenant/public/oraclelinux-x64", 
   "sizes": {
    "uploaded": 1853334188, 
    "total": 1853334188, 
    "decompressed": 22020096000
   }, 
   "uri": "http://api.oc.example.com/machineimage/mytenant/public/oraclelinux-x64", 
   "quota": null, 
   "no_upload": true, 
   "state": "available", 
   "signed_by": null, 
   "file": "http://api.oc.example.com/machineimage/mytenant/public/oraclelinux-x64", 
   "signature": "", 
   "checksums": {}, 
   "attributes": {}, 
   "error_reason": "", 
   "audited": null
},
{
  "account": "/mytenant/cloud_storage",
  "name": "/mytenant/public/OL6.6_20GB",
  "sizes": {
    "uploaded": 1545137187,
    "total": 1545137187,
    "decompressed": 21474836480
  },
  "signature": "",
  "no_upload": true,
  "uri": "https://api.oc.example.com/machineimage/mytenant/public/OL6.6_20GB",
  "quota": "/mytenant/4123456f-e94g-39e1-ac96-ef23a930692e",
  "state": "available",
  "signed_by": null,
  "file": "https://api.oc.com/machineimage/mytenant/public/OL6.6_20GB",
  "attributes": {},
  "checksums": {},
  "error_reason": "",
  "audited": null
}
]
}