Show / Hide Table of Contents

Class DefaultStagingStackOptions

(experimental) User configurable options to the DefaultStagingStack.

Inheritance
object
DefaultStagingStackOptions
Implements
IDefaultStagingStackOptions
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AppStagingSynthesizer.Alpha
Assembly: Amazon.CDK.AppStagingSynthesizer.Alpha.dll
Syntax (csharp)
public class DefaultStagingStackOptions : IDefaultStagingStackOptions
Syntax (vb)
Public Class DefaultStagingStackOptions Implements IDefaultStagingStackOptions
Remarks

Stability: Experimental

ExampleMetadata: infused

Examples
using Amazon.CDK.AWS.S3;

             var defaultStagingStack = DefaultStagingStack.Factory(new DefaultStagingStackOptions { AppId = "my-app-id", StagingBucketEncryption = BucketEncryption.S3_MANAGED });

Synopsis

Constructors

DefaultStagingStackOptions()

(experimental) User configurable options to the DefaultStagingStack.

Properties

AppId

(experimental) A unique identifier for the application that the staging stack belongs to.

AutoDeleteStagingAssets

(experimental) Auto deletes objects in the staging S3 bucket and images in the staging ECR repositories.

DeployTimeFileAssetLifetime

(experimental) The lifetime for deploy time file assets.

FileAssetPublishingRole

(experimental) Pass in an existing role to be used as the file publishing role.

ImageAssetPublishingRole

(experimental) Pass in an existing role to be used as the image publishing role.

ImageAssetVersionCount

(experimental) The maximum number of image versions to store in a repository.

StagingBucketEncryption

(experimental) Encryption type for staging bucket.

StagingBucketName

(experimental) Explicit name for the staging bucket.

StagingStackNamePrefix

(experimental) Specify a custom prefix to be used as the staging stack name and construct ID.

Constructors

DefaultStagingStackOptions()

(experimental) User configurable options to the DefaultStagingStack.

public DefaultStagingStackOptions()
Remarks

Stability: Experimental

ExampleMetadata: infused

Examples
using Amazon.CDK.AWS.S3;

             var defaultStagingStack = DefaultStagingStack.Factory(new DefaultStagingStackOptions { AppId = "my-app-id", StagingBucketEncryption = BucketEncryption.S3_MANAGED });

Properties

AppId

(experimental) A unique identifier for the application that the staging stack belongs to.

public string AppId { get; set; }
Property Value

string

Remarks

This identifier will be used in the name of staging resources created for this application, and should be unique across CDK apps.

The identifier should include lowercase characters and dashes ('-') only and have a maximum of 20 characters.

Stability: Experimental

AutoDeleteStagingAssets

(experimental) Auto deletes objects in the staging S3 bucket and images in the staging ECR repositories.

public bool? AutoDeleteStagingAssets { get; set; }
Property Value

bool?

Remarks

Default: true

Stability: Experimental

DeployTimeFileAssetLifetime

(experimental) The lifetime for deploy time file assets.

public Duration? DeployTimeFileAssetLifetime { get; set; }
Property Value

Duration

Remarks

Assets that are only necessary at deployment time (for instance, CloudFormation templates and Lambda source code bundles) will be automatically deleted after this many days. Assets that may be read from the staging bucket during your application's run time will not be deleted.

Set this to the length of time you wish to be able to roll back to previous versions of your application without having to do a new cdk synth and re-upload of assets.

Default: - Duration.days(30)

Stability: Experimental

FileAssetPublishingRole

(experimental) Pass in an existing role to be used as the file publishing role.

public BootstrapRole? FileAssetPublishingRole { get; set; }
Property Value

BootstrapRole

Remarks

Default: - a new role will be created

Stability: Experimental

ImageAssetPublishingRole

(experimental) Pass in an existing role to be used as the image publishing role.

public BootstrapRole? ImageAssetPublishingRole { get; set; }
Property Value

BootstrapRole

Remarks

Default: - a new role will be created

Stability: Experimental

ImageAssetVersionCount

(experimental) The maximum number of image versions to store in a repository.

public double? ImageAssetVersionCount { get; set; }
Property Value

double?

Remarks

Previous versions of an image can be stored for rollback purposes. Once a repository has more than 3 image versions stored, the oldest version will be discarded. This allows for sensible garbage collection while maintaining a few previous versions for rollback scenarios.

Default: - up to 3 versions stored

Stability: Experimental

StagingBucketEncryption

(experimental) Encryption type for staging bucket.

public BucketEncryption StagingBucketEncryption { get; set; }
Property Value

BucketEncryption

Remarks

In future versions of this package, the default will be BucketEncryption.S3_MANAGED.

In previous versions of this package, the default was to use KMS encryption for the staging bucket. KMS keys cost $1/month, which could result in unexpected costs for users who are not aware of this. As we stabilize this module we intend to make the default S3-managed encryption, which is free. However, the migration path from KMS to S3 managed encryption for existing buckets is not straightforward. Therefore, for now, this property is required.

If you have an existing staging bucket encrypted with a KMS key, you will likely want to set this property to BucketEncryption.KMS. If you are creating a new staging bucket, you can set this property to BucketEncryption.S3_MANAGED to avoid the cost of a KMS key.

Stability: Experimental

StagingBucketName

(experimental) Explicit name for the staging bucket.

public string? StagingBucketName { get; set; }
Property Value

string

Remarks

Default: - a well-known name unique to this app/env.

Stability: Experimental

StagingStackNamePrefix

(experimental) Specify a custom prefix to be used as the staging stack name and construct ID.

public string? StagingStackNamePrefix { get; set; }
Property Value

string

Remarks

The prefix will be appended before the appId, which is required to be part of the stack name and construct ID to ensure uniqueness.

Default: 'StagingStack'

Stability: Experimental

Implements

IDefaultStagingStackOptions
Back to top Generated by DocFX