php エディタ Xigua は、Pulumi auto.Result オブジェクトの構造またはマッピングをアンマーシャリングする方法を共有します。 Pulumi は、開発者がプログラミング言語を使用してクラウド インフラストラクチャを定義および管理できるようにする、クロスクラウドのコードとしてのインフラストラクチャ ツールです。 Pulumi を使用して開発する場合、多くの場合、複数のプロパティとネストされた構造が含まれる auto.Result オブジェクトに遭遇します。この記事では、データの処理と操作を容易にするために、Result オブジェクトをアンマーシャリングし、より使いやすいデータ構造にマップする方法について説明します。
goでpulumiの自動化APIを使用してサーバーをhetznerにデプロイしているのですが、デプロイ結果から生成された接続情報を取得する方法がわかりません。
これは切り詰められたコードです:
リーリーres.outputs
から結果を取得できますが、これは文字列です。 serverconnectinfo
にログインすると次のように表示されるため、サーバーのデプロイメントと接続の詳細による応答が成功したことがわかります:
オンライン上のいくつかの疑わしい解決策に基づいて、json のようにマーシャリングしてから、pulumi remote.connectionargs
インスタンスにアンマーシャリングしてみました。構造が次のようになっているため、これは明らかに機能しません:
独自の構造体を構築して、JSON アンマーシャリングおよびマーシャリング ソリューションを再試行することを考えていましたが、connectionargs
構造体に既に pulumi
タグがある場合は、それがどこかにあるはずのようです。何らかの pulumi.unmarshal
メソッド。私が間違っている?とにかく、見つかりませんでした。
ドキュメントも見ましたが、役立つものは何もありませんでした。もしかしてページを見逃してしまったのでしょうか?
ピーターがコメントで指摘したように、res.outputs["server-connect-info"].value
はマッピングであり、正しく実行したと思います。 fmt.sprintf
経由で。私はなんて愚かだったのでしょう。
これは機能します:
リーリー組み込みのテスト パッケージを使用した go テストでもうまく機能します:
リーリー以上がPulumi auto.Result オブジェクトの構造またはマップをアンマーシャリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。