Skip to main content

CloudFormationDeployerParameters

@webda/aws


Class: CloudFormationDeployerParameters

Defined in: aws/src/deployers/cloudformation.service.ts:41

CloudFormation deployer parameters

Define how to generate CloudFormation resources

Extends​

Constructors​

Constructor​

new CloudFormationDeployerParameters(): CloudFormationDeployerParameters

Returns​

CloudFormationDeployerParameters

Inherited from​

AWSDeployerParameters.constructor

Properties​

accessKeyId?​

optional accessKeyId?: string

Defined in: aws/src/deployers/awsdeployer.ts:52

AWS_ACCESS_KEY_ID to use

Using static key is not recommended

Inherited from​

AWSDeployerParameters.accessKeyId


APIGateway?​

optional APIGateway?: object

Defined in: aws/src/deployers/cloudformation.service.ts:91

Create an API Gateway for the Lambda function

Index Signature​

[key: string]: any

Name?​

optional Name?: string


APIGatewayBasePathMapping?​

optional APIGatewayBasePathMapping?: object

Defined in: aws/src/deployers/cloudformation.service.ts:124

Base path mapping of the custom domain

BasePath?​

optional BasePath?: string

DomainName?​

optional DomainName?: string

RestApiId?​

optional RestApiId?: string

Stage?​

optional Stage?: string


APIGatewayDeployment?​

optional APIGatewayDeployment?: object

Defined in: aws/src/deployers/cloudformation.service.ts:98

Properties of the API Gateway deployment


APIGatewayDomain?​

optional APIGatewayDomain?: object

Defined in: aws/src/deployers/cloudformation.service.ts:112

Custom domain of the API Gateway

Index Signature​

[key: string]: any

CertificateArn?​

optional CertificateArn?: string

DomainName​

DomainName: string

EndpointConfiguration?​

optional EndpointConfiguration?: object

EndpointConfiguration.Types​

Types: string[]

SecurityPolicy?​

optional SecurityPolicy?: string


APIGatewayImportOpenApi?​

optional APIGatewayImportOpenApi?: string

Defined in: aws/src/deployers/cloudformation.service.ts:266

Import Open API to APIGateway

This is the restApiId to import to


APIGatewayStage?​

optional APIGatewayStage?: object

Defined in: aws/src/deployers/cloudformation.service.ts:102

Properties of the API Gateway stage

Index Signature​

[key: string]: any

StageName?​

optional StageName?: string

Default​
the deployment name

AssetsBucket?​

optional AssetsBucket?: string

Defined in: aws/src/deployers/cloudformation.service.ts:47

AssetsBucket to copy Lambda package, CloudFormation template and OpenAPI definitions

Default to the webda.aws.AssetsBucket of the package.json


AssetsPrefix?​

optional AssetsPrefix?: string

Defined in: aws/src/deployers/cloudformation.service.ts:53

Prefix to use when copying to the AssetsBucket

Default​

"${deployment}/${deployer.name}/"

AWSAccountId?​

optional AWSAccountId?: string

Defined in: aws/src/deployers/awsdeployer.ts:76

AWS Account Id

Inherited from​

AWSDeployerParameters.AWSAccountId


Certificates?​

optional Certificates?: object

Defined in: aws/src/deployers/awsdeployer.ts:98

SSL certificates to create

Sample

Certificates: {
"test.webda.io": {
SubjectAlternativeNames: ["test2.webda.io"]
}
}

Index Signature​

[key: string]: object

Inherited from​

AWSDeployerParameters.Certificates


ChangeSetType?​

optional ChangeSetType?: "CREATE" | "IMPORT"

Defined in: aws/src/deployers/cloudformation.service.ts:59

CREATE is the default

IMPORT is not well supported as AWS support seems weak aswell


CustomResources?​

optional CustomResources?: any

Defined in: aws/src/deployers/cloudformation.service.ts:274

Any additional CloudFormation resources


Description?​

optional Description?: string

Defined in: aws/src/deployers/cloudformation.service.ts:183

Description of the stack and the OpenAPI https://github.com/loopingz/webda.io/issues/17


DomainName?​

optional DomainName?: string

Defined in: aws/src/deployers/cloudformation.service.ts:87

Default DomainName


endpoints?​

optional endpoints?: object

Defined in: aws/src/deployers/awsdeployer.ts:81

Endpoints to use by differents services Usefull to test with localstack or other AWS emulations

ACM?​

optional ACM?: string

APIGateway?​

optional APIGateway?: string

CloudFormation?​

optional CloudFormation?: string

CloudFront?​

optional CloudFront?: string

EC2?​

optional EC2?: string

Route53?​

optional Route53?: string

S3?​

optional S3?: string

STS?​

optional STS?: string

Inherited from​

AWSDeployerParameters.endpoints


Fargate?​

optional Fargate?: object

Defined in: aws/src/deployers/cloudformation.service.ts:229

Add the ECS tasks principal to the generated Role


FileName?​

optional FileName?: string

Defined in: aws/src/deployers/cloudformation.service.ts:83

Name of the template on the AssetsBucket

Default​

"cloudformation-${resources.name}"

Format?​

optional Format?: "JSON" | "YAML"

Defined in: aws/src/deployers/cloudformation.service.ts:71

Format for CloudFormation template

YAML format can generate issue

Default​

"JSON"

Image?​

optional Image?: string

Defined in: aws/src/deployers/cloudformation.service.ts:235

Container image of the application, built separately (webda container build)

Available to the templates as ${resources.Image}


KeepPackage?​

optional KeepPackage?: boolean

Defined in: aws/src/deployers/cloudformation.service.ts:270

Keep locally the Lambda package after S3 uploads


Lambda?​

