リソース宣言は、リソースの望ましい状態を記述した式です。Puppet マスターはそのあと、これらのリソース宣言を取得し、それをカタログにコンパイルします。そのカタログをターゲットシステムに適用する場合、Puppet はそこに含まれているすべてのリソースを管理することにより、実際の状態が望ましい状態に確実に一致するようにします。
これに対して、クラスまたは定義済みのタイプの内容と動作を指定する場合は、Puppet 言語を使用して定義します。クラスまたはタイプを定義すると、それがマニフェスト内で宣言対象として使用可能になります。
Puppet では、基本的なリソース宣言に次の形式を使用します。
resource_type { 'title': attribute1 => 'value1', attribute2 => 'value2', }
すべてのリソース宣言で次の形式が使用されます。
resource_type – 宣言されているリソースのタイプです。resource_type は、引用符を含まない単語である必要があります。
resource_type には、中括弧 ({) で始まる開始部が含まれています。
title – Puppet が識別のために使用する識別文字列です。どの resource_type にもタイトルが必要であり、その文字列はリソースタイプごとに一意である必要があります。このタイトルは、ノード上で管理しているリソースの名前に一致している必要はありません。
title のあとにはコロン (:) を付けます。
attribute – リソースの望ましい状態を記述します。ほとんどのリソースには一連の必須の属性がありますが、一連のオプションの属性を含めることもできます。
属性と値のペアは、次のもので構成されている必要があります。
属性名。引用符を含まない小文字の単語です。
各属性名は、リソースのある側面を処理します。各リソースタイプには、独自の一連の使用可能な属性があります。
矢印 (=>)。「ファットコンマ」または「ハッシュロケット」とも呼ばれます。
値。任意のデータ型にできます。
値のデータ型は、その属性が何を受け入れるかによって異なります。
最後のコンマ。
リソース宣言の最後に終了の中括弧 (}) を含める必要があります。
Puppet 言語では、任意の量の空白文字を使用できます。
詳細は、https://docs.puppet.com/puppet/latest/reference/lang_resources.html#resource-types を参照してください。