A set of PowerShell cmdlets for manipulating AWS CloudFormation stacks, and generating Terraform configuration from existing CloudFormation stacks.
-PassThru
switch). Where nested stacks are involved, the events from these are also shown interleaved with those of the parent stack in chronlogical order.terraform graph
This module depends on AWS.Tools version 4.1.16.0
or higher which you should install/upgrade to first
Required AWS.Tools modules:
Head over here for further reading and more in-depth discussion on the featues of this module.
The module is published on the PowerShell Gallery and can be installed by following the instructions there.
Up until v3.x, there were two versions of this module published, one for Windows PowerShell and another for PowerShell Core for Linux/Mac. From now on, there is only the one module which works on all platforms.
The last version to support monolithic AWSPowerShell is v2.2.2 which can still be pulled from PSGallery.
For non-Windows users
All the cmdlets support the standard AWSPowerShell Common Credential and Region Parameters.
For full syntax and some examples, use Get-Help
on the module's cmdlets.
This module provides the following stack modification cmdlets
New-PSCFNStack
- (Documentation) Create a new stack.Update-PSCFNStack
- (Documentation) Update an existing stack.Remove-PSCFNStack
- (Documentation) Delete one or more existing stacks.Reset-PSCFNStack
- (Documentation) Delete, then redeploy an existing stack.New-PSCFNChangeSet
- (Documentation) Create changeset only, for review.Get-PSCFNStackOutputs
(Documentation) Retrieves the outputs of a stack in various useful formats for use in creation of new stack templates that will use or import these values.New-PSCFNPackage
(Documentation) Packages local artifacts, like aws cloudformation package
.Export-PSCFNTerraform
(Documentation) Exports a deployed CloudFormation stack to Terraform HCL.
Oversize templates in your local file system (file size >= 51,200 bytes) are directly supported. They will be silently uploaded to an S3 bucket which is created as necessary prior to processing with a delete after 7 days lifecycle policy to prevent buildup of rubbish. The bucket is named ps-templates-pscloudformation-region-accountid
where
region
is the region you are building the stack in, e.g. eu-west-1
.accountid
is the numeric ID of the AWS account in which you are building the stack.Once the CloudFormation template location is known, it is parsed in the background and everything in the Parameters
block of the template is extracted and turned into cmdlet arguments. Read more here.
Thanks to
PSDepend
and PSDeploy
used in parts of the build of this project.YamlDotNet
csly
used to parse python METADATA
files.