[英]puppet manifest giving error when resources are declared as abstract resource types
我在木偶中讀到,也可以在清單中使用Resource []語法聲明資源。 我在下面的清單中寫了,但給出了錯誤
Error: Could not parse for environment production: Syntax error at 'NO'; expected '}' at /etc/puppet/manifests/no.pp:3 on node pk-docker-01.cs1cloud.internal
Error: Could not parse for environment production: Syntax error at 'NO'; expected '}' at /etc/puppet/manifests/no.pp:3 on node pk-docker-01.cs1cloud.internal
file { '/var/NO/tmp' : ensure => directory,
}
Resource[User] {"NO":
ensure => present ,
password => 'admin@123',
}
group { no :
ensure => present ,
}
謝謝
您參考的文檔適用於Puppet 4.2。 您可以在此處找到Puppet 3.8參考。
3.8不支持您使用的聲明類型。 無論哪種方式,都應使用標准file{ 'dfsf': }
資源聲明,因為它與更多版本的puppet兼容。
我檢查了Puppet 3.8文檔中的資源,沒有看到抽象資源,但這並不意味着該功能不存在。 話雖如此,我還在“ 數據資源類型”頁面上找到了以下信息和示例。 在3.8中,資源類型可能需要用引號引起來,如以下示例所示:
# A resource declaration using a resource data type:
File { "/etc/ntp.conf":
mode => "0644",
owner => "root",
group => "root",
}
# Equivalent to the above:
Resource["file"] { "/etc/ntp.conf":
mode => "0644",
owner => "root",
group => "root",
}
# A resource default:
File {
mode => "0644",
owner => "root",
group => "root",
}
因此,您可以對代碼嘗試以下操作,看看它是否可以解決問題:
file { '/var/NO/tmp' : ensure => directory,
}
Resource["user"] {"NO":
ensure => present ,
password => 'admin@123',
}
group { no :
ensure => present ,
}
不過,我最好的建議是在查看Puppet文檔時要特別小心。 在計划對生產環境進行更改時,請確保始終查看正在運行的版本,而不僅僅是嘗試了解即將發布的功能等。
我希望這有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.