FunctionUrlOriginProps Struct
Properties for a Lambda Function URL Origin.
Example
import * as lambda from 'aws-cdk-lib/aws-lambda';
declare const fn: lambda.Function;
const fnUrl = fn.addFunctionUrl({ authType: lambda.FunctionUrlAuthType.NONE });
new cloudfront.Distribution(this, 'Distribution', {
defaultBehavior: {
origin: new origins.FunctionUrlOrigin(fnUrl, {
readTimeout: Duration.seconds(30),
responseCompletionTimeout: Duration.seconds(90),
keepaliveTimeout: Duration.seconds(45),
}),
},
});
Properties
connectionAttemptsoptionalnumberconnection_attemptsoptionalint | floatconnectionAttemptsoptionalNumberConnectionAttemptsoptionaldoubleConnectionAttemptsoptional*float64= 3#valid values are 1, 2, or 3 attempts.
connectionTimeoutoptionalDurationconnection_timeoutoptionalDurationconnectionTimeoutoptionalDurationConnectionTimeoutoptionalDurationConnectionTimeoutoptionalDuration= Duration.seconds(10)#Valid values are 1-10 seconds, inclusive.
customHeadersoptional{ [key: string]: string }custom_headersoptionaltyping.Mapping[str, str]customHeadersoptionalMap<String, String>CustomHeadersoptionalIDictionary<string, string>CustomHeadersoptional*map[string]*string= {}#ipAddressTypeoptionalOriginIpAddressTypeip_address_typeoptionalOriginIpAddressTypeipAddressTypeoptionalOriginIpAddressTypeIpAddressTypeoptionalOriginIpAddressTypeIpAddressTypeoptionalOriginIpAddressType= OriginIpAddressType.IPV4#If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
keepaliveTimeoutoptionalDurationkeepalive_timeoutoptionalDurationkeepaliveTimeoutoptionalDurationKeepaliveTimeoutoptionalDurationKeepaliveTimeoutoptionalDuration= Duration.seconds(5)#notes
The minimum is 1 second. The maximum is governed by the keep-alive timeout per origin quota, which is adjustable, so the effective maximum depends on the target account.
The default quota allows up to 300 seconds; higher values require an approved limit increase in the target account, and otherwise produce an error at deploy time.
originAccessControlIdoptionalstringorigin_access_control_idoptionalstroriginAccessControlIdoptionalStringOriginAccessControlIdoptionalstringOriginAccessControlIdoptional*string#Default: no origin access control
originIdoptionalstringorigin_idoptionalstroriginIdoptionalStringOriginIdoptionalstringOriginIdoptional*string#Default: an originid will be generated for you
This value must be unique within the distribution.
originPathoptionalstringorigin_pathoptionalstroriginPathoptionalStringOriginPathoptionalstringOriginPathoptional*string= '/'#Must begin, but not end, with '/' (e.g., '/production/images').
originShieldEnabledoptionalbooleanorigin_shield_enabledoptionalbooloriginShieldEnabledoptionalBooleanOriginShieldEnabledoptionalboolOriginShieldEnabledoptional*bool= true#originShieldRegionoptionalstringorigin_shield_regionoptionalstroriginShieldRegionoptionalStringOriginShieldRegionoptionalstringOriginShieldRegionoptional*string#Default: origin shield not enabled
readTimeoutoptionalDurationread_timeoutoptionalDurationreadTimeoutoptionalDurationReadTimeoutoptionalDurationReadTimeoutoptionalDuration= Duration.seconds(30)#notes
The minimum is 1 second. The maximum is governed by the origin response timeout quota, which is adjustable, so the effective maximum depends on the target account.
The default quota allows up to 120 seconds; higher values require an approved limit increase in the target account, and otherwise produce an error at deploy time.
responseCompletionTimeoutoptionalDurationresponse_completion_timeoutoptionalDurationresponseCompletionTimeoutoptionalDurationResponseCompletionTimeoutoptionalDurationResponseCompletionTimeoutoptionalDuration#Default: undefined - AWS CloudFront default is not enforcing a maximum value
If the complete response isn't received from the origin by this time, CloudFront ends the connection.
Valid values are 1-3600 seconds, inclusive.