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.
  • 相关阅读:
    GridView自动排序
    asp.net GridView72般绝技
    asp.net 在线人数统计
    javascript 触发事件函数(网络收藏)
    javascript 函数大全一(网络收藏)
    asp.net按标示符分割字符串
    asp.net将DataView转换成DataTable
    APP Fundmentals
    TR69 TRxObjNode
    在桌面上添加 应用图标
  • 原文地址:https://www.cnblogs.com/iamdevops/p/5624704.html
Copyright © 2011-2022 走看看