YAML for Amazon S3

View as Markdown

Deploy files to Amazon S3 bucket with configurable access control and caching.

YAML parameters for Amazon S3

PARAMETERS
integrationrequiredstring
AWS integration identifier for authentication. It refers to an integration in the workspace by its identifier, not by its display name.
bucket_namerequiredstring
S3 bucket name.
typerequiredstring

Value: AMAZON_S3

actionrequiredstring
Unique identifier for the action within the pipeline.
public_accessboolean
When true, make deployed files publicly accessible.
aclstring enum
The access control list applied to uploaded files.
Allowed enum:
PRIVATE,
PUBLIC_READ,
PUBLIC_READ_WRITE,
AWS_EXEC_READ,
AUTHENTICATED_READ,
BUCKET_OWNER_READ,
BUCKET_OWNER_FULL_CONTROL,
LOG_DELIVERY_WRITE
reduced_redundancyboolean
When true, use reduced redundancy storage class.
cache_controlstring
Cache-Control header value for uploaded files.
expires_datestring
Date and time with an offset (ISO 8601, e.g. 2027-01-01T00:00:00Z) set as the Expires header of the uploaded files.
skip_content_type_settingboolean
When true, do not set Content-Type header for uploaded files.
deploy_tagsDeploymentTagYaml[]
AWS S3 object tags to apply to deployed files.
local_pathstring
Path in the repository to deploy. Use '/' for entire repository.
remote_pathstring
Destination path on the remote server.
deployment_excludesstring[]
Paths to exclude from deployment. One path per line.
deployment_includesstring[]
Paths to include in deployment. Only these paths will be transferred.
input_typestring enum
The source of files to deploy.
Allowed enum:
SCM_REPOSITORY,
BUILD_ARTIFACTS
deletion_disabledboolean
When true, do not delete files on remote that don't exist locally.
content_encodingstring
Content encoding for transferred files (e.g., gzip).
always_from_scratchboolean
If set to true, the action always deploys the full set of files ignoring the changeset. For PUBLISH_ARTIFACT_VERSION the artifact version contents are also cleared before upload. The action runs from scratch when this flag OR the run-level always_from_scratch flag is true.
trigger_timestring enum
Specifies when the action should be executed.
Allowed enum:
ON_EVERY_EXECUTION,
ON_FAILURE,
ON_BACK_TO_SUCCESS,
ON_WARNING,
ON_WAIT_FOR_APPROVE,
ON_TERMINATE
loopstring[]
The list of variables for dynamic action execution. The action runs once for each value.
run_only_on_first_failureboolean
When true, the action runs only on the first failure instead of on each failure. Used only when trigger_time is ON_FAILURE.
disabledboolean
When set to true the action is disabled. By default it is set to false.
timeoutinteger
The timeout in seconds. It cannot exceed the action time limit of the workspace plan; a higher value is rejected.
ignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actions.
retry_intervalinteger
Delay time between auto retries in seconds.
retry_countinteger
Number of retries if the action fails.

Constraints: ≤ 10

run_nextstring enum
Defines whether the action should run in parallel with the next one.
Allowed enum:
WAIT_ON_SUCCESS,
IN_SOFT_PARALLEL,
IN_HARD_PARALLEL
trigger_conditionsTriggerConditionYaml[]
The list of trigger conditions to meet so that the action can be triggered.
variablesVariableYaml[]
The list of variables you can use in the action.

Last modified on Nov 2, 2026

YAML examples for Amazon S3

Deploy to S3 with caching and tags

yaml
- action: Deploy to S3
  type: AMAZON_S3
  trigger_time: ON_EVERY_EXECUTION
  disabled: false
  integration: amazon_default
  local_path: /dist
  remote_path: /static
  deployment_excludes:
    - "*.log"
    - "*.tmp"
    - .git
  deployment_includes:
    - "*.js"
    - "*.css"
  bucket_name: my-production-bucket
  public_access: true
  acl: PUBLIC_READ
  reduced_redundancy: false
  cache_control: max-age=31536000
  expires_date: "2027-01-01T00:00:00Z"
  skip_content_type_setting: false
  always_from_scratch: true
  deploy_tags:
    - key: Environment
      value: Production
    - key: Version
      value: "1.0.0"
  ignore_errors: false
  retry_interval: 30
  retry_count: 2
  timeout: 3600

Simple S3 upload

yaml
- action: S3 upload
  type: AMAZON_S3
  trigger_time: ON_EVERY_EXECUTION
  integration: amazon_default
  bucket_name: my-bucket