Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 47 additions & 2 deletions samtranslator/schema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -843,12 +843,53 @@
],
"additionalProperties": false
},
"ApplicationLocation": {
"title": "ApplicationLocation",
"type": "object",
"properties": {
"ApplicationId": {
"title": "Applicationid",
"anyOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"SemanticVersion": {
"title": "Semanticversion",
"anyOf": [
{
"type": "string"
},
{
"type": "object"
}
]
}
},
"required": [
"ApplicationId",
"SemanticVersion"
],
"additionalProperties": false
},
"ApplicationProperties": {
"title": "ApplicationProperties",
"type": "object",
"properties": {
"Location": {
"title": "Location"
"title": "Location",
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/ApplicationLocation"
}
]
},
"NotificationARNs": {
"title": "Notificationarns"
Expand All @@ -857,12 +898,16 @@
"title": "Parameters"
},
"Tags": {
"title": "Tags"
"title": "Tags",
"type": "object"
},
"TimeoutInMinutes": {
"title": "Timeoutinminutes"
}
},
"required": [
"Location"
],
"additionalProperties": false
},
"AwsServerlessApplication": {
Expand Down
18 changes: 13 additions & 5 deletions samtranslator/schema/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
# Value passed directly to CloudFormation; not used by SAM
PassThrough = Any

# Intrinsic resolvable by the SAM transform
SamIntrinsic = Dict[str, Any]

# By default strict
# https://pydantic-docs.helpmanual.io/usage/model_config/#change-behaviour-globally
class BaseModel(LenientBaseModel):
Expand Down Expand Up @@ -209,12 +212,17 @@ class AwsServerlessHttpApi(BaseModel):
Condition: Unknown


class ApplicationLocation(BaseModel):
ApplicationId: Union[str, SamIntrinsic]
SemanticVersion: Union[str, SamIntrinsic]


class ApplicationProperties(BaseModel):
Location: Unknown
NotificationARNs: Unknown
Parameters: Unknown
Tags: Unknown
TimeoutInMinutes: Unknown
Location: Union[str, ApplicationLocation]
NotificationARNs: Optional[PassThrough]
Parameters: Optional[PassThrough]
Tags: Optional[Dict[str, Any]]
TimeoutInMinutes: Optional[PassThrough]


class AwsServerlessApplication(BaseModel):
Expand Down