0

I have a template I am trying to deploy but fails on the second step when attempting to create/update the cloudformation stack. I get the following error: ##[error]Error: Error uploading template file: Error: EISDIR: illegal operation on a directory, read. Seems obvious it cannot read from the S3 bucket and prefix, however, I have tried numerous iterations and still cannot get the stack to create. Basically, looking for how to create a cloudformation template by reading from s3Prefix. I know my parameters are working because the cloudformation file gets uploaded successfully to s3 without an issue.

I have tried the following for the s3ObjectKey:

  1. ${{ parameters.stackTargetFolder }}/${{ parameters.templateName }}
  2. ${{ parameters.stackTargetFolder }}${{ parameters.templateName }}
  3. ${{ parameters.templateName }}

Here is my template:

parameters:
  credentials: ''
  stackRegion: ''
  stackName: ''
  stackBucket: ''
  stackTargetFolder: ''
  stackSourceFolder: ''
  templateName: ''
  changeSetName: ''

steps:
  - task: S3Upload@1
    inputs:
      awsCredentials: ${{ parameters.credentials }}
      regionName: ${{  parameters.stackRegion }}
      bucketName: ${{ parameters.stackBucket }}
      sourceFolder: ${{ parameters.stackSourceFolder}}
      globExpressions: '**'
      targetFolder: ${{ parameters.stackTargetFolder }}
      createBucket: true
  - task: CloudformationCreateOrUpdateStack@1
    displayName: 'Create/Update Stack'
    inputs:
      awsCredentials: ${{ parameters.credentials }}
      region: ${{ parameters.stackRegion }}
      stackName: ${{ parameters.stackName }}
      useChangeSet: true
      s3BucketName: ${{ parameters.stackBucket }}
      s3ObjectKey: ${{ parameters.templateName }}
      changeSetName: ${{ parameters.changeSetName }}
      captureStackOutputs: asVariables
      captureAsSecuredVars: false
Vince
  • 593
  • 1
  • 5
  • 10

0 Answers0