zoukankan      html  css  js  c++  java
  • chef 配置之 Templates

    chef template 简单例子

    cat nginx_config.rb

    .....
    template '/etc/nginx/nginx.conf' do source 'nginx.conf.erb' owner 'root' group 'root' mode '0644' end
    .......
    /etc/nginx/nginx.conf 目标文件位置
    nginx.conf.erb 模板文件

    puppet 是这样表达的

    file{"nginx.conf":
    ensure => present,
    mode => 644,owner => root,group => root,
    path => "/etc/nginx/nginx.conf",
    content=> template("nginx/nginx.conf.erb"),
    require=> Package["nginx"],
    }

    简单对比下方便理解

    chef template的resource

    template 'name' do
      atomic_update              TrueClass, FalseClass
      backup                     FalseClass, Integer
      cookbook                   String
      force_unlink               TrueClass, FalseClass
      group                      String, Integer
      helper(:method)            Method { String } # see Helpers below
      helpers(module)            Module # see Helpers below
      inherits                   TrueClass, FalseClass
      local                      TrueClass, FalseClass
      manage_symlink_source      TrueClass, FalseClass, NilClass
      mode                       String, Integer
      notifies                   # see description
      owner                      String, Integer
      path                       String # defaults to 'name' if not specified
      provider                   Chef::Provider::File::Template
      rights                     Hash
      sensitive                  TrueClass, FalseClass
      source                     String, Array
      subscribes                 # see description
      variables                  Hash
      verify                     String, Block
      action                     Symbol # defaults to :create if not specified
    end
    • template is the resource
    • name is the name of the resource block, typically the path to the location in which a file is created and also the name of the file to be managed. For example: /var/www/html/index.html, where /var/www/html/ is the fully qualified path to the location and index.html is the name of the file
    • source is the template file that will be used to create the file on the node, for example: index.html.erb; the template file is located in the /templates directory of a cookbook
    • :action identifies the steps the chef-client will take to bring the node into the desired state
    • atomic_updatebackupcookbookforce_unlinkgrouphelperhelpersinheritslocalmanage_symlink_sourcemodeowner,pathproviderrightssensitivesourcevariables, and verify are properties of this resource, with the Ruby type shown. See “Properties” section below for more information about all of the properties that may be used with this resource.
  • 相关阅读:
    interface in iOS
    iOS Crash 分析 符号化崩溃日志
    获取IMSI
    nmon 命令
    nmon监控Linux服务器系统资源
    ios tcpdump
    svn Previous operation has not finished; run 'cleanup' if it was interrupted
    build dynamic libraries for iOS and load them at runtime
    ADO:连接,执行语句与关闭(sql server数据库)
    QFileInfo与QFileIconProvider(分别用于获取文件信息和获取文件的图标)
  • 原文地址:https://www.cnblogs.com/iamdevops/p/5624704.html
Copyright © 2011-2022 走看看