--- layout: "docs" page_title: "Provisioner: chef" sidebar_current: "docs-provisioners-chef" description: |- The `chef` provisioner invokes a Chef Client run on a remote resource after first installing and configuring Chef Client on the remote resource. The `chef` provisioner supports both `ssh` and `winrm` type connections. --- # Chef Provisioner The `chef` provisioner invokes a Chef Client run on a remote resource after first installing and configuring Chef Client on the remote resource. The `chef` provisioner supports both `ssh` and `winrm` type [connections](/docs/provisioners/connection.html). ## Requirements In order for the `chef` provisioner to work properly, you need either `cURL` (when using a `ssh` type connection) or `PowerShell 2.0` (when using a `winrm` type connection) to be available on the target machine. ## Example usage ``` # Start a initial chef run on a resource resource "aws_instance" "web" { ... provisioner "chef" { attributes = <