問題タブ [vcloud-director-rest-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
6074 参照

xml - Powershell: 名前空間を使用して XML ドキュメントに要素を追加する

VMWare の vcloud REST API を使用して NIC を追加する powershell コマンドレットを作成しようとしています (VMWare 独自の powerCLI では許可されていないようです)。そのためには、次の XML を取得する必要があります。

そして、最後の vcloud:Link の下に次の要素を追加します。

これで、元の XML が $xmlDoc として PS に取り込まれ、以下のコードを試しました。

ただし、これが作成する XML の関連部分は次のとおりです。

ご覧のとおり、ほとんどの場合は機能しますが、残念ながら XML 名前空間のプレフィックスが削除されているようです。それでもうまくいくかもしれませんが、フォーマットを一致させたいと思っています。私は XML と Powershell の相互作用にかなり慣れていないので、質問は次のとおりです。

  1. 名前空間を出力するにはどうすればよいですか?
  2. 私がばかげて見落としているこのような各要素を手動で作成する簡単な方法はありますか?
0 投票する
1 に答える
311 参照

python-3.x - vCloud Director を使用して仮想マシンを起動するための CLI コマンド

vCloud Director で Python を使用して VM の起動プロセスを自動化しようとしています。検索した結果、この目的のための REST API を見つけることができました。この目的で使用できる CLI コマンドがあるかどうかを教えてください。

助けてくれてありがとう。

0 投票する
0 に答える
235 参照

java - vcloud sdk API VApp.undeploy((UndeployPowerActionType.DEFAULT) で断続的な例外が発生する

API を呼び出して、営業時間外に vApp を展開解除し、後で再び起動するだけです。

VApp をアンデプロイしようとすると、断続的なエラーが発生します。(後で完全なスタック トレースを示します)。

私が何をしているのかを知らせるために、最初に VApp.shutdown() を呼び出しています。これは常に成功を返すようです。Vapp.undeploy(UndeployPowerActionType.DEFAULT) 呼び出しを呼び出す前に、最大 10 分間待機することがあります。それでもほとんどの場合、機能しません。その後、再度実行すると、かなりの頻度で動作します (結果を確認すると、Vapp は実際にアンデプロイされています)。または、それでも動作しない場合は、もう一度呼び出すと動作します。

スタック トレースは次のようになります.. (配列のインデックスが -5 や -12 などの異なる数値で範囲外になることがあります。ただし、スタック トレースは常に次のようになります...)

2014-07-17 13:10:33 ERROR [main] ControlModule:75 - アンデプロイでエラーが発生しました java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -2 at com.sun.xml.bind.v2.util. com.sun.xml.bind.v2.util.CollisionCheckStack.push(CollisionCheckStack.java:71) の CollisionCheckStack.findDuplicate(CollisionCheckStack.java:133) com.sun.xml.bind.v2.runtime.XMLSerializer.pushObject( XMLSerializer.java:494) com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:609) com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty. java:113) com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:120) com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:149) com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:269) で com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:276) で.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:35) com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:472) com.sun.xml .bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:301) at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:230) at javax.xml.bind.helpers.AbstractMarshallerImpl .marshal(AbstractMarshallerImpl.java:106) at com.vmware.vcloud.sdk.JAXBUtil.marshal(JAXBUtil.java:199) at com.vmware.vcloud.sdk.AbstractVapp.createVappUnDeployParamBody(AbstractVapp.java:299) at com. VMware.com.ipt.ebsa.skyscape.client.module の vcloud.sdk.AbstractVapp.undeploy(AbstractVapp.java:318) com.ipt.ebsa.skyscape.client.manager の ControlModule.controlVApp(ControlModule.java:70)。 com.ipt.ebsa.skyscape.client.CloudManager.UndeployVApp(CloudManager.java:197) の VMManager.controlVApp(VMManager.java:294) com.ipt.ebsa.skyscape.client.RajVAppTest.stopAndUndeployVApp(RajVAppTest.java: 178) com.ipt.ebsa.skyscape.client.RajVAppTest.testUndeployVApp0(RajVAppTest.java:121) で、sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で、sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94) でSun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) で、java.lang.reflect.Method.invoke(Method.java:619) で、org.junit で。runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) の org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) の org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod) .java:44) org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) で org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) で org. junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) org .junit.runners.ParentRunner$3.run(ParentRunner.java:238) org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) で org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) で org.junit.runners.ParentRunner$2.evaluate(ParentRunner) .java:229) org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) で org.eclipse で org.junit.runners.ParentRunner.run(ParentRunner.java:309)。 jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal. junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 2014-07-17 13:10:33 DEBUG [main] ControlModule:77 - vapp 'TEST_RAJ2' のアンデプロイが完了しました 2014-07-17 13:10:33 DEBUG [main] VMManager :296 - controlVApp 終了

私が何か間違ったことをしているかどうか誰かに教えてもらえますか? Vapp のデプロイを解除するために、再試行するだけで最終的には機能するのが通常の方法ですか。

その場合、再試行を続ける必要がある場合、この例外を検出できます。それが発生した場合は、最終的に失敗してあきらめる前に、特定の回数再試行しますか?

または、Vapp がアンデプロイされているかどうかを検出する別の方法はありますか?

undeploy() ではなく 'shutdown() を呼び出すほうがうまくいきますか? 私の経験では、そのほうが一貫しているように思えます。ただし、結果としてコンソールに表示される vApp は、「シャットダウン」ではなく「部分的に実行中」と表示されます。結局のところ、vAPP を必要としない期間はクラウド ホスティング パートナーからの課金を停止してもらいたいだけなので、これは問題ないかもしれません。vAPP をシャットダウンすると、実際にこの目的を達成できると思いますか? クラウド ホスティング パートナーについて確認する必要があります。

どんな助けでも大歓迎です。

ありがとう、

0 投票する
0 に答える
82 参照

java - オンデマンドで vmware(vCloud) インスタンスの電源を入れる

いくつかのプライベート vCloud vmware インスタンスがあり、その上にいくつかの Java Webap がデプロイされています。インスタンスは相互に関連付けられていません。

アプリの使用状況を監視しており、数日または数か月も使用されていないインスタンスがいくつかあります。

数日間使用されていないときにインスタンスを停止し、新しいリクエストが来たときにインスタンスをすばやく再起動するために、すでに vmware に組み込まれている方法はありますか?

これの動機は、wmware のライセンス コストを最適化することです。

すでにいくつかのインスタンスへのリクエストを監視しており、vCloud Java API を介してこれを実行できることはわかっていますが、新しいリクエストが来たときにインスタンスを開始するのに十分な速さであるかどうかはわかりません。

ああ、どの方向に行けばいいの?

0 投票する
0 に答える
111 参照

c# - 日時の vCloud SDK フィルタ

私のタスク:

vCloud インスタンスのすべてのタスクを照会していますが、これは正しく意図したとおりに機能します。今日のタスクのみを取得するフィルターを作成することにしました。

ドキュメントによると、日時フィールドを使用できるはずです。

私の問題

コードを実行すると、「minorErrorCode="BAD_REQUEST" message="Bad request: Cannot parse '2014-10-29T00:00:00' as date." が返されます。多数の日時形式を試しましたが、すべて同じ結果が返されます。

何かご意見は?

アップデート:

解決

私は解決策を見つけました->試行錯誤...形式はISO 8601である必要がありました->タイムゾーンを含む「O」形式->私のものは次のよう2014-10-29T00:00:00.0000000+01:00 になります+ を - に変換する必要がありました

そして今、それは動作します