将以下厨师食谱的一部分转换为 Ansible

Convert part of the following chef recipe to Ansible

我正在尝试将以下厨师食谱转换为 Ansible。什么可以等同于它?..我熟悉 Ansible。创建三个目录是否正确?如 /usr/share/agentone/lib ; /usr/share/agentone/etc; /usr/share/agentone/bin 他们都开启了 0755 模式?

 if node[:platform_family] == 'debian'

  %w{lib etc bin}.each do |dir|
    directory "/usr/share/agentone/#{dir}" do
     mode '0755'
     owner 'root'
     group 'root'
     action :create
     recursive true
    end
  end

  directory '/var/log/agentone'
  directory 'var/run/agentone'

  link '/usr/share/agentone/logs' do
   to '/var/log/agentone'
  end

  template '/etc/init.d/agentone' do
    owner 'root'
    group 'root'
    mode '750'
    source 'agentone.init.erb'
    variables(
      :version => node[:base][:agent][:agent_artifact][:version]
     )
  end

 end 

用 Ansible 编写的最佳方式是什么?

这个的 ansible 版本是这样的:

- name: create dirs
  file: path=/usr/share/agentone/{{ item }}
        state=directory
        owner=root
        group=root
        mode=0755
        recurse=true
  with_items:
      - lib
      - etc
      - bin
  when: ansible_distribution == 'Debian'

编辑:关于您添加的附加代码:

- name: symlink /usr/share/agentone/logs
  file: path=/usr/share/agentone/logs
        src=/var/log/agentone
        state=link

- name: template /etc/init.d/agentone
  template: src=agentone.init.erb
            dest=/etc/init.d/agentone
            owner=root
            group=root
            mode=0750

关于模板任务中使用的变量,只需将它们添加到您的库存文件、vars 文件或其他任何地方Ansible variables can be defined