Skip to content

Commit

Permalink
CloudFormation Template Schema upgrade (#298)
Browse files Browse the repository at this point in the history
  • Loading branch information
3 people authored Apr 27, 2023
1 parent 790e5b5 commit b998d62
Show file tree
Hide file tree
Showing 128 changed files with 48,723 additions and 8,551 deletions.
14,123 changes: 7,468 additions & 6,655 deletions server/schema/resources.schema.json

Large diffs are not rendered by default.

77 changes: 66 additions & 11 deletions server/schema/resources/aws-apigatewayv2-route.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,13 @@
{
"typeName": "AWS::ApiGatewayV2::Route",
"description": "Resource Type definition for AWS::ApiGatewayV2::Route",
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigatewayv2",
"additionalProperties": false,
"properties": {
"Target": {
"type": "string",
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
},
"RouteResponseSelectionExpression": {
"type": "string",
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
},
"AuthorizerId": {
"type": "string",
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
},
"RequestModels": {
"type": "object",
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
Expand Down Expand Up @@ -54,6 +47,30 @@
},
"RequestParameters": {
"type": "object",
"items": {
"$ref": "#/definitions/ParameterConstraints"
},
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
},
"Target": {
"type": "string",
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
},
"AuthorizerId": {
"type": "string",
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
}
},
"definitions": {
"ParameterConstraints": {
"type": "object",
"additionalProperties": false,
"properties": {
"Required": {
"type": "boolean",
"markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption"
}
},
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
}
},
Expand All @@ -65,13 +82,51 @@
"/properties/ApiId"
],
"primaryIdentifier": [
"/properties/Id"
"/properties/ApiId",
"/properties/RouteId"
],
"readOnlyProperties": [
"/properties/Id"
"/properties/RouteId"
],
"writeOnlyProperties": [
"/properties/AuthorizerId",
"/properties/RequestParameters"
],
"tagging": {
"taggable": false
},
"handlers": {
"create": {
"permissions": [
"apigateway:POST"
]
},
"update": {
"permissions": [
"apigateway:PATCH",
"apigateway:GET",
"apigateway:PUT"
]
},
"read": {
"permissions": [
"apigateway:GET"
]
},
"delete": {
"permissions": [
"apigateway:GET",
"apigateway:DELETE"
]
},
"list": {
"permissions": [
"apigateway:GET"
]
}
},
"attributes": {
"Id": {
"RouteId": {
"type": "string",
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
}
Expand Down
229 changes: 229 additions & 0 deletions server/schema/resources/aws-appconfig-extension.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
{
"typeName": "AWS::AppConfig::Extension",
"description": "Resource Type definition for AWS::AppConfig::Extension",
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
"properties": {
"Name": {
"description": "Name of the extension.",
"type": "string",
"markdownDescription": "Name of the extension.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement"
},
"Description": {
"description": "Description of the extension.",
"type": "string",
"markdownDescription": "Description of the extension.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
},
"Actions": {
"type": "object",
"patternProperties": {
"^.+$": {
"$ref": "#/definitions/Actions"
}
},
"additionalProperties": false,
"markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption"
},
"Parameters": {
"type": "object",
"patternProperties": {
"^.+$": {
"$ref": "#/definitions/Parameter"
}
},
"additionalProperties": false,
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption"
},
"LatestVersionNumber": {
"type": "integer",
"markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption"
},
"Tags": {
"description": "An array of key-value tags to apply to this resource.",
"type": "array",
"uniqueItems": false,
"insertionOrder": false,
"items": {
"$ref": "#/definitions/Tag"
},
"markdownDescription": "An array of key-value tags to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement"
}
},
"definitions": {
"Tag": {
"description": "A key-value pair to associate with a resource.",
"type": "object",
"properties": {
"Key": {
"type": "string",
"description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
"minLength": 1,
"maxLength": 128,
"markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption"
},
"Value": {
"type": "string",
"description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
"minLength": 0,
"maxLength": 256,
"markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption"
}
},
"required": [
"Key",
"Value"
],
"additionalProperties": false,
"markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption"
},
"Actions": {
"description": "A list of actions for an extension to take at a specific action point.",
"uniqueItems": true,
"type": "array",
"insertionOrder": false,
"items": {
"$ref": "#/definitions/Action"
},
"markdownDescription": "A list of actions for an extension to take at a specific action point.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption"
},
"Action": {
"description": "An action for an extension to take at a specific action point.",
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "The name of the extension action.",
"minLength": 1,
"maxLength": 128,
"markdownDescription": "The name of the extension action.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption"
},
"Description": {
"type": "string",
"description": "The description of the extension Action.",
"minLength": 0,
"maxLength": 1024,
"markdownDescription": "The description of the extension Action.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption"
},
"Uri": {
"type": "string",
"description": "The URI of the extension action.",
"minLength": 1,
"maxLength": 2048,
"markdownDescription": "The URI of the extension action.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption"
},
"RoleArn": {
"type": "string",
"description": "The ARN of the role for invoking the extension action.",
"minLength": 20,
"maxLength": 2048,
"markdownDescription": "The ARN of the role for invoking the extension action.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption"
}
},
"required": [
"Name",
"Uri"
],
"additionalProperties": false,
"markdownDescription": "An action for an extension to take at a specific action point.\n\n---\n\nRequired: No \nUpdate requires: No interruption"
},
"Parameter": {
"description": "A parameter for the extension to send to a specific action.",
"type": "object",
"properties": {
"Description": {
"type": "string",
"description": "The description of the extension Parameter.",
"minLength": 0,
"maxLength": 1024,
"markdownDescription": "The description of the extension Parameter.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption"
},
"Required": {
"type": "boolean",
"markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption"
}
},
"required": [
"Required"
],
"additionalProperties": false,
"markdownDescription": "A parameter for the extension to send to a specific action.\n\n---\n\nRequired: No \nUpdate requires: No interruption"
}
},
"additionalProperties": false,
"required": [
"Name",
"Actions"
],
"createOnlyProperties": [
"/properties/Name",
"/properties/Tags",
"/properties/Tags/*/Key",
"/properties/Tags/*/Value"
],
"readOnlyProperties": [
"/properties/Id",
"/properties/Arn",
"/properties/VersionNumber"
],
"writeOnlyProperties": [
"/properties/LatestVersionNumber",
"/properties/Tags",
"/properties/Tags/*/Key",
"/properties/Tags/*/Value"
],
"primaryIdentifier": [
"/properties/Id"
],
"tagging": {
"taggable": true,
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
"tagProperty": "/properties/Tags"
},
"handlers": {
"create": {
"permissions": [
"appconfig:CreateExtension",
"appconfig:TagResource",
"iam:PassRole"
]
},
"read": {
"permissions": [
"appconfig:GetExtension"
]
},
"update": {
"permissions": [
"appconfig:UpdateExtension",
"appconfig:TagResource",
"appconfig:UntagResource"
]
},
"delete": {
"permissions": [
"appconfig:DeleteExtension",
"appconfig:UntagResource"
]
},
"list": {
"permissions": [
"appconfig:ListExtensions"
]
}
},
"attributes": {
"Id": {
"type": "string",
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
},
"Arn": {
"type": "string",
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption"
},
"VersionNumber": {
"type": "integer",
"markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption"
}
}
}
Loading

0 comments on commit b998d62

Please sign in to comment.