有内置的全局变量,可以从清单或模板访问。就像$ serverip一样,主服务器的IP地址。我知道如何调用Facter,但是某些内置函数并不代表任何Facter的“事实”。如何从自定义提供程序访问它们?
答案 0 :(得分:2)
是的,代理将事实值传递给主服务器,以便在清单编译期间,您可以使用所描述的值。
代理本身(以及扩展名,类型和提供者)可以直接访问这些值。
value = Facter.value('serverip')
这几乎应该可以在代理端的所有上下文中使用(包括自定义事实),因为Puppet代理将始终加载Facter,从而直接提供解析。
答案 1 :(得分:1)
随着来自OP的更多反馈,很明显这不是来自全局变量的master
信息,而是"隐含的事实"而是使用代理配置。
代理可以非常简单地使用全局哈希中的配置。
port = Puppet['masterport']
master_host = Puppet['server']
答案 2 :(得分:1)
为了将其包装起来,以下内容将转移全球'将设置设置为人类可读的评论配置文件格式,以便那些想知道哪些设置可用(可通过Puppet [' 设置']访问的设置):
<div id="InvRow" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close"
data-dismiss="modal">
</button>
<h4 class="modal-title">
Invoice Row
</h4>
</div>
<div class="modal-body">
<xp:panel id="pnlrow">
<xp:table>
<xp:tr>
<xp:td>
<xp:label value="Description :"
id="label13">
</xp:label>
</xp:td>
<xp:td>
<xp:inputText id="RestipDesc" defaultValue=".">
</xp:inputText>
</xp:td>
<xp:td></xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Quantity :"
id="label17">
</xp:label>
</xp:td>
<xp:td>
<xp:inputText id="RestipQuantity"
required="true" defaultValue="0">
<xp:this.validators>
<xp:validateRequired
message="Quantity Required !!!">
</xp:validateRequired>
</xp:this.validators>
<xp:this.converter>
<xp:convertNumber
type="number">
</xp:convertNumber>
</xp:this.converter>
</xp:inputText>
</xp:td>
</xp:table>
<xp:messages id="messages3"></xp:messages>
</xp:panel>
</div>
<div class="modal-footer">
<xp:button value="Update Row" id="button11" styleClass="btn btn-success">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" immediate="false" save="false" refreshId="repeatTable">
<xp:this.action><![CDATA[#{javascript:UpdateRow();}]]> </xp:this.action>
</xp:eventHandler>
<xp:this.attrs>
<xp:attr name="data-dismiss"
value="modal">
</xp:attr>
</xp:this.attrs>
</xp:button>
<xp:button value="Cancel" id="button5" styleClass ="btn btn-danger">
<xp:eventHandler event="onclick" submit="true" refreshMode="norefresh"> </xp:eventHandler>
<xp:this.attrs>
<xp:attr name="data-dismiss"
value="modal">
</xp:attr>
</xp:this.attrs>
</xp:button>
</div>
</div>
</div>
</div>