Puppet 资源公有属性的其他描述方式(三十)
Puppet 资源公有属性的其他描述方式
puppet的资源公有属性中还可以通过"->"和"~>"两种特殊符号来描述资源与资源之间的关系.
->:用于表示资源与资源之间的先后关系,等同于before和require两个资源公有属性.
~>:用于表示资源之间的通知,等同于notify和subscribe练个资源公有属性.
示例: "->"用法
安装httpd并运行httpd服务的puppet代码如下:
[root@sh-web1 ~]# cat httpd2.pp package {"httpd":ensure => present,provider => 'yum', } service {"httpd":ensure => running,enable => true, } Package["httpd"] -> Service["httpd"]
运行结果:
[root@sh-web1 ~]# puppet apply httpd2.pp Notice: Compiled catalog for sh-web1.localdomain in environment production in 0.06 seconds Notice: /Stage[main]/Main/Package[httpd]/ensure: created Notice: /Stage[main]/Main/Service[httpd]/ensure: ensure changed 'stopped' to 'running' Notice: Finished catalog run in 3.02 seconds [root@sh-web1 ~]# /etc/init.d/httpd status httpd (pid 81254) is running...
示例: "~>"用法
[root@sh-web1 ~]# cat httpd.pp package {"httpd":ensure => present,provider => 'yum', } service {"httpd":ensure => running,enable => true, } file {'/etc/httpd/conf/httpd.conf':ensure => file, } Package["httpd"] -> File ['/etc/httpd/conf/httpd.conf'] ~> Service["httpd"]
运行结果:
[root@sh-web1 ~]# puppet apply httpd.pp Notice: Compiled catalog for sh-web1.localdomain in environment production in 0.07 seconds Notice: /Stage[main]/Main/Package[httpd]/ensure: created Notice: /Stage[main]/Main/Service[httpd]/ensure: ensure changed 'stopped' to 'running' Notice: Finished catalog run in 3.25 seconds [root@sh-web1 ~]# /etc/init.d/httpd status httpd (pid 81493) is running...
生产上并不会像上面那样去写,一个资源可能很大,篇幅很长.
如下两种写法:
第一种:
[root@sh-web1 ~]# cat httpd2.pp package {"httpd":ensure => present, provider => 'yum', } -> service {"httpd":ensure => running, enable => true, }
第二种:
[root@sh-web1 ~]# cat httpd2.pp package {"httpd":ensure => present,provider => 'yum', } -> service {"httpd":ensure => running,enable => true, }
[root@sh-web1 ~]# puppet apply httpd2.pp Notice: Compiled catalog for sh-web1.localdomain in environment production in 0.04 seconds Notice: /Stage[main]/Main/Package[httpd]/ensure: created Notice: /Stage[main]/Main/Service[httpd]/ensure: ensure changed 'stopped' to 'running' Notice: Finished catalog run in 2.28 seconds
注意:大部分都是第二种写法,"->"或"~>"跟在花括号的后面,但是个人习惯用第一种反正更新puppet不报错也能得到想要结果就ok.
audit审计
audit资源公有属性主要用于资源属性的审计,当某资源状态变化时,它可以将变化的内容抓夹到系统日志中.
puppet代码如下:
[root@sh-web1 ~]# cat file.pp file {"/etc/password":audit => [ owner,mode ], }
运行过程,会看到改变通知.
[root@sh-web1 ~]# puppet apply file.pp Notice: Compiled catalog for sh-web1.localdomain in environment production in 0.07 seconds Notice: /Stage[main]/Main/File[/etc/password]/owner: audit change: newly-recorded value absent Notice: /Stage[main]/Main/File[/etc/password]/mode: audit change: newly-recorded value absent Notice: Finished catalog run in 0.05 seconds
Puppet 资源公有属性的其他描述方式(三十)相关推荐
- js图解之-图解静态、私有、公有属性和方法的区别
js图解之-图解静态方法.私有方法.公有方法区别 首先,在方法之前,我们需要先铺垫一下我们的基础知识,从一砖一瓦开始,最终解决我们的问题 一.什么是面向对象 面向对象是一个伟大的编程思想, 本质:创建 ...
- day4(定义类,公有,私有方法,静态方法,原形方式的属性和方法)
<script type="text/javascript">//定义类和方法function Person(){this.name="人";//定 ...
- Python 类—类属性(私有属性、公有属性、实例属性、局部变量)类方法(实例方法、静态方法)
1. 创建类 类是对某个对象的定义,它包含有关对象动作方式的信息,包括它的名称.方法.属性和事件.类不存在于内存中,因此它本身并不是对象.当程序运行需要引用类的代码时,就会在内存中创建一个类的新实例, ...
- 类属性、类方法;私有属性、公有属性;私有方法、公有方法;静态属性、静态方法;python的命名规范__xx__\__xx\_xx(自用笔记)
Ⅰ.类属性.类方法(类和实例都能调用类属性和类方法) 类是一个特殊的对象,Python 中 一切皆对象:class AAA: #定义的类属于 类对象obj1 = AAA() #属于 实例对象 除了封装 ...
- Python 中的属性访问与描述符
在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言,点(. ...
- python描述符与实例属性_Python 中的属性访问与描述符
在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言,点(. ...
- Swift:带有私有设置方法的公有属性
作者:Thomas Hanning,原文链接,原文日期:2015-12-24 译者:小袋子:校对:lfb_CD:定稿:Cee Swift 可以很方便地创建带有私有设置方法的公有属性.这可以让你的代码更 ...
- python 类 公有属性、私有属性、公有方法、私有方法
python 类 公有属性.私有属性.公有方法.私有方法 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Int ...
- 第174天:面向对象——公有属性、私有属性和静态属性
一.公有属性和私有属性 1 //对象构造函数 2 //私有属性好处: 安全 就类似闭包中的函数一样 减少污染 3 function Person(name){ 4 //私有属性,只能在对象构造函数内部 ...
最新文章
- Codeforces Hello 2019 D. Makoto and a Blackboard[DP+数论+概率期望]
- QT的QStyleOption类的使用
- Android代码混淆方法,Android 代码混淆零基础入门
- symfony app dev.php,Symfony 2:404未找到当tryes打开/app_dev.php时出错
- 6大理由告诉你为什么这次区块链大会必须参加
- 汽车自动驾驶技术与产品研发仿真测试软件—panosim(一)
- 移动端浏览器识别PHP,PHP判断访客是否移动端浏览器访问
- matlab各相关系数的计算,matlab 相关系数的计算
- 全国计算机能力挑战赛含金量高吗,大学里,有哪些含金量高,又容易得奖的国家级比赛?...
- LSB算法的扩展延伸
- namecheap域名如何绑定IP
- Three.js修改模型中心点
- 7、WiFi共享大师
- 华硕笔记本全硬盘恢复原厂状态 实机操作,MYASUS IN WINRE恢复,ASUS RECOVERY恢复
- 测量学matlab使用心得,测量学实习心得体会4篇
- 文献阅读 ——— Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in NLP
- C#模仿腾讯QQ源码下载(附效果图)_张童瑶的博客
- pyecharts制作中国地图
- Word连续引用[1, 2] [3-5]
- java ace admin_ace-admin-master