ベソム- 棒の周りに縛られた小枝で作られたほうき。ほうきとbesomsは、保護、悪霊を追い払うために使用され、儀式の空間の浄化に使用されます。また、BesomはScala SDKであり、偶然にもScalaでPulumiプログラムを書くことができます。

PulumiのBESOM SCALA SDKでは、 SCALAプログラミング言語を使用してコードプラットフォームとしてPulumiインフラストラクチャの全力を活用できます。 SCALAサポートは現在パブリックベータ版です。
プルミは、プルミコーポレーションの登録商標です。
BESOMを始めましょう:BESOMを使用してAWS、Azure、Google Cloud、またはKubernetesに簡単なアプリケーションを展開して、Scalaを使用した目的のインフラストラクチャを説明します。
BESOM DOCS :BESOMの概念について学び、ユーザーガイドをフォローし、参照ドキュメントを参照してください。
例:コンテナ、サーバーレス、インフラストラクチャなど、多くのクラウドやシナリオにわたってScalaの例を参照します。
Pulumi CLIをインストール:
最新のPulumiリリースをインストールするには、以下を実行します(追加のインストールオプションについては、完全なインストール手順を参照してください):
curl -fsSL https://get.pulumi.com/ | shScalaCLIをインストールします:
最新のSCALA CLIリリースをインストールするには、以下を実行します(追加のインストールオプションについては、インストール手順を参照してください):
curl -sSLf https://scala-cli.virtuslab.org/get | shPulumiにScala Languageプラグインをインストールします。
最新のSCALA言語プラグインリリースをインストールするには、次のことを実行します。
pulumi plugin install language scala 0.3.2 --server github://api.github.com/VirtusLab/besom新しいプロジェクトを作成します:
この時点でBesomコードの書き込みを開始できますが、Besomのセットアップを支援するには、Pulumiテンプレートが付属しています。
pulumi newコマンドを始めることができます:
mkdir besom-demo && cd besom-demopulumi new https://github.com/VirtusLab/besom/tree/v0.3.2/templates/awsクラウドへの展開:
pulumi up実行して、コードをクラウドに移動します。
pulumi upこれにより、すべてのクラウドリソースがコードで宣言されます。プロジェクトを編集するだけで、その後のpulumi up Sは、変更を展開するために最小限の差分を計算します。
プログラムを使用してください:
コードが展開されたので、コードと対話できます。上記の例では、新しくプロビジョニングされたS3バケットの名前を見つけることができます。
pulumi stack output bucketNameあなたのリソースを破壊する:
完了したら、プログラムによって作成されたすべてのリソースを削除できます。
pulumi destroy -y詳細については、チュートリアル、例、アーキテクチャおよびプログラミングモデルの概念など、多くの情報については、virtuslab.github.io/besomにアクセスしてください。
Pulumi.yaml 、ここで説明しています。
project.scala SCALA-CLIの依存関係を含むファイルです。
Main.scala 、コードとしてのインフラストラクチャのエントリポイントです。
Pulumi.run { ... }ブロックで作成されたリソースは、Pulumiによって作成されます。
Scala CLIを使用した簡単な例:
//> using scala " 3.3.1 "
//> using plugin " org.virtuslab::besom-compiler-plugin:0.3.2 "
//> using dep " org.virtuslab::besom-core:0.3.2 "
//> using dep " org.virtuslab::besom-aws:6.31.0-core.0.3 "
import besom . *
import besom . api . aws
@ main def run = Pulumi .run {
val bucket = aws.s3. Bucket ( " my-bucket " )
Stack .exports(
bucketName = bucket.bucket
)
}注記
依存関係に注意してくださいcom.pulumi:*ではなく、 org.virtuslab::besom-*のみを使用してください。 BESOMはPulumi Java SDKに依存せず、完全に個別の実装です。
Stack構造に含めることにより、評価が直接または推移的に(それらに依存するリソースまたはそれらに依存するリソースを参照することによって)トリガーされることを確認してください。Contextへのアクセスが必要です。 Context 、 Pulumi.runブロックで特定の(暗黙的に)利用可能ですが、 (using Context)のいずれかの関数で明示的に要求することもできます。 Scala CLIは推奨ビルドツールであり、他のツールもサポートされています。 BESOMは、Scala CLIおよびSBTプログラムを認識し、それ以上の構成なしでそれらを自動的に再コンパイルします。サポートされているバージョンは次のとおりです。
他のビルドツールは、 runtime.options.binary構成Pulumi.yamlを介してサポートされています。
name : myproject
runtime :
name : scala
options :
binary : target/myproject-1.0-SNAPSHOT-jar-with-dependencies.jar BESOMは、プロジェクトの編集と実行にSCALA-CLIを使用しています。
BESOMプロジェクトファイルが存在するディレクトリ内にこのコマンドを実行するインフラストラクチャプロジェクトのIDEサポートを設定するには:
scala-cli setup-ide .このコマンドの結果として、 .bspディレクトリがプロジェクトディレクトリ内に作成されます。
開いた場合、Intellijのアイデアと金属の両方がプロジェクトを自動的に認識し、それに応じてIDEをセットアップする必要があります。
SBT、Gradle、Mavenもすぐにサポートされていますが、反復速度が遅いため推奨されません。 sbt 、 gradle 、またはmvnサポートの使用は、Managed Infrastructureがメインのビルドツールとして使用される既存のプロジェクトに追加されている状況で提案されています。
sbt 、 gradle 、またはmvnのIDEセットアップは、Intellijのアイデアと金属の両方で自動的に動作します。
ミルはまだサポートされていません。
ソースからBESOMを構築するか、貢献した改善については、CONTRIBUTING.MDにアクセスしてください。