optional Lambda?: object

Defined in: aws/src/deployers/cloudformation.service.ts:191

Deploy a Lambda package with your application

Index Signature​

[key: string]: any

FunctionName?​

optional FunctionName?: string

FunctionName to create

Handler?​

optional Handler?: string

Should not require to be overriden

Default​
"node_modules/@webda/aws/lib/deployers/lambda-entrypoint.handler"

MemorySize?​

optional MemorySize?: number

Memory to set on the Lambda

Less memory is less expensive/ms but slower

Default​
2048

Role?​

optional Role?: any

Role to set on the function

Runtime?​

optional Runtime?: string

Type of Runtime to use

Default​
"nodejs22.x"

Timeout?​

optional Timeout?: number

Timeout in seconds for your Lambda

Default​
30

LambdaPackager?​

optional LambdaPackager?: LambdaPackageOptions

Defined in: aws/src/deployers/cloudformation.service.ts:187

How to build the Lambda package


name?​

optional name?: string

Defined in: aws/src/deployers/awsdeployer.ts:46

Name of the unit

Inherited from​

AWSDeployerParameters.name


OpenAPIFileName?​

optional OpenAPIFileName?: string

Defined in: aws/src/deployers/cloudformation.service.ts:173

Name of your OpenAPI inside the AssetsBucket

Default​

"${resources.name}-openapi-${package.version}"

OpenAPITitle?​

optional OpenAPITitle?: string

Defined in: aws/src/deployers/cloudformation.service.ts:178

Title for your OpenAPI definition https://github.com/loopingz/webda.io/issues/17


Policy?​

optional Policy?: object

Defined in: aws/src/deployers/cloudformation.service.ts:158

Policy to create

This deployer can automatically create the policy tailored to your application needs All the AWS services from this package advertise the type of permissions they need

Groups?​

optional Groups?: any[]

PolicyDocument?​

optional PolicyDocument?: any

PolicyName?​

optional PolicyName?: string

PolicyName to use

Roles?​

optional Roles?: any[]

Users?​

optional Users?: any[]


region?​

optional region?: string

Defined in: aws/src/deployers/awsdeployer.ts:72

AWS_REGION to use

Default​

"us-east-1"

Inherited from​

AWSDeployerParameters.region


Resources?​

optional Resources?: unknown

Defined in: aws/src/deployers/cloudformation.service.ts:151

Add the CloudFormation contributions of the application services (CloudFormationContributor)


ResourcesToImport?​

optional ResourcesToImport?: any[]

Defined in: aws/src/deployers/cloudformation.service.ts:63

Resources to import in the template


Role?​

optional Role?: object

Defined in: aws/src/deployers/cloudformation.service.ts:133

Role to create

Index Signature​

[key: string]: any

AssumeRolePolicyDocument?​

optional AssumeRolePolicyDocument?: object

AssumeRolePolicyDocument.Statement​

Statement: any[]

AssumeRolePolicyDocument.Version?​

optional Version?: string

Path?​

optional Path?: string

Policies?​

optional Policies?: any[]

RoleName?​

optional RoleName?: string


secretAccessKey?​

optional secretAccessKey?: string

Defined in: aws/src/deployers/awsdeployer.ts:58

AWS_SECRET_ACCESS_KEY to use

Using static key is not recommended

Inherited from​

AWSDeployerParameters.secretAccessKey


sessionToken?​

optional sessionToken?: string

Defined in: aws/src/deployers/awsdeployer.ts:66

AWS_SESSION_TOKEN Token

Even if it is possible to add it here It is not sustainable as this token at its best will have a lifetime of 12 hours

Inherited from​

AWSDeployerParameters.sessionToken


StackName?​

optional StackName?: string

Defined in: aws/src/deployers/cloudformation.service.ts:77

Name of the CloudFormation stack

Default​

the unit name

StackOptions?​

optional StackOptions?: any

Defined in: aws/src/deployers/cloudformation.service.ts:146

Options of the stack: Tags, NotificationARNs, ...


Statics?​

optional Statics?: object[]

Defined in: aws/src/deployers/cloudformation.service.ts:239

Deploy static website

AssetsPath?​

optional AssetsPath?: string

Path to store on the AssetsBucket

Bucket?​

optional Bucket?: any

Bucket parameter to add, a bucket named after the domain is created

CloudFront?​

optional CloudFront?: any

CloudFront parameter to add

DomainName​

DomainName: string

Domain name to deploy on

Source​

Source: string

Source on local folder


Tags?​

optional Tags?: TagsDefinition

Defined in: aws/src/deployers/awsdeployer.ts:85

Default Tags to use with resources created by deployers

Inherited from​

AWSDeployerParameters.Tags


type​

type: string

Defined in: core/lib/services/serviceparameters.d.ts:8

Type of the service

Inherited from​

AWSDeployerParameters.type

Methods​

load()​

load(params?): this

Defined in: core/lib/services/serviceparameters.d.ts:18

Load raw parameters by assigning them onto this instance

Parameters​

params?​

any

the service parameters

Returns​

this

this for chaining

Inherited from​

AWSDeployerParameters.load


update()​

update(params, delta): this

Defined in: core/lib/services/serviceparameters.d.ts:25

Update parameters and call watchers if a parameter was changed

Parameters​

params​

any

the service parameters

delta​

any

the delta

Returns​

this

this for chaining

Inherited from​

AWSDeployerParameters.update


with()​

with(callback): this

Defined in: core/lib/services/serviceparameters.d.ts:31

Watch for changes on the parameters and call watchers when a parameter is changed

Parameters​

callback​

(params) => void

the callback function

Returns​

this

this for chaining

Inherited from​

AWSDeployerParameters.with