簡體   English   中英

在 Puppet 7 中使用復雜的導出資源標簽 - 是否可能

[英]Using complex exported resource tags in Puppet 7 - is it possible

我需要定義一個 Puppet 類並導出類似於https://serverfault.com/questions/559019/how-to-collect-tagged-exported-resources的資源,但我需要添加 class app_primary($datacenter_$ zone_$tenant_$role) 用於衛星服務器加入主服務器,然后使用相同的類標識符作為標簽,如標簽 => "$datacenter_$zone_$tenant_$role",請問是否可以使用這種復雜的標簽或者我應該堅持 KISS 原則。 謝謝。

從文檔中閱讀我應該瞄准最獨特的導出資源標簽類型或與 hiera 一起工作(暫時超出我的范圍和特權)。 因此決定在進一步深入研究之前先詢問一下

我需要為衛星服務器添加類 app_primary($datacenter_$zone_$tenant_$role)

那沒有意義。 class關鍵字的出現表明這是類app_primary的類定義的開始。 然后括號將包含類參數列表——名稱、可選的類型和可選的初始值。 $datacenter_$zone_$tenant_$role不是有效的參數名稱。 可能您希望此類在此處具有四個不同的參數:

class app_primary($datacenter, $zone, $tenant, $role) {
  # ...
}

加入主要的,然后使用相同的類標識符作為標簽 tag => "$datacenter_$zone_$tenant_$role",

類參數不標識類。 上面類的標識符是app_primary

但是,您可以形成一個連接參數值的字符串,並用它標記資源。 字符串的形式類似於: "${datacenter}_${zone}_${tenant}_${role}" 該標記會將此類使用一組參數值聲明的資源與此類(針對不同的節點)使用一組不同的參數值聲明的資源區分開來。

你能告訴我是否可以使用這樣復雜的標簽嗎

當然有可能。 而且我不確定我會將結果描述為“復雜”。

或者我應該堅持 KISS 原則。

簡單是相對的。 如果您有一個更簡單的選擇,那么 KISS 可能是需要考慮的東西,但在那之前,它是無關緊要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM