前回、仮想マシンV2の論理構造 - Azureの小ネタ (改) みたいな記事を書いたのですが、同時にロードバランサー周りの構造も図に起こしてました。今回、またロードバランサー周りを調査する必要があったので、少し修正して放流します。
LBまわり
実際、ロードバランサーを作成したときのJSONとARMのJSONスキーマを見ながら書いた物です。ちなみに、ARM の JSONスキーマは、以下にあります。
したがって、
- 適当です、もっと沢山の関連がありそうです。使ってないリソースはチャント調べてません。
- LBから集約されるクラスは、LBというリソースとして一括りに定義されています。
- 多重度とかいい加減です。JSONみて配列なところは「0..*」とかにしてますけど、実際どうなんでしょうね。
理解の一助になれば幸いです。
おまけ
JSON スキーマの標準仕様ってあるのでしょうか?、不勉強なので知りません。時折、以下のような別リソースへの参照があるのですが、ID以上の制約が書かれていないので、どんなリソースなのか制約が分かると嬉しいなと思いました。
"loadBalancerBackendAddressPools": { "type": "array", "items": { "$ref": "#/definitions/id" } }, "loadBalancerInboundNatRules": { "type": "array", "items": { "$ref": "#/definitions/id" } } },
以上