オーケストレーション・オブジェクトを作成
/platform/v1/object/
追加するオーケストレーション・オブジェクトの動作は、関連付けられているオーケストレーションのdesired_stateによって決まります。
*オブジェクトは、関連付けられたオーケストレーションのdesired_stateがactiveに設定されているときに作成されます。
*関連するオーケストレーションのdesired_stateがinactiveに設定されていると、オブジェクトは削除されます。
*関連付けられたオーケストレーションのdesired_stateがsuspendに設定されている場合、非永続オブジェクトのみが削除されます。 関連するオーケストレーションが中断されても、永続オブジェクトは削除されません。 オブジェクトを永続化するには、persistent属性をtrueに設定します。 オブジェクトが持続するように設定されている場合、オブジェクトはオーケストレーションが中断されても削除されません。 永続オブジェクトがまだactive状態にない場合、それらは作成されます。 オーケストレーションが終了すると、すべてのオブジェクトが削除されます。 オブジェクトの永続属性をtrueに設定した場合は、すべての依存オブジェクトの永続属性もtrueに設定する必要があります。 たとえば、永続インスタンスがストレージ・ボリュームを参照する場合、ストレージ・ボリュームも永続的である必要があります。 詳細については、「オーケストレーションv2のオブジェクトの永続性」 in 「Oracle Cloud Infrastructure Compute Classicの使用」を参照してください。
オーケストレーションのdesired_stateを変更するには、PUT /platform/v1/orchestration/{name}/?desired_state={state} HTTPリクエストを送信します。
オブジェクトのステータスは、healthパラメータを参照して判断できます。
必要なロール: このタスクを実行するには、Compute_Operationsのロールが必要です。 このロールが割り当てられていない、または割当てが不明な場合は、システム管理者に連絡してロールがユーザーにOracle Cloud My Servicesで割り当てられるようにしてください。 Oracle Cloudの管理および監視のユーザー・ロールの変更に関する項を参照してください。
リクエスト
- application/oracle-compute-v3+json
- Cookie: string
Cookie:ヘッダーは、サービスに対するすべてのリクエストに含まれる必要があります。 それをPOST /authenticate/コールに対して受信されたレスポンス内のset-cookieヘッダーの値に設定してください。
object- account(optional): string
/Compute-identity_domain/default - description(optional): string
オブジェクトを説明するテキスト文字列。
- desired_state(optional): string
このオブジェクトの望ましい状態
- label: string
オブジェクトを説明するテキスト文字列。 ラベルにはスペースは使用できません。 オーケストレーションでは、各オブジェクトのラベルは一意でなければなりません。 最大長は256文字です。
- name(optional): string
オブジェクトの4つの部分からなる名前(
/Compute-identity_domain/user/orchestration/object)。 このオブジェクトの名前を指定しないと、名前が自動的に生成されます。 オブジェクト名には、英数字、アンダースコア(_)およびハイフン(-)のみを含めることができます。 オブジェクト名は大文字と小文字が区別されます。 オブジェクト名を指定する際には、同じタイプで同じ名前のオブジェクトがすでに存在していないことを確認してください。 そのようなオブジェクトがすでに存在する場合、同じタイプで同じ名前の別のオブジェクトは作成されず、既存のオブジェクトは更新されません。 - orchestration: string
オブジェクトが属するオーケストレーションの3つの部分からなる名前(
/Compute-identity_domain/user/object)。 - persistent(optional): boolean
オーケストレーションが中断されたときにオブジェクトを保持するかどうかを指定します。 次のいずれかを指定します:
*
true: オブジェクトは、オーケストレーションが一時停止されても保持されます。*
false: オブジェクトは、オーケストレーションが一時停止されると削除されます。デフォルトでは、
persistentはfalseに設定されています。 ストレージ・ボリュームやその他の重要なオブジェクトにtrueを指定することをお勧めします。 持続性は、オーケストレーションを中断している場合にのみ適用されます。 オーケストレーションを終了すると、オーケストレーションで定義されているすべてのオブジェクトが削除されます。 - relationships(optional): array relationships
このオーケストレーションで作成されたオブジェクト間の関係。 サポートされている唯一の関係は依存です。指定されたターゲット・オブジェクトを最初に作成する必要があることを示します。
障害から回復する場合、オーケストレーションはオブジェクトの関係を考慮しないことに注意してください。 Orchestrations v2では、オブジェクト参照を使用して相互依存オブジェクトを健全なヘルスに回復します。 「Oracle Cloud Infrastructure Compute Classicの使用」の「オブジェクト参照と関係」を参照してください。
- template: object template
許可される追加プロパティ: additionalPropertiestemplate属性は、作成するCompute Classicオブジェクトのプロパティまたは特性を、
type属性で指定されているとおりに定義します。テンプレート・セクションのフィールドは、指定されたタイプによって異なります。 作成する各オブジェクト
typeに固有のパラメータを判別するには、「Oracle Cloud Infrastructure Compute Classicの使用」の「オーケストレーションv2各オブジェクト・タイプに固有の属性」を参照してください。たとえば、ストレージ・ボリュームを作成する場合、
typeはStorageVolumeになり、templateにはsizeとbootableが含まれます。 インスタンスを作成する場合、タイプはInstanceであり、テンプレートにはインスタンス固有の属性(imagelistおよびshapeなど)が含まれます。 - type: string
作成する以下のオブジェクト・タイプのいずれかを指定します。
* Acl
*バックアップ
* BackupConfiguration
*インスタンス
* IpAddressAssociation
* IpAddressPrefixSet
* IpAddressReservation
* IpNetwork
* IpNetworkExchange
* IPReservation
* OSSContainer
*リストア
*ルート
* SecApplication
* SecIPList
* SecList
* SecRule
* SecurityProtocol
* SecurityRule
* SSHKey
* StorageAttachment
* StorageSnapshot
* StorageSnapshot
* StorageVolume
* VirtualNicSet
サポートされているオブジェクト・タイプの最新情報については、「Oracle Cloud Infrastructure Compute Classicの使用」の「オーケストレーションv2のオブジェクト・タイプ」を参照してください。
- version(optional): integer
サーバーによって生成されたこのオブジェクトのバージョン
array障害から回復する場合、オーケストレーションはオブジェクトの関係を考慮しないことに注意してください。 Orchestrations v2では、オブジェクト参照を使用して相互依存オブジェクトを健全なヘルスに回復します。 「Oracle Cloud Infrastructure Compute Classicの使用」の「オブジェクト参照と関係」を参照してください。
- Array of: object items
許可される追加プロパティ: additionalProperties
objecttype属性で指定されているとおりに定義します。テンプレート・セクションのフィールドは、指定されたタイプによって異なります。 作成する各オブジェクトtypeに固有のパラメータを判別するには、「Oracle Cloud Infrastructure Compute Classicの使用」の「オーケストレーションv2各オブジェクト・タイプに固有の属性」を参照してください。
たとえば、ストレージ・ボリュームを作成する場合、typeはStorageVolumeになり、templateにはsizeとbootableが含まれます。 インスタンスを作成する場合、タイプはInstanceであり、テンプレートにはインスタンス固有の属性(imagelistおよびshapeなど)が含まれます。
objectobjectレスポンス
- application/oracle-compute-v3+json
201レスポンス
- set-cookie: string
セッションが拡張された場合、Cookie値が返されます。
object- account(optional): string
/Compute-identity_domain/default - description(optional): string
このオブジェクトの説明
- desired_state(optional): string
このオブジェクトの望ましい状態
- health(optional): object health
許可される追加プロパティ: additionalPropertiesオブジェクトの現在の状態を含む辞書
- label(optional): string
このオブジェクトの人間が読める識別子
- name(optional): string
サーバーによって生成されたこのオブジェクトの名前
- orchestration(optional): string
このオブジェクトが属するオーケストレーション
- persistent(optional): boolean
値が
trueの場合、関連付けられたオーケストレーションが中断されたときにオブジェクトが削除されないことを示します。 persistentがfalseに設定されている場合、関連付けられたオーケストレーションが中断されたときにオブジェクトが削除されます。 - relationships(optional): array relationships
他のオブジェクトとの関係のリスト
- template(optional): object template
許可される追加プロパティ: additionalPropertiesこのオブジェクト・オブジェクトのテンプレート
- time_audited(optional): string
オブジェクトが最後に監査された時間
- time_created(optional): string
オブジェクト作成時間
- time_updated(optional): string
オブジェクトの変更時間
- type(optional): string
このオブジェクトが表すオブジェクトの型
- uri(optional): string
Uniform Resource Identifier
- user(optional): string
このオブジェクトに作用するユーザー
- version(optional): integer
サーバーによって生成されたこのオブジェクトのバージョン
array- Array of: object items
許可される追加プロパティ: additionalProperties
objectobjectobject例
cURLコマンド
次の例は、cURLを使用してRESTリソースにPOSTリクエストを送信してリソースを作成する方法を示しています。 cURLの詳細は、「cURLの使用」を参照してください。
コマンドを1行で入力します。 この例では、読みやすくするために改行が使用されています。
curl -i -X POST
-H "Cookie: $COMPUTE_COOKIE"
-H "Content-Type: application/oracle-compute-v3+json"
-H "Accept: application/oracle-compute-v3+json"
-d "@addObject.json"
https://api-z999.compute.us0.oraclecloud.com/platform/v1/object/
-
COMPUTE_COOKIEは、前の手順で認証cookieを格納した変数の名前です。 認証クッキーの取得および変数への格納の詳細は、認証を参照してください。 -
api-z999.compute.us0.oraclecloud.comはRESTエンドポイントURLの例です。 この値をCompute ClassicサイトのRESTエンドポイントURLに変更します。 サイトのRESTエンドポイントURLを見つける方法については、「リクエストの送信」を参照してください。
リクエスト本文の例
次は、デフォルトの属性値を持つセキュリティ・リストを作成するためのaddObject.jsonファイル内のリクエスト本文コンテンツの例を示しています。 persistentがtrueに設定されると、永続的なセキュリティ・リストが作成されます。 Orchestrationが中断されても、永続オブジェクトは削除されません。/Compute-acme/jack.jones@example.com/seclist1は作成される永続セキュリティ・リストの名前で、/Compute-acme/jack.jones@example.com/myOrchestration/seclist1はこのセキュリティ・リストを追跡するOrchestrationオブジェクトの名前です。 セキュリティ・リストの状態は、関連付けられたOrchestrationのdesired_state、/Compute-acme/jack.jones@example.com/myOrchestrationによって決定されます。
{
"type":"SecList",
"orchestration": "/Compute-acme/jack.jones@example.com/myOrchestration",
"name": "/Compute-acme/jack.jones@example.com/myOrchestration/seclist1",
"label": "mySeclist1",
"persistent": true,
"template": {
"name": "/Compute-acme/jack.jones@example.com/seclist1"
},
"description": "a persistent security list"
}
レスポンス本文の例
次の例は、レスポンス本文をJSON形式で示しています。
{{
"relationships": [],
"account": "/Compute-acme/default",
"time_updated": null,
"desired_state": "inherit",
"description": "a persistent security list",
"user": "/Compute-acme/jack.jones@example.com",
"persistent": true,
"uri": "https://api-z999.compute.us0.oraclecloud.com/platform/v1/object/Compute-acme/jack.jones@example.com/myOrchestration/seclist1",
"template": {
"name": "/Compute-acme/jack.jones@example.com/seclist1"
},
"label": "mySeclist1",
"time_audited": null,
"version": 1,
"health": {
"status": "inactive"
},
"time_created": "2017-03-10T11:05:39Z",
"orchestration": "/Compute-acme/jack.jones@example.com/myOrchestration",
"type": "SecList",
"name": "/Compute-acme/jack.jones@example.com/myOrchestration/seclist1"
}
レスポンスのhealthパラメータの値を調べることで、オブジェクトの現在のステータスを確認できます。 既定では、オーケストレーション・オブジェクトのdesired_stateは、関連付けられたオーケストレーションから継承されます。 関連オーケストレーションのdesired_stateはinactiveであるため、セキュリティ・リスト・オブジェクトもinactiveです。