diff --git a/.projen/tasks.json b/.projen/tasks.json index ec3e30b52..07ed0857e 100644 --- a/.projen/tasks.json +++ b/.projen/tasks.json @@ -171,7 +171,7 @@ "name": "update-source:sam", "steps": [ { - "exec": "node ./scripts/download.task.js https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json sources/SAMSpec/sam.schema.json" + "exec": "node ./scripts/download.task.js https://raw.githubusercontent.com/aws/serverless-application-model/develop/schema_source/sam.schema.json sources/SAMSpec/sam.schema.json" } ] }, diff --git a/.projenrc.ts b/.projenrc.ts index af02d119e..e42f28781 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -223,7 +223,7 @@ new RegionalSource(repo, { new SingleSource(repo, { name: 'sam', dir: 'sources/SAMSpec', - source: 'https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json', + source: 'https://raw.githubusercontent.com/aws/serverless-application-model/develop/schema_source/sam.schema.json', }); new SingleSource(repo, { name: 'stateful-resources', diff --git a/README.md b/README.md index c277247a7..cbb100708 100644 --- a/README.md +++ b/README.md @@ -14,32 +14,32 @@ Source of truth for CDK code generation. ## Data Sources The data is read iteratively from various sources. Information from later sources adds on to, or replaces, information -from older sources. +from older sources. -* **Properties are added**: new properties are added into existing resources and type definitions. Existing properties (and attributes) +- **Properties are added**: new properties are added into existing resources and type definitions. Existing properties (and attributes) will never be removed. -* **Property type information is added**: when a new type is found, the old type is moved to the `previousTypes` array. +- **Property type information is added**: when a new type is found, the old type is moved to the `previousTypes` array. However, for backwards compatibility reasons, CDK will currently (only) render the oldest type it can find. Newer types can be also rendered in the future, but are not right now. In a model diff, type history is rendered with a `⇐` between them, in order from new to old. If you see `type1 ⇐ type2 ⇐ type3`, then `type3` is the oldest and is the one that will be used by CDK. -* **Other property attributes are overwritten**: things like documentation, optionality, etc. are overwritten, so newer specifications +- **Other property attributes are overwritten**: things like documentation, optionality, etc. are overwritten, so newer specifications fully overwrite the information from older specifications. Sources are read in this order: -| What | Description | Updates | -|------|-------------|-------------------- -| Resource Spec | This is the original [CloudFormation Resource Specification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html), which is being replaced by the Registry Schema. Imported in order from `us-east-1`, `us-west-2`. | Frozen at version `144.0.0` (Oct 13, 2023). | -| SAM Resource Spec | This is the unofficial SAM resource spec as voluntarily maintained by the [GoFormation](https://github.com/awslabs/goformation) project | Daily | -| Patches | Handwritten [patches](https://github.com/cdklabs/awscdk-service-spec/tree/main/sources/CloudFormationResourceSpecification/us-east-1/000_cloudformation) are applied to these data sources to correct historical data quality issues with the vended specification | Manual | -| Registry Schema | This is the new [CloudFormation Resource Provider Schema](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-type-schemas.html), replacing the old Resource Spec. It is more expressive than the old spec. Imported in order: `us-east-1`, `us-east-2`, `us-west-2`. | Daily | -| SAM JSON Schema | This is the newer version of the unofficial [GoFormation](https://github.com/awslabs/goformation) SAM specification, expressed in JSON Schema. | Daily | -| Patches | Coded [patches](https://github.com/cdklabs/awscdk-service-spec/tree/rix0rrr-patch-1/packages/%40aws-cdk/service-spec-importers/src/patches) are applied to the JSON Schemas to correct for schema inconsistencies | Manual | -| CloudFormation Docs | A JSON rendering of the AWS CloudFormation Resource Reference. | Weekly | -| Stateful Resources | An import of a single configuration file of [cfn-lint](https://github.com/aws-cloudformation/cfn-lint), containing resources that should be considered stateful | Weekly | -| Canned Metrics | An import of an inventory of metrics for various resource types, built by the AWS CloudWatch team for their console | Manual | -| Scrutinies | A classification of a number of resources and resource properties, indicating whether they contain IAM Policies or not | Manual | -| Augmentations | A manual declaration of a set of resource-related metrics, used in CDK code generation | Manual | +| What | Description | Updates | +| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | +| Resource Spec | This is the original [CloudFormation Resource Specification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html), which is being replaced by the Registry Schema. Imported in order from `us-east-1`, `us-west-2`. | Frozen at version `144.0.0` (Oct 13, 2023). | +| SAM Resource Spec | This is the unofficial SAM resource spec as voluntarily maintained by the [GoFormation](https://github.com/awslabs/goformation) project | Daily | +| Patches | Handwritten [patches](https://github.com/cdklabs/awscdk-service-spec/tree/main/sources/CloudFormationResourceSpecification/us-east-1/000_cloudformation) are applied to these data sources to correct historical data quality issues with the vended specification | Manual | +| Registry Schema | This is the new [CloudFormation Resource Provider Schema](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-type-schemas.html), replacing the old Resource Spec. It is more expressive than the old spec. Imported in order: `us-east-1`, `us-east-2`, `us-west-2`. | Daily | +| SAM JSON Schema | Schema for `Serverless` resources from the [AWS SAM transform](https://github.com/aws/serverless-application-model/tree/develop) repo | Daily | +| Patches | Coded [patches](https://github.com/cdklabs/awscdk-service-spec/tree/rix0rrr-patch-1/packages/%40aws-cdk/service-spec-importers/src/patches) are applied to the JSON Schemas to correct for schema inconsistencies | Manual | +| CloudFormation Docs | A JSON rendering of the AWS CloudFormation Resource Reference. | Weekly | +| Stateful Resources | An import of a single configuration file of [cfn-lint](https://github.com/aws-cloudformation/cfn-lint), containing resources that should be considered stateful | Weekly | +| Canned Metrics | An import of an inventory of metrics for various resource types, built by the AWS CloudWatch team for their console | Manual | +| Scrutinies | A classification of a number of resources and resource properties, indicating whether they contain IAM Policies or not | Manual | +| Augmentations | A manual declaration of a set of resource-related metrics, used in CDK code generation | Manual | ## Contributing diff --git a/sources/SAMSpec/README.md b/sources/SAMSpec/README.md index 482d12c0c..6e5031993 100644 --- a/sources/SAMSpec/README.md +++ b/sources/SAMSpec/README.md @@ -4,7 +4,7 @@ This directory contains an entire JSON schema for a CloudFormation template, inc ## Source - + ## Instructions diff --git a/sources/SAMSpec/sam.schema.json b/sources/SAMSpec/sam.schema.json index 4064df866..d85e90175 100644 --- a/sources/SAMSpec/sam.schema.json +++ b/sources/SAMSpec/sam.schema.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b481658a169bce1b6074ce2287d97151aa6da9365c80ab42202aed70ed2a6d87 -size 7363194 +oid sha256:a169b456b283cc3e86bcf0b22042bfa4ba6b66d2521d89eb4d8c74335d74a19b +size 587912