官术网_书友最值得收藏!

Providers

Providers are the implementation of the resources on a system. Types express the interface used in describing the resources, whereas providers provide the implementation about how the resources interact with the underlying system.

The separation between the interface and its implementation allows multiple providers to be developed for a type.

The package type provided as part of a Puppet installation, for example, has many separate providers that interact with systems, including rpm, apt, yum, zipper, chocolatey, and so on. All that's needed for a new provider to be developed is for it to adhere to the interface defined in its type.

You can check out the official documentation pages on Puppet providers at https://puppet.com/docs/puppet/5.3/custom_types.html#providers and https://puppet.com/docs/puppet/5.3/provider_development.html. Gary Larizza's blog also offers an alternative set of useful examples on providers at http://garylarizza.com/blog/2013/11/26/fun-with-providers-part-2/.

Go through the following steps to create a new provider for your type:

  1. Create and distribute your provider
  2. Indicate the suitability of the provider to the type in the following ways:
    • Using the confine method
    • Using the defaultfor method
    • Using the commands method
  3. Implement the ensure property
    • Using the exists? method
    • Using the create and destroy methods
  4. Use the GET and SET methods to manage type properties
  5. Implement the self.instances method

Let's now go into more detail for each of these steps for creating your new provider in the following sections.

主站蜘蛛池模板: 木兰县| 崇州市| 陕西省| 溧水县| 镇江市| 马鞍山市| 舞钢市| 会同县| 荣成市| 松滋市| 绍兴市| 南昌县| 从化市| 新巴尔虎右旗| 资兴市| 高州市| 铜陵市| 延庆县| 宝兴县| 仙居县| 蒲江县| 汕尾市| 牙克石市| 大兴区| 灵宝市| 贵州省| 保定市| 平凉市| 曲麻莱县| 丰顺县| 潜江市| 铁力市| 荥经县| 林周县| 张北县| 邵武市| 浙江省| 纳雍县| 合作市| 微博| 杭锦后旗|