AWS CodeDeploy
User Guide (API Version 2014-10-06)

AppSpec File Structure

The AppSpec file has the following high-level structure:

version: 0.0 os: operating-system-name files: source-destination-files-mappings permissions: permissions-specifications hooks: deployment-lifecycle-event-mappings

In this structure:


This section specifies the version of the AppSpec file. Do not change this value. It is required. Currently the only allowed value is 0.0. It is reserved by AWS CodeDeploy for future use.


This section specifies the operating system value of the instance to which you will deploy. It is required. The following values can be specified:

  • linux – The instance is an Amazon Linux, Ubuntu Server, or RHEL instance.

  • windows – The instance is a Windows Server instance.


This section specifies the names of files that should be copied to the instance during the deployment's Install event.

For more information, see AppSpec 'files' Section.


This section specifies how special permissions, if any, should be applied to the files in the files section as they are being copied over to the instance. This section applies to Amazon Linux, Ubuntu Server, and Red Hat Enterprise Linux (RHEL) instances only.

For more information see, AppSpec 'permissions' Section.


This section specifies scripts to run at specific deployment lifecycle events during the deployment.

For more information, see AppSpec 'hooks' Section.