Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
@aws-cdk/cfnspec
Advanced tools
@aws-cdk/cfnspec is an npm package that provides CloudFormation resource specifications for AWS CDK. It allows developers to work with AWS CloudFormation resources in a programmatic way, enabling the creation, modification, and validation of AWS infrastructure as code.
Loading CloudFormation Specifications
This feature allows you to load the CloudFormation resource specifications. The `spec` object contains detailed information about all the AWS resources supported by CloudFormation.
const cfnspec = require('@aws-cdk/cfnspec');
const spec = cfnspec.spec;
console.log(spec);
Accessing Resource Types
This feature allows you to access the different resource types available in the CloudFormation specification. The `ResourceTypes` object contains metadata about each resource type.
const cfnspec = require('@aws-cdk/cfnspec');
const resourceTypes = cfnspec.spec.ResourceTypes;
console.log(Object.keys(resourceTypes));
Validating Resource Properties
This feature allows you to validate the properties of a specific resource type. For example, you can retrieve and inspect the properties of an S3 bucket.
const cfnspec = require('@aws-cdk/cfnspec');
const resourceTypes = cfnspec.spec.ResourceTypes;
const s3BucketProps = resourceTypes['AWS::S3::Bucket'].Properties;
console.log(s3BucketProps);
The `aws-sdk` package is the official AWS SDK for JavaScript, providing a comprehensive set of tools for interacting with AWS services. Unlike @aws-cdk/cfnspec, which focuses on CloudFormation specifications, `aws-sdk` allows you to directly interact with AWS services, making API calls to manage resources.
The `cloudformation-js-yaml-schema` package provides a JSON schema for AWS CloudFormation templates. It is useful for validating CloudFormation templates written in YAML or JSON. While it focuses on template validation, @aws-cdk/cfnspec provides a more comprehensive set of tools for working with CloudFormation specifications programmatically.
The `cdk` package is the AWS Cloud Development Kit, which allows you to define cloud infrastructure using a programming language. It provides higher-level abstractions for AWS resources, whereas @aws-cdk/cfnspec provides the raw CloudFormation specifications that can be used to build such abstractions.
To update the CloudFormation spec, you can run bump-cfnspec.sh
from a clean repo, as so -
./scripts/bump-cfnspec.sh
If you wish to only update the CFN spec, make sure to install all dependencies and build the cfnspec
module,
and then you can just run:
yarn update
1.32.0 (2020-04-07)
UserPoolClient
construct no longer has the property
userPoolClientClientSecret
. The functionality to retrieve the client
secret never existed in CloudFormation, so this property was not
working in the first place.userPoolClientName
property on the UserPoolClient
construct will throw an error if client name was not configured on the
UserPoolClient
during initialization. This property was previously
incorrectly configured and was returning a not-implemented message from
CloudFormation every time.sourceCodeProvider
prop to connect your app to a source
code provider. The props repository
, accessToken
and oauthToken
do not exist
anymore in AppProps
.retentionPeriodHours
is now retentionPeriod
and of type Duration
Cluster
now creates a default managed nodegroup as its default capacity. Set the new cluster property defaultCapacityType
to DefaultCapacityType.EC2
to preserve EC2
as its default capacity.add*Trigger()
methods to configure
lambda triggers has now been replaced by a single
addTrigger()
method.addTrigger()
method will fail if a trigger
was already configured for that user pool operation.{[key: string]: any}
instead of plain any
. You were always supposed to pass a map/dictionary in these locations, but the type system didn't enforce it. It now does.aws:SecureTransport
for staging bucket (#7192) (ed106ea)Size
unit representing digital information quantity (#6940) (22a560d)acm-certificatemanager: DnsValidatedCertificateHandler support for SubjectAlternativeNames
(#7050) (a711c01), closes #4659
aws-kinesis: test assume order between stacks (#7065) (17aab37)
cli: can't use credential providers for stacks with assets (#7022) (afd7045), closes #7005
cloudtrail: include s3KeyPrefix in bucket policy resource (#7053) (b49881f), closes #6741
cognito: user pool - passwordPolicy.minLength
is not optional in all cases (#6971) (49cdd8f)
dynamodb: cannot use attribute as key in a GSI, non-key in another (#7075) (a6bd34f), closes #4398
ecs: default Service throws in a VPC without private subnets (#7188) (0ef6a95), closes #7062
events: Batch target does not work (#7191) (6f00783), closes #7137
kinesis: retention period does not use Duration type (#7037) (1186227), closes #7036
rewrite-imports: incorrect main in package.json (#7021) (2bf85b3)
stepfunctions-tasks: batch job - can not use task input as array size (#7008) (923d2a1), closes #6922
stepfunctions-tasks: confusion between multiple ways to run a Lambda (#6796) (7485448), closes #4801
FAQs
The CloudFormation resource specification used by @aws-cdk packages
The npm package @aws-cdk/cfnspec receives a total of 122,866 weekly downloads. As such, @aws-cdk/cfnspec popularity was classified as popular.
We found that @aws-cdk/cfnspec demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.