アプリケーションプログラミングインターフェイスガイド> Webサービスオペレーション> オペレーションリファレンス> createLinksRecursively
 
createLinksRecursively
ソースパス内の各リソースのリンクを、ターゲットコンテナに再帰的に作成します。コンテナリソースはリンクされていません。代わりに、ソースパス内のすべてのコンテナーと一致するように、パス内に新しいリソースが作成されます。パス内に作成されるコンテナの特定のタイプは、パス内のその場所によって異なります。
リンクできるリソースのみがリンクされます。リンクできない、またはコンテナではないリソースはリンクされます。 includeRootがTRUEの場合、ソースリソースは再帰的にトラバースされる1つのリソースです。 includeRootがFALSEの場合、ソースパスはコンテナーである必要があり、このコンテナーの内容がソースのリストとして使用されます。
リソースがすでにtargetPathに存在する場合、このオペレーションの動作は次のようにcreateModeに依存します。
ALTER_NAME_IF_EXISTS:targetPathのリソースが同じ名前のパス内にすでに存在する場合は、新しい名前を自動的に生成して競合を回避します。これは、includeRootがTRUEの場合にのみルートに適用されます。
FAIL_IF_EXISTS:targetPathのリソースがパス内にすでに存在する場合は失敗します。これが発生した場合、リソースは作成されません。これは、includeRootがTRUEの場合にのみルートに適用されます。
OVERWRITE_MERGE_IF_EXISTS:targetPathのリソースが同じ名前のパス内にすでに存在する場合は、パス内のリソースを再作成します。リソースがコンテナの場合は、コンテナの内容をパス内の対応するリソースとマージします。名前が競合するリンクリソースが再作成されます。
OVERWRITE_REPLACE_IF_EXISTS:targetPathのリソースが同じ名前のパス内にすでに存在する場合は、パス内のリソースを再作成します。リソースがコンテナの場合は、パス内のコンテナを破棄して再作成します。ソースとして使用できるのはRELATIONAL_DATA_SOURCEリソースのみです。 includeRootがTRUEの場合、ターゲットは/services/databasesになります。 includeRootがFALSEの場合、/services/databasesの下のCOMPOSITE_DATABASEになる可能性があります。
ロケーション
/services/webservices/system/admin/resource/operations/
リクエストエレメント
path:ソースとして使用するリソースへのパス。
type:ソースリソースのタイプ。
detail:応答に含めるリソースに関する詳細レベル。有効な値は、NONE、SIMPLE、およびFULLです。
targetContainerPath:リンクを作成するコンテナリソースのパス。
createMode:次のいずれか:ALTER_NAME_IF_EXISTS、FAIL_IF_EXISTS、OVERWRITE_MERGE_IF_EXISTS、またはOVERWRITE_REPLACE_IF_EXISTS。
includeRoot:TRUEの場合、ターゲットコンテナ内のソースと同じ名前のリソースを作成します。 FALSEの場合、ソースコンテナの子へのリンクをターゲットコンテナに作成します。
copyAnnotations:TRUEの場合、パス内に作成されたすべてのリンクリソースは、targetPath内の対応するリソースから注釈を継承します。 FALSEの場合、作成されたリンクに注釈は提供されません。コンテナの注釈は作成または変更されません。
応答エレメント
resource:新しく作成または更新されたリソースのリスト。 リソースエレメントを参照してください
エラー解析
DuplicateName:ソースリソースの1つと同じパスとタイプのリソースがすでに存在し、createModeがFAIL_IF_EXISTSの場合。
IllegalArgument:指定されたパス、タイプ、または詳細レベルのいずれかが不正な形式である場合。
NotAllowed:includeRootがTRUEでターゲットコンテナが/servicesでない場合、またはincludeRootがFALSEでターゲットコンテナが/service/databaseの下のCOMPOSITE_DATABASEではない場合。
IllegalState:ソースがRELATIONAL_DATA_SOURCEではない場合。
NotFound:ターゲットリソースまたはパスの一部が存在しない場合。
セキュリティ:ユーザーがパス内のすべてのアイテムに対する読み取りアクセス権を持っていない場合。
セキュリティ:ユーザーがtargetContainerPath内のアイテムに対するREADアクセス権を持っていない場合。
セキュリティ:ユーザーがtargetContainerPathの最後のアイテムへの書き込みアクセス権を持っていない場合。
セキュリティ:ユーザーが、OVERWRITEモードの1つで再作成されるリソースへのWRITEアクセス権を持っていない場合。
セキュリティ:ユーザーがACCESS_TOOLS権限を持っていない場合。