Skip to content

Commit 1128ff2

Browse files
authored
fix(schema): required pass-through fields (#2797)
1 parent a4b4b9a commit 1128ff2

12 files changed

+3154
-318
lines changed

samtranslator/schema/aws_serverless_api.py

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from typing_extensions import Literal
66

7-
from samtranslator.schema.common import PassThrough, BaseModel, SamIntrinsicable, get_prop, DictStrAny
7+
from samtranslator.schema.common import PassThroughProp, BaseModel, SamIntrinsicable, get_prop, DictStrAny
88

99
resourcepolicy = get_prop("sam-property-api-resourcepolicystatement")
1010
cognitoauthorizeridentity = get_prop("sam-property-api-cognitoauthorizationidentity")
@@ -81,11 +81,11 @@ class LambdaRequestAuthorizer(BaseModel):
8181

8282
class UsagePlan(BaseModel):
8383
CreateUsagePlan: SamIntrinsicable[Literal["PER_API", "SHARED", "NONE"]] = usageplan("CreateUsagePlan")
84-
Description: Optional[PassThrough] = usageplan("Description")
85-
Quota: Optional[PassThrough] = usageplan("Quota")
86-
Tags: Optional[PassThrough] = usageplan("Tags")
87-
Throttle: Optional[PassThrough] = usageplan("Throttle")
88-
UsagePlanName: Optional[PassThrough] = usageplan("UsagePlanName")
84+
Description: Optional[PassThroughProp] = usageplan("Description")
85+
Quota: Optional[PassThroughProp] = usageplan("Quota")
86+
Tags: Optional[PassThroughProp] = usageplan("Tags")
87+
Throttle: Optional[PassThroughProp] = usageplan("Throttle")
88+
UsagePlanName: Optional[PassThroughProp] = usageplan("UsagePlanName")
8989

9090

9191
class Auth(BaseModel):
@@ -116,56 +116,56 @@ class Cors(BaseModel):
116116

117117

118118
class Route53(BaseModel):
119-
DistributionDomainName: Optional[PassThrough] = route53("DistributionDomainName")
120-
EvaluateTargetHealth: Optional[PassThrough] = route53("EvaluateTargetHealth")
121-
HostedZoneId: Optional[PassThrough] = route53("HostedZoneId")
122-
HostedZoneName: Optional[PassThrough] = route53("HostedZoneName")
119+
DistributionDomainName: Optional[PassThroughProp] = route53("DistributionDomainName")
120+
EvaluateTargetHealth: Optional[PassThroughProp] = route53("EvaluateTargetHealth")
121+
HostedZoneId: Optional[PassThroughProp] = route53("HostedZoneId")
122+
HostedZoneName: Optional[PassThroughProp] = route53("HostedZoneName")
123123
IpV6: Optional[bool] = route53("IpV6")
124124

125125

126126
class Domain(BaseModel):
127-
BasePath: Optional[PassThrough] = domain("BasePath")
127+
BasePath: Optional[PassThroughProp] = domain("BasePath")
128128
NormalizeBasePath: Optional[bool] = domain("NormalizeBasePath")
129-
CertificateArn: PassThrough = domain("CertificateArn")
130-
DomainName: PassThrough = domain("DomainName")
129+
CertificateArn: PassThroughProp = domain("CertificateArn")
130+
DomainName: PassThroughProp = domain("DomainName")
131131
EndpointConfiguration: Optional[SamIntrinsicable[Literal["REGIONAL", "EDGE"]]] = domain("EndpointConfiguration")
132-
MutualTlsAuthentication: Optional[PassThrough] = domain("MutualTlsAuthentication")
133-
OwnershipVerificationCertificateArn: Optional[PassThrough] = domain("OwnershipVerificationCertificateArn")
132+
MutualTlsAuthentication: Optional[PassThroughProp] = domain("MutualTlsAuthentication")
133+
OwnershipVerificationCertificateArn: Optional[PassThroughProp] = domain("OwnershipVerificationCertificateArn")
134134
Route53: Optional[Route53] = domain("Route53")
135-
SecurityPolicy: Optional[PassThrough] = domain("SecurityPolicy")
135+
SecurityPolicy: Optional[PassThroughProp] = domain("SecurityPolicy")
136136

137137

138138
class DefinitionUri(BaseModel):
139-
Bucket: PassThrough = definitionuri("Bucket")
140-
Key: PassThrough = definitionuri("Key")
141-
Version: Optional[PassThrough] = definitionuri("Version")
139+
Bucket: PassThroughProp = definitionuri("Bucket")
140+
Key: PassThroughProp = definitionuri("Key")
141+
Version: Optional[PassThroughProp] = definitionuri("Version")
142142

143143

144144
class EndpointConfiguration(BaseModel):
145-
Type: Optional[PassThrough] = endpointconfiguration("Type")
146-
VPCEndpointIds: Optional[PassThrough] = endpointconfiguration("VPCEndpointIds")
145+
Type: Optional[PassThroughProp] = endpointconfiguration("Type")
146+
VPCEndpointIds: Optional[PassThroughProp] = endpointconfiguration("VPCEndpointIds")
147147

148148

149-
Name = Optional[PassThrough]
149+
Name = Optional[PassThroughProp]
150150
DefinitionUriType = Optional[Union[str, DefinitionUri]]
151-
CacheClusterEnabled = Optional[PassThrough]
152-
CacheClusterSize = Optional[PassThrough]
153-
Variables = Optional[PassThrough]
151+
CacheClusterEnabled = Optional[PassThroughProp]
152+
CacheClusterSize = Optional[PassThroughProp]
153+
Variables = Optional[PassThroughProp]
154154
EndpointConfigurationType = Optional[SamIntrinsicable[EndpointConfiguration]]
155-
MethodSettings = Optional[PassThrough]
156-
BinaryMediaTypes = Optional[PassThrough]
157-
MinimumCompressionSize = Optional[PassThrough]
155+
MethodSettings = Optional[PassThroughProp]
156+
BinaryMediaTypes = Optional[PassThroughProp]
157+
MinimumCompressionSize = Optional[PassThroughProp]
158158
CorsType = Optional[SamIntrinsicable[Union[str, Cors]]]
159159
GatewayResponses = Optional[DictStrAny]
160-
AccessLogSetting = Optional[PassThrough]
161-
CanarySetting = Optional[PassThrough]
162-
TracingEnabled = Optional[PassThrough]
160+
AccessLogSetting = Optional[PassThroughProp]
161+
CanarySetting = Optional[PassThroughProp]
162+
TracingEnabled = Optional[PassThroughProp]
163163
OpenApiVersion = Optional[Union[float, str]] # TODO: float doesn't exist in documentation
164164

165165

166166
class Properties(BaseModel):
167167
AccessLogSetting: Optional[AccessLogSetting] = properties("AccessLogSetting")
168-
ApiKeySourceType: Optional[PassThrough] = properties("ApiKeySourceType")
168+
ApiKeySourceType: Optional[PassThroughProp] = properties("ApiKeySourceType")
169169
Auth: Optional[Auth] = properties("Auth")
170170
BinaryMediaTypes: Optional[BinaryMediaTypes] = properties("BinaryMediaTypes")
171171
CacheClusterEnabled: Optional[CacheClusterEnabled] = properties("CacheClusterEnabled")
@@ -174,15 +174,15 @@ class Properties(BaseModel):
174174
Cors: Optional[CorsType] = properties("Cors")
175175
DefinitionBody: Optional[DictStrAny] = properties("DefinitionBody")
176176
DefinitionUri: Optional[DefinitionUriType] = properties("DefinitionUri")
177-
Description: Optional[PassThrough] = properties("Description")
178-
DisableExecuteApiEndpoint: Optional[PassThrough] = properties("DisableExecuteApiEndpoint")
177+
Description: Optional[PassThroughProp] = properties("Description")
178+
DisableExecuteApiEndpoint: Optional[PassThroughProp] = properties("DisableExecuteApiEndpoint")
179179
Domain: Optional[Domain] = properties("Domain")
180180
EndpointConfiguration: Optional[EndpointConfigurationType] = properties("EndpointConfiguration")
181-
FailOnWarnings: Optional[PassThrough] = properties("FailOnWarnings")
181+
FailOnWarnings: Optional[PassThroughProp] = properties("FailOnWarnings")
182182
GatewayResponses: Optional[GatewayResponses] = properties("GatewayResponses")
183183
MethodSettings: Optional[MethodSettings] = properties("MethodSettings")
184184
MinimumCompressionSize: Optional[MinimumCompressionSize] = properties("MinimumCompressionSize")
185-
Mode: Optional[PassThrough] = properties("Mode")
185+
Mode: Optional[PassThroughProp] = properties("Mode")
186186
Models: Optional[DictStrAny] = properties("Models")
187187
Name: Optional[Name] = properties("Name")
188188
OpenApiVersion: Optional[OpenApiVersion] = properties("OpenApiVersion")
@@ -195,11 +195,11 @@ class Properties(BaseModel):
195195
class Globals(BaseModel):
196196
Auth: Optional[Auth] = properties("Auth")
197197
Name: Optional[Name] = properties("Name")
198-
DefinitionUri: Optional[PassThrough] = properties("DefinitionUri")
198+
DefinitionUri: Optional[PassThroughProp] = properties("DefinitionUri")
199199
CacheClusterEnabled: Optional[CacheClusterEnabled] = properties("CacheClusterEnabled")
200200
CacheClusterSize: Optional[CacheClusterSize] = properties("CacheClusterSize")
201201
Variables: Optional[Variables] = properties("Variables")
202-
EndpointConfiguration: Optional[PassThrough] = properties("EndpointConfiguration")
202+
EndpointConfiguration: Optional[PassThroughProp] = properties("EndpointConfiguration")
203203
MethodSettings: Optional[MethodSettings] = properties("MethodSettings")
204204
BinaryMediaTypes: Optional[BinaryMediaTypes] = properties("BinaryMediaTypes")
205205
MinimumCompressionSize: Optional[MinimumCompressionSize] = properties("MinimumCompressionSize")
@@ -215,9 +215,9 @@ class Globals(BaseModel):
215215
class Resource(BaseModel):
216216
Type: Literal["AWS::Serverless::Api"]
217217
Properties: Properties
218-
Condition: Optional[PassThrough]
219-
DeletionPolicy: Optional[PassThrough]
220-
UpdatePolicy: Optional[PassThrough]
221-
UpdateReplacePolicy: Optional[PassThrough]
222-
DependsOn: Optional[PassThrough]
223-
Metadata: Optional[PassThrough]
218+
Condition: Optional[PassThroughProp]
219+
DeletionPolicy: Optional[PassThroughProp]
220+
UpdatePolicy: Optional[PassThroughProp]
221+
UpdateReplacePolicy: Optional[PassThroughProp]
222+
DependsOn: Optional[PassThroughProp]
223+
Metadata: Optional[PassThroughProp]

samtranslator/schema/aws_serverless_application.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from typing_extensions import Literal
66

7-
from samtranslator.schema.common import PassThrough, BaseModel, SamIntrinsicable, get_prop
7+
from samtranslator.schema.common import PassThroughProp, BaseModel, SamIntrinsicable, get_prop
88

99
location = get_prop("sam-property-application-applicationlocationobject")
1010
properties = get_prop("sam-resource-application")
@@ -17,13 +17,13 @@ class Location(BaseModel):
1717

1818
class Properties(BaseModel):
1919
Location: Union[str, Location] = properties("Location")
20-
NotificationARNs: Optional[PassThrough] = properties("NotificationARNs")
21-
Parameters: Optional[PassThrough] = properties("Parameters")
20+
NotificationARNs: Optional[PassThroughProp] = properties("NotificationARNs")
21+
Parameters: Optional[PassThroughProp] = properties("Parameters")
2222
Tags: Optional[Dict[str, Any]] = properties("Tags")
23-
TimeoutInMinutes: Optional[PassThrough] = properties("TimeoutInMinutes")
23+
TimeoutInMinutes: Optional[PassThroughProp] = properties("TimeoutInMinutes")
2424

2525

2626
class Resource(BaseModel):
2727
Type: Literal["AWS::Serverless::Application"]
2828
Properties: Properties
29-
Condition: Optional[PassThrough]
29+
Condition: Optional[PassThroughProp]

samtranslator/schema/aws_serverless_connector.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
from typing_extensions import Literal
44

5-
from samtranslator.schema.common import PassThrough, BaseModel, get_prop
5+
from samtranslator.schema.common import PassThroughProp, BaseModel, get_prop
66

77
resourcereference = get_prop("sam-property-connector-resourcereference")
88
properties = get_prop("sam-resource-connector")
99

1010

1111
class ResourceReference(BaseModel):
1212
Id: Optional[str] = resourcereference("Id")
13-
Arn: Optional[PassThrough] = resourcereference("Arn")
14-
Name: Optional[PassThrough] = resourcereference("Name")
15-
Qualifier: Optional[PassThrough] = resourcereference("Qualifier")
16-
QueueUrl: Optional[PassThrough] = resourcereference("QueueUrl")
17-
ResourceId: Optional[PassThrough] = resourcereference("ResourceId")
18-
RoleName: Optional[PassThrough] = resourcereference("RoleName")
13+
Arn: Optional[PassThroughProp] = resourcereference("Arn")
14+
Name: Optional[PassThroughProp] = resourcereference("Name")
15+
Qualifier: Optional[PassThroughProp] = resourcereference("Qualifier")
16+
QueueUrl: Optional[PassThroughProp] = resourcereference("QueueUrl")
17+
ResourceId: Optional[PassThroughProp] = resourcereference("ResourceId")
18+
RoleName: Optional[PassThroughProp] = resourcereference("RoleName")
1919
Type: Optional[str] = resourcereference("Type")
2020

2121

0 commit comments

Comments
 (0)