Skip to content

Commit

Permalink
feat(cfnspec): cloudformation spec v129.0.0 (#26179)
Browse files Browse the repository at this point in the history
  • Loading branch information
aws-cdk-automation committed Jul 3, 2023
1 parent bed1ebe commit fa3caf3
Show file tree
Hide file tree
Showing 237 changed files with 2,154 additions and 549 deletions.
421 changes: 421 additions & 0 deletions packages/@aws-cdk/cfnspec/CHANGELOG.md

Large diffs are not rendered by default.

18 changes: 13 additions & 5 deletions packages/@aws-cdk/cfnspec/build-tools/validate-evolution.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,11 @@ export async function validateSpecificationEvolution(specProducer: () => Promise
*/
function validatePropertyTypeNameConsistency(oldSpec: any, newSpec: any) {
const newPropsTypes = newSpec.PropertyTypes ?? {};
const disappearedKeys = Object.keys(oldSpec.PropertyTypes ?? {}).filter(k => !(k in newPropsTypes));
const disappearedKeys = Object.keys(oldSpec.PropertyTypes ?? {})
.filter(k => !(k in newPropsTypes))
// Marked as deleted on purpose
.filter(k => !(newSpec.DeletedPropertyTypes?.[k]));

if (disappearedKeys.length === 0) {
return;
}
Expand All @@ -70,12 +74,9 @@ function validatePropertyTypeNameConsistency(oldSpec: any, newSpec: any) {
for (const key of disappearedKeys) {
const [cfnResource, typeName] = key.split('.');
const usages = findTypeUsages(oldSpec, cfnResource, typeName);
if (usages.length === 0) {
// Might have disappeared, but no one should have been using this
continue;
}

operations.push({
$comment: `If ${cfnResource}.${typeName} was renamed, use this and the 'replace's below. Remove this comment.`,
op: 'move',
from: `/PropertyTypes/${cfnResource}.<NEW_TYPE_NAME_HERE>`,
path: `/PropertyTypes/${cfnResource}.${typeName}`,
Expand All @@ -86,6 +87,13 @@ function validatePropertyTypeNameConsistency(oldSpec: any, newSpec: any) {
path,
value: typeName,
})));

operations.push({
$comment: `If ${cfnResource}.${typeName} was deleted on purpose, use this. Remove this comment.`,
op: 'add',
path: `/DeletedPropertyTypes/${cfnResource}.${typeName}`,
value: true,
});
}

const exampleJsonPatch = {
Expand Down
2 changes: 1 addition & 1 deletion packages/@aws-cdk/cfnspec/cfn.version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
128.1.0
129.0.0
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::ACMPCA::Certificate.ApiPassthrough": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-apipassthrough.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::APS::Workspace.LoggingConfiguration": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingconfiguration.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AccessAnalyzer::Analyzer.ArchiveRule": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AmazonMQ::Broker.ConfigurationId": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::Amplify::App.AutoBranchCreationConfig": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AmplifyUIBuilder::Component.ActionParameters": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplifyuibuilder-component-actionparameters.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::ApiGateway::ApiKey.StageKey": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::ApiGatewayV2::Api.BodyS3Location": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AppConfig::Application.Tags": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-application-tags.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AppFlow::Connector.ConnectorProvisioningConfig": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appflow-connector-connectorprovisioningconfig.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AppIntegrations::DataIntegration.FileConfiguration": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appintegrations-dataintegration-fileconfiguration.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-gatewayroutehostnamematch.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AppRunner::ObservabilityConfiguration.TraceConfiguration": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-observabilityconfiguration-traceconfiguration.html",
Expand Down Expand Up @@ -389,6 +389,54 @@
}
},
"ResourceTypes": {
"AWS::AppRunner::AutoScalingConfiguration": {
"Attributes": {
"AutoScalingConfigurationArn": {
"PrimitiveType": "String"
},
"AutoScalingConfigurationRevision": {
"PrimitiveType": "Integer"
},
"Latest": {
"PrimitiveType": "Boolean"
}
},
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html",
"Properties": {
"AutoScalingConfigurationName": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html#cfn-apprunner-autoscalingconfiguration-autoscalingconfigurationname",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Immutable"
},
"MaxConcurrency": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html#cfn-apprunner-autoscalingconfiguration-maxconcurrency",
"PrimitiveType": "Integer",
"Required": false,
"UpdateType": "Immutable"
},
"MaxSize": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html#cfn-apprunner-autoscalingconfiguration-maxsize",
"PrimitiveType": "Integer",
"Required": false,
"UpdateType": "Immutable"
},
"MinSize": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html#cfn-apprunner-autoscalingconfiguration-minsize",
"PrimitiveType": "Integer",
"Required": false,
"UpdateType": "Immutable"
},
"Tags": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html#cfn-apprunner-autoscalingconfiguration-tags",
"DuplicatesAllowed": true,
"ItemType": "Tag",
"Required": false,
"Type": "List",
"UpdateType": "Immutable"
}
}
},
"AWS::AppRunner::ObservabilityConfiguration": {
"Attributes": {
"Latest": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AppStream::AppBlock.S3Location": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-s3location.html",
Expand All @@ -13,7 +13,7 @@
"S3Key": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-s3location.html#cfn-appstream-appblock-s3location-s3key",
"PrimitiveType": "String",
"Required": true,
"Required": false,
"UpdateType": "Immutable"
}
}
Expand Down Expand Up @@ -47,6 +47,44 @@
}
}
},
"AWS::AppStream::AppBlockBuilder.AccessEndpoint": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-accessendpoint.html",
"Properties": {
"EndpointType": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-accessendpoint.html#cfn-appstream-appblockbuilder-accessendpoint-endpointtype",
"PrimitiveType": "String",
"Required": true,
"UpdateType": "Mutable"
},
"VpceId": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-accessendpoint.html#cfn-appstream-appblockbuilder-accessendpoint-vpceid",
"PrimitiveType": "String",
"Required": true,
"UpdateType": "Mutable"
}
}
},
"AWS::AppStream::AppBlockBuilder.VpcConfig": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-vpcconfig.html",
"Properties": {
"SecurityGroupIds": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-vpcconfig.html#cfn-appstream-appblockbuilder-vpcconfig-securitygroupids",
"DuplicatesAllowed": true,
"PrimitiveItemType": "String",
"Required": false,
"Type": "List",
"UpdateType": "Mutable"
},
"SubnetIds": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-vpcconfig.html#cfn-appstream-appblockbuilder-vpcconfig-subnetids",
"DuplicatesAllowed": true,
"PrimitiveItemType": "String",
"Required": false,
"Type": "List",
"UpdateType": "Mutable"
}
}
},
"AWS::AppStream::Application.S3Location": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-application-s3location.html",
"Properties": {
Expand Down Expand Up @@ -351,9 +389,21 @@
"Required": true,
"UpdateType": "Immutable"
},
"PackagingType": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-packagingtype",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Immutable"
},
"PostSetupScriptDetails": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-postsetupscriptdetails",
"Required": false,
"Type": "ScriptDetails",
"UpdateType": "Immutable"
},
"SetupScriptDetails": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-setupscriptdetails",
"Required": true,
"Required": false,
"Type": "ScriptDetails",
"UpdateType": "Immutable"
},
Expand All @@ -373,6 +423,91 @@
}
}
},
"AWS::AppStream::AppBlockBuilder": {
"Attributes": {
"Arn": {
"PrimitiveType": "String"
},
"CreatedTime": {
"PrimitiveType": "String"
}
},
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html",
"Properties": {
"AccessEndpoints": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-accessendpoints",
"DuplicatesAllowed": false,
"ItemType": "AccessEndpoint",
"Required": false,
"Type": "List",
"UpdateType": "Mutable"
},
"AppBlockArns": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-appblockarns",
"DuplicatesAllowed": false,
"PrimitiveItemType": "String",
"Required": false,
"Type": "List",
"UpdateType": "Mutable"
},
"Description": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-description",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Mutable"
},
"DisplayName": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-displayname",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Mutable"
},
"EnableDefaultInternetAccess": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-enabledefaultinternetaccess",
"PrimitiveType": "Boolean",
"Required": false,
"UpdateType": "Mutable"
},
"IamRoleArn": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-iamrolearn",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Mutable"
},
"InstanceType": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-instancetype",
"PrimitiveType": "String",
"Required": true,
"UpdateType": "Mutable"
},
"Name": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-name",
"PrimitiveType": "String",
"Required": true,
"UpdateType": "Immutable"
},
"Platform": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-platform",
"PrimitiveType": "String",
"Required": true,
"UpdateType": "Mutable"
},
"Tags": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-tags",
"DuplicatesAllowed": false,
"ItemType": "Tag",
"Required": false,
"Type": "List",
"UpdateType": "Mutable"
},
"VpcConfig": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-vpcconfig",
"Required": true,
"Type": "VpcConfig",
"UpdateType": "Mutable"
}
}
},
"AWS::AppStream::Application": {
"Attributes": {
"Arn": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::AppSync::DataSource.AuthorizationConfig": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::ApplicationInsights::Application.Alarm": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationinsights-application-alarm.html",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$version": "128.1.0",
"$version": "129.0.0",
"PropertyTypes": {
"AWS::Athena::CapacityReservation.CapacityAssignment": {
"Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignment.html",
Expand Down
Loading

0 comments on commit fa3caf3

Please sign in to comment.