1818ROUTE53_STEM = "sam-property-api-route53configuration"
1919ENDPOINT_CONFIGURATION_STEM = "sam-property-api-endpointconfiguration"
2020DEFINITION_URI_STEM = "sam-property-api-apidefinition"
21+ ACCESS_ASSOCIATION_STEM = "sam-property-api-domainaccessassociation"
2122
2223resourcepolicy = get_prop ("sam-property-api-resourcepolicystatement" )
2324cognitoauthorizeridentity = get_prop ("sam-property-api-cognitoauthorizationidentity" )
@@ -103,7 +104,7 @@ class UsagePlan(BaseModel):
103104
104105class Auth (BaseModel ):
105106 AddDefaultAuthorizerToCorsPreflight : Optional [bool ] = auth ("AddDefaultAuthorizerToCorsPreflight" )
106- AddApiKeyRequiredToCorsPreflight : Optional [bool ] # TODO Add Docs
107+ AddApiKeyRequiredToCorsPreflight : Optional [bool ] = auth ( "AddApiKeyRequiredToCorsPreflight" )
107108 ApiKeyRequired : Optional [bool ] = auth ("ApiKeyRequired" )
108109 Authorizers : Optional [
109110 Dict [
@@ -151,15 +152,35 @@ class Route53(BaseModel):
151152 ["AWS::Route53::RecordSetGroup.RecordSet" , "HostedZoneName" ],
152153 )
153154 IpV6 : Optional [bool ] = route53 ("IpV6" )
154- SetIdentifier : Optional [PassThroughProp ] # TODO: add docs
155- Region : Optional [PassThroughProp ] # TODO: add docs
156- SeparateRecordSetGroup : Optional [bool ] # TODO: add docs
157- VpcEndpointDomainName : Optional [PassThroughProp ] # TODO: add docs
158- VpcEndpointHostedZoneId : Optional [PassThroughProp ] # TODO: add docs
155+ SetIdentifier : Optional [PassThroughProp ] = passthrough_prop (
156+ ROUTE53_STEM ,
157+ "SetIdentifier" ,
158+ ["AWS::Route53::RecordSetGroup.RecordSet" , "SetIdentifier" ],
159+ )
160+ Region : Optional [PassThroughProp ] = passthrough_prop (
161+ ROUTE53_STEM ,
162+ "Region" ,
163+ ["AWS::Route53::RecordSetGroup.RecordSet" , "Region" ],
164+ )
165+ SeparateRecordSetGroup : Optional [bool ] # SAM-specific property - not yet documented in sam-docs.json
166+ VpcEndpointDomainName : Optional [PassThroughProp ] = passthrough_prop (
167+ ROUTE53_STEM ,
168+ "VpcEndpointDomainName" ,
169+ ["AWS::Route53::RecordSet.AliasTarget" , "DNSName" ],
170+ )
171+ VpcEndpointHostedZoneId : Optional [PassThroughProp ] = passthrough_prop (
172+ ROUTE53_STEM ,
173+ "VpcEndpointHostedZoneId" ,
174+ ["AWS::Route53::RecordSet.AliasTarget" , "HostedZoneId" ],
175+ )
159176
160177
161178class AccessAssociation (BaseModel ):
162- VpcEndpointId : PassThroughProp # TODO: add docs
179+ VpcEndpointId : PassThroughProp = passthrough_prop (
180+ ACCESS_ASSOCIATION_STEM ,
181+ "VpcEndpointId" ,
182+ ["AWS::ApiGateway::DomainNameAccessAssociation" , "Properties" , "AccessAssociationSource" ],
183+ )
163184
164185
165186class Domain (BaseModel ):
@@ -175,11 +196,7 @@ class Domain(BaseModel):
175196 EndpointConfiguration : Optional [SamIntrinsicable [Literal ["REGIONAL" , "EDGE" , "PRIVATE" ]]] = domain (
176197 "EndpointConfiguration"
177198 )
178- IpAddressType : Optional [PassThroughProp ] = passthrough_prop (
179- DOMAIN_STEM ,
180- "IpAddressType" ,
181- ["AWS::ApiGateway::DomainName.EndpointConfiguration" , "IpAddressType" ],
182- )
199+ IpAddressType : Optional [PassThroughProp ] # TODO: add documentation; currently unavailable
183200 MutualTlsAuthentication : Optional [PassThroughProp ] = passthrough_prop (
184201 DOMAIN_STEM ,
185202 "MutualTlsAuthentication" ,
@@ -228,11 +245,7 @@ class EndpointConfiguration(BaseModel):
228245 "VPCEndpointIds" ,
229246 ["AWS::ApiGateway::RestApi.EndpointConfiguration" , "VpcEndpointIds" ],
230247 )
231- IpAddressType : Optional [PassThroughProp ] = passthrough_prop (
232- ENDPOINT_CONFIGURATION_STEM ,
233- "IpAddressType" ,
234- ["AWS::ApiGateway::RestApi.EndpointConfiguration" , "IpAddressType" ],
235- )
248+ IpAddressType : Optional [PassThroughProp ] # TODO: add documentation; currently unavailable
236249
237250
238251Name = Optional [PassThroughProp ]
@@ -324,8 +337,12 @@ class Properties(BaseModel):
324337 OpenApiVersion : Optional [OpenApiVersion ] = properties ("OpenApiVersion" )
325338 StageName : SamIntrinsicable [str ] = properties ("StageName" )
326339 Tags : Optional [DictStrAny ] = properties ("Tags" )
327- Policy : Optional [PassThroughProp ] # TODO: add docs
328- PropagateTags : Optional [bool ] # TODO: add docs
340+ Policy : Optional [PassThroughProp ] = passthrough_prop (
341+ PROPERTIES_STEM ,
342+ "Policy" ,
343+ ["AWS::ApiGateway::RestApi" , "Properties" , "Policy" ],
344+ )
345+ PropagateTags : Optional [bool ] = properties ("PropagateTags" )
329346 SecurityPolicy : Optional [PassThroughProp ] = passthrough_prop (
330347 PROPERTIES_STEM ,
331348 "SecurityPolicy" ,
@@ -396,7 +413,7 @@ class Globals(BaseModel):
396413 OpenApiVersion : Optional [OpenApiVersion ] = properties ("OpenApiVersion" )
397414 Domain : Optional [Domain ] = properties ("Domain" )
398415 AlwaysDeploy : Optional [AlwaysDeploy ] = properties ("AlwaysDeploy" )
399- PropagateTags : Optional [bool ] # TODO: add docs
416+ PropagateTags : Optional [bool ] = properties ( "PropagateTags" )
400417 SecurityPolicy : Optional [PassThroughProp ] = passthrough_prop (
401418 PROPERTIES_STEM ,
402419 "SecurityPolicy" ,
0 commit comments