Class: AWSCDK::CloudFront::Experimental::EdgeFunctionProps
- Inherits:
-
Lambda::FunctionProps
- Object
- Lambda::FunctionProps
- AWSCDK::CloudFront::Experimental::EdgeFunctionProps
- Defined in:
- cloud_front/experimental/edge_function_props.rb
Overview
Properties for creating a Lambda@Edge function.
Instance Attribute Summary collapse
-
#adot_instrumentation ⇒ AWSCDK::Lambda::AdotInstrumentationConfig?
readonly
Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation.
-
#allow_all_ipv6_outbound ⇒ Boolean?
readonly
Whether to allow the Lambda to send all ipv6 network traffic.
-
#allow_all_outbound ⇒ Boolean?
readonly
Whether to allow the Lambda to send all network traffic (except ipv6).
-
#allow_public_subnet ⇒ Boolean?
readonly
Lambda Functions in a public subnet can NOT access the internet.
-
#application_log_level ⇒ String?
readonly
deprecated
Deprecated.
Use
applicationLogLevelV2as a property instead. -
#application_log_level_v2 ⇒ AWSCDK::Lambda::ApplicationLogLevel?
readonly
Sets the application log level for the function.
-
#architecture ⇒ AWSCDK::Lambda::Architecture?
readonly
The system architectures compatible with this lambda function.
-
#code ⇒ AWSCDK::Lambda::Code
readonly
The source code of your Lambda function.
-
#code_signing_config ⇒ AWSCDK::Interfaces::AWSLambda::ICodeSigningConfigRef?
readonly
Code signing config associated with this function.
-
#current_version_options ⇒ AWSCDK::Lambda::VersionOptions?
readonly
Options for the
lambda.Versionresource automatically created by thefn.currentVersionmethod. -
#dead_letter_queue ⇒ AWSCDK::SQS::IQueue?
readonly
The SQS queue to use if DLQ is enabled.
-
#dead_letter_queue_enabled ⇒ Boolean?
readonly
Enabled DLQ.
-
#dead_letter_topic ⇒ AWSCDK::SNS::ITopic?
readonly
The SNS topic to use as a DLQ.
-
#description ⇒ String?
readonly
A description of the function.
-
#durable_config ⇒ AWSCDK::Lambda::DurableConfig?
readonly
The durable configuration for the function.
-
#environment ⇒ Hash{String => String}?
readonly
Key-value pairs that Lambda caches and makes available for your Lambda functions.
-
#environment_encryption ⇒ AWSCDK::Interfaces::AWSKMS::IKeyRef?
readonly
The AWS KMS key that's used to encrypt your function's environment variables.
-
#ephemeral_storage_size ⇒ AWSCDK::Size?
readonly
The size of the function’s /tmp directory in MiB.
-
#events ⇒ Array<AWSCDK::Lambda::IEventSource>?
readonly
Event sources for this function.
-
#filesystem ⇒ AWSCDK::Lambda::FileSystem?
readonly
The filesystem configuration for the lambda function.
-
#function_name ⇒ String?
readonly
A name for the function.
-
#handler ⇒ String
readonly
The name of the method within your code that Lambda calls to execute your function.
-
#initial_policy ⇒ Array<AWSCDK::IAM::PolicyStatement>?
readonly
Initial policy statements to add to the created Lambda Role.
-
#insights_version ⇒ AWSCDK::Lambda::LambdaInsightsVersion?
readonly
Specify the version of CloudWatch Lambda insights to use for monitoring.
-
#ipv6_allowed_for_dual_stack ⇒ Boolean?
readonly
Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
-
#layers ⇒ Array<AWSCDK::Lambda::ILayerVersion>?
readonly
A list of layers to add to the function's execution environment.
-
#log_format ⇒ String?
readonly
deprecated
Deprecated.
Use
loggingFormatas a property instead. -
#log_group ⇒ AWSCDK::Interfaces::AWSLogs::ILogGroupRef?
readonly
The log group the function sends logs to.
-
#log_removal_policy ⇒ AWSCDK::RemovalPolicy?
readonly
deprecated
Deprecated.
use
logGroupinstead -
#log_retention ⇒ AWSCDK::Logs::RetentionDays?
readonly
deprecated
Deprecated.
use
logGroupinstead -
#log_retention_retry_options ⇒ AWSCDK::Lambda::LogRetentionRetryOptions?
readonly
When log retention is specified, a custom resource attempts to create the CloudWatch log group.
-
#log_retention_role ⇒ AWSCDK::IAM::IRole?
readonly
The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
-
#logging_format ⇒ AWSCDK::Lambda::LoggingFormat?
readonly
Sets the loggingFormat for the function.
-
#max_event_age ⇒ AWSCDK::Duration?
readonly
The maximum age of a request that Lambda sends to a function for processing.
-
#memory_size ⇒ Numeric?
readonly
The amount of memory, in MB, that is allocated to your Lambda function.
-
#on_failure ⇒ AWSCDK::Lambda::IDestination?
readonly
The destination for failed invocations.
-
#on_success ⇒ AWSCDK::Lambda::IDestination?
readonly
The destination for successful invocations.
-
#params_and_secrets ⇒ AWSCDK::Lambda::ParamsAndSecretsLayerVersion?
readonly
Specify the configuration of Parameters and Secrets Extension.
-
#profiling ⇒ Boolean?
readonly
Enable profiling.
-
#profiling_group ⇒ AWSCDK::CodeGuruProfiler::IProfilingGroup?
readonly
Profiling Group.
-
#recursive_loop ⇒ AWSCDK::Lambda::RecursiveLoop?
readonly
Sets the Recursive Loop Protection for Lambda Function.
-
#reserved_concurrent_executions ⇒ Numeric?
readonly
The maximum of concurrent executions you want to reserve for the function.
-
#retry_attempts ⇒ Numeric?
readonly
The maximum number of times to retry when the function returns an error.
-
#role ⇒ AWSCDK::IAM::IRole?
readonly
Lambda execution role.
-
#runtime ⇒ AWSCDK::Lambda::Runtime
readonly
The runtime environment for the Lambda function that you are uploading.
-
#runtime_management_mode ⇒ AWSCDK::Lambda::RuntimeManagementMode?
readonly
Sets the runtime management configuration for a function's version.
-
#security_groups ⇒ Array<AWSCDK::EC2::ISecurityGroup>?
readonly
The list of security groups to associate with the Lambda's network interfaces.
-
#snap_start ⇒ AWSCDK::Lambda::SnapStartConf?
readonly
Enable SnapStart for Lambda Function.
-
#stack_id ⇒ String?
readonly
The stack ID of Lambda@Edge function.
-
#system_log_level ⇒ String?
readonly
deprecated
Deprecated.
Use
systemLogLevelV2as a property instead. -
#system_log_level_v2 ⇒ AWSCDK::Lambda::SystemLogLevel?
readonly
Sets the system log level for the function.
-
#tenancy_config ⇒ AWSCDK::Lambda::TenancyConfig?
readonly
The tenancy configuration for the function.
-
#timeout ⇒ AWSCDK::Duration?
readonly
The function execution time (in seconds) after which Lambda terminates the function.
-
#tracing ⇒ AWSCDK::Lambda::Tracing?
readonly
Enable AWS X-Ray Tracing for Lambda Function.
-
#vpc ⇒ AWSCDK::EC2::IVPC?
readonly
VPC network to place Lambda network interfaces.
-
#vpc_subnets ⇒ AWSCDK::EC2::SubnetSelection?
readonly
Where to place the network interfaces within the VPC.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(max_event_age: nil, on_failure: nil, on_success: nil, retry_attempts: nil, adot_instrumentation: nil, allow_all_ipv6_outbound: nil, allow_all_outbound: nil, allow_public_subnet: nil, application_log_level: nil, application_log_level_v2: nil, architecture: nil, code_signing_config: nil, current_version_options: nil, dead_letter_queue: nil, dead_letter_queue_enabled: nil, dead_letter_topic: nil, description: nil, durable_config: nil, environment: nil, environment_encryption: nil, ephemeral_storage_size: nil, events: nil, filesystem: nil, function_name: nil, initial_policy: nil, insights_version: nil, ipv6_allowed_for_dual_stack: nil, layers: nil, log_format: nil, logging_format: nil, log_group: nil, log_removal_policy: nil, log_retention: nil, log_retention_retry_options: nil, log_retention_role: nil, memory_size: nil, params_and_secrets: nil, profiling: nil, profiling_group: nil, recursive_loop: nil, reserved_concurrent_executions: nil, role: nil, runtime_management_mode: nil, security_groups: nil, snap_start: nil, system_log_level: nil, system_log_level_v2: nil, tenancy_config: nil, timeout: nil, tracing: nil, vpc: nil, vpc_subnets: nil, code:, handler:, runtime:, stack_id: nil) ⇒ EdgeFunctionProps
constructor
A new instance of EdgeFunctionProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(max_event_age: nil, on_failure: nil, on_success: nil, retry_attempts: nil, adot_instrumentation: nil, allow_all_ipv6_outbound: nil, allow_all_outbound: nil, allow_public_subnet: nil, application_log_level: nil, application_log_level_v2: nil, architecture: nil, code_signing_config: nil, current_version_options: nil, dead_letter_queue: nil, dead_letter_queue_enabled: nil, dead_letter_topic: nil, description: nil, durable_config: nil, environment: nil, environment_encryption: nil, ephemeral_storage_size: nil, events: nil, filesystem: nil, function_name: nil, initial_policy: nil, insights_version: nil, ipv6_allowed_for_dual_stack: nil, layers: nil, log_format: nil, logging_format: nil, log_group: nil, log_removal_policy: nil, log_retention: nil, log_retention_retry_options: nil, log_retention_role: nil, memory_size: nil, params_and_secrets: nil, profiling: nil, profiling_group: nil, recursive_loop: nil, reserved_concurrent_executions: nil, role: nil, runtime_management_mode: nil, security_groups: nil, snap_start: nil, system_log_level: nil, system_log_level_v2: nil, tenancy_config: nil, timeout: nil, tracing: nil, vpc: nil, vpc_subnets: nil, code:, handler:, runtime:, stack_id: nil) ⇒ EdgeFunctionProps
Returns a new instance of EdgeFunctionProps.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'cloud_front/experimental/edge_function_props.rb', line 63 def initialize(max_event_age: nil, on_failure: nil, on_success: nil, retry_attempts: nil, adot_instrumentation: nil, allow_all_ipv6_outbound: nil, allow_all_outbound: nil, allow_public_subnet: nil, application_log_level: nil, application_log_level_v2: nil, architecture: nil, code_signing_config: nil, current_version_options: nil, dead_letter_queue: nil, dead_letter_queue_enabled: nil, dead_letter_topic: nil, description: nil, durable_config: nil, environment: nil, environment_encryption: nil, ephemeral_storage_size: nil, events: nil, filesystem: nil, function_name: nil, initial_policy: nil, insights_version: nil, ipv6_allowed_for_dual_stack: nil, layers: nil, log_format: nil, logging_format: nil, log_group: nil, log_removal_policy: nil, log_retention: nil, log_retention_retry_options: nil, log_retention_role: nil, memory_size: nil, params_and_secrets: nil, profiling: nil, profiling_group: nil, recursive_loop: nil, reserved_concurrent_executions: nil, role: nil, runtime_management_mode: nil, security_groups: nil, snap_start: nil, system_log_level: nil, system_log_level_v2: nil, tenancy_config: nil, timeout: nil, tracing: nil, vpc: nil, vpc_subnets: nil, code:, handler:, runtime:, stack_id: nil) @max_event_age = max_event_age Jsii::Type.check_type(@max_event_age, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "maxEventAge") unless @max_event_age.nil? @on_failure = on_failure Jsii::Type.check_type(@on_failure, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklEZXN0aW5hdGlvbiJ9")), "onFailure") unless @on_failure.nil? @on_success = on_success Jsii::Type.check_type(@on_success, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklEZXN0aW5hdGlvbiJ9")), "onSuccess") unless @on_success.nil? @retry_attempts = retry_attempts Jsii::Type.check_type(@retry_attempts, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "retryAttempts") unless @retry_attempts.nil? @adot_instrumentation = adot_instrumentation.is_a?(Hash) ? ::AWSCDK::Lambda::AdotInstrumentationConfig.new(**adot_instrumentation.transform_keys(&:to_sym)) : adot_instrumentation Jsii::Type.check_type(@adot_instrumentation, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkFkb3RJbnN0cnVtZW50YXRpb25Db25maWcifQ==")), "adotInstrumentation") unless @adot_instrumentation.nil? @allow_all_ipv6_outbound = allow_all_ipv6_outbound Jsii::Type.check_type(@allow_all_ipv6_outbound, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "allowAllIpv6Outbound") unless @allow_all_ipv6_outbound.nil? @allow_all_outbound = allow_all_outbound Jsii::Type.check_type(@allow_all_outbound, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "allowAllOutbound") unless @allow_all_outbound.nil? @allow_public_subnet = allow_public_subnet Jsii::Type.check_type(@allow_public_subnet, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "allowPublicSubnet") unless @allow_public_subnet.nil? @application_log_level = application_log_level Jsii::Type.check_type(@application_log_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "applicationLogLevel") unless @application_log_level.nil? @application_log_level_v2 = application_log_level_v2 Jsii::Type.check_type(@application_log_level_v2, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkFwcGxpY2F0aW9uTG9nTGV2ZWwifQ==")), "applicationLogLevelV2") unless @application_log_level_v2.nil? @architecture = architecture Jsii::Type.check_type(@architecture, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkFyY2hpdGVjdHVyZSJ9")), "architecture") unless @architecture.nil? @code_signing_config = code_signing_config Jsii::Type.check_type(@code_signing_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19sYW1iZGEuSUNvZGVTaWduaW5nQ29uZmlnUmVmIn0=")), "codeSigningConfig") unless @code_signing_config.nil? @current_version_options = .is_a?(Hash) ? ::AWSCDK::Lambda::VersionOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@current_version_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlZlcnNpb25PcHRpb25zIn0=")), "currentVersionOptions") unless @current_version_options.nil? @dead_letter_queue = dead_letter_queue Jsii::Type.check_type(@dead_letter_queue, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3FzLklRdWV1ZSJ9")), "deadLetterQueue") unless @dead_letter_queue.nil? @dead_letter_queue_enabled = dead_letter_queue_enabled Jsii::Type.check_type(@dead_letter_queue_enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "deadLetterQueueEnabled") unless @dead_letter_queue_enabled.nil? @dead_letter_topic = dead_letter_topic Jsii::Type.check_type(@dead_letter_topic, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc25zLklUb3BpYyJ9")), "deadLetterTopic") unless @dead_letter_topic.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @durable_config = durable_config.is_a?(Hash) ? ::AWSCDK::Lambda::DurableConfig.new(**durable_config.transform_keys(&:to_sym)) : durable_config Jsii::Type.check_type(@durable_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkR1cmFibGVDb25maWcifQ==")), "durableConfig") unless @durable_config.nil? @environment = environment Jsii::Type.check_type(@environment, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "environment") unless @environment.nil? @environment_encryption = environment_encryption Jsii::Type.check_type(@environment_encryption, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9")), "environmentEncryption") unless @environment_encryption.nil? @ephemeral_storage_size = ephemeral_storage_size Jsii::Type.check_type(@ephemeral_storage_size, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5TaXplIn0=")), "ephemeralStorageSize") unless @ephemeral_storage_size.nil? @events = events Jsii::Type.check_type(@events, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuSUV2ZW50U291cmNlIn0sImtpbmQiOiJhcnJheSJ9fQ==")), "events") unless @events.nil? @filesystem = filesystem Jsii::Type.check_type(@filesystem, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkZpbGVTeXN0ZW0ifQ==")), "filesystem") unless @filesystem.nil? @function_name = function_name Jsii::Type.check_type(@function_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "functionName") unless @function_name.nil? @initial_policy = initial_policy Jsii::Type.check_type(@initial_policy, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pYW0uUG9saWN5U3RhdGVtZW50In0sImtpbmQiOiJhcnJheSJ9fQ==")), "initialPolicy") unless @initial_policy.nil? @insights_version = insights_version Jsii::Type.check_type(@insights_version, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkxhbWJkYUluc2lnaHRzVmVyc2lvbiJ9")), "insightsVersion") unless @insights_version.nil? @ipv6_allowed_for_dual_stack = ipv6_allowed_for_dual_stack Jsii::Type.check_type(@ipv6_allowed_for_dual_stack, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "ipv6AllowedForDualStack") unless @ipv6_allowed_for_dual_stack.nil? @layers = layers Jsii::Type.check_type(@layers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuSUxheWVyVmVyc2lvbiJ9LCJraW5kIjoiYXJyYXkifX0=")), "layers") unless @layers.nil? @log_format = log_format Jsii::Type.check_type(@log_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logFormat") unless @log_format.nil? @logging_format = logging_format Jsii::Type.check_type(@logging_format, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkxvZ2dpbmdGb3JtYXQifQ==")), "loggingFormat") unless @logging_format.nil? @log_group = log_group Jsii::Type.check_type(@log_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19sb2dzLklMb2dHcm91cFJlZiJ9")), "logGroup") unless @log_group.nil? @log_removal_policy = log_removal_policy Jsii::Type.check_type(@log_removal_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "logRemovalPolicy") unless @log_removal_policy.nil? @log_retention = log_retention Jsii::Type.check_type(@log_retention, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbG9ncy5SZXRlbnRpb25EYXlzIn0=")), "logRetention") unless @log_retention.nil? @log_retention_retry_options = .is_a?(Hash) ? ::AWSCDK::Lambda::LogRetentionRetryOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@log_retention_retry_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkxvZ1JldGVudGlvblJldHJ5T3B0aW9ucyJ9")), "logRetentionRetryOptions") unless @log_retention_retry_options.nil? @log_retention_role = log_retention_role Jsii::Type.check_type(@log_retention_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "logRetentionRole") unless @log_retention_role.nil? @memory_size = memory_size Jsii::Type.check_type(@memory_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "memorySize") unless @memory_size.nil? @params_and_secrets = params_and_secrets Jsii::Type.check_type(@params_and_secrets, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlBhcmFtc0FuZFNlY3JldHNMYXllclZlcnNpb24ifQ==")), "paramsAndSecrets") unless @params_and_secrets.nil? @profiling = profiling Jsii::Type.check_type(@profiling, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "profiling") unless @profiling.nil? @profiling_group = profiling_group Jsii::Type.check_type(@profiling_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZWd1cnVwcm9maWxlci5JUHJvZmlsaW5nR3JvdXAifQ==")), "profilingGroup") unless @profiling_group.nil? @recursive_loop = recursive_loop Jsii::Type.check_type(@recursive_loop, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlJlY3Vyc2l2ZUxvb3AifQ==")), "recursiveLoop") unless @recursive_loop.nil? @reserved_concurrent_executions = reserved_concurrent_executions Jsii::Type.check_type(@reserved_concurrent_executions, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "reservedConcurrentExecutions") unless @reserved_concurrent_executions.nil? @role = role Jsii::Type.check_type(@role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "role") unless @role.nil? @runtime_management_mode = runtime_management_mode Jsii::Type.check_type(@runtime_management_mode, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlJ1bnRpbWVNYW5hZ2VtZW50TW9kZSJ9")), "runtimeManagementMode") unless @runtime_management_mode.nil? @security_groups = security_groups Jsii::Type.check_type(@security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuSVNlY3VyaXR5R3JvdXAifSwia2luZCI6ImFycmF5In19")), "securityGroups") unless @security_groups.nil? @snap_start = snap_start Jsii::Type.check_type(@snap_start, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlNuYXBTdGFydENvbmYifQ==")), "snapStart") unless @snap_start.nil? @system_log_level = system_log_level Jsii::Type.check_type(@system_log_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "systemLogLevel") unless @system_log_level.nil? @system_log_level_v2 = system_log_level_v2 Jsii::Type.check_type(@system_log_level_v2, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlN5c3RlbUxvZ0xldmVsIn0=")), "systemLogLevelV2") unless @system_log_level_v2.nil? @tenancy_config = tenancy_config Jsii::Type.check_type(@tenancy_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlRlbmFuY3lDb25maWcifQ==")), "tenancyConfig") unless @tenancy_config.nil? @timeout = timeout Jsii::Type.check_type(@timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "timeout") unless @timeout.nil? @tracing = tracing Jsii::Type.check_type(@tracing, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlRyYWNpbmcifQ==")), "tracing") unless @tracing.nil? @vpc = vpc Jsii::Type.check_type(@vpc, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLklWcGMifQ==")), "vpc") unless @vpc.nil? @vpc_subnets = vpc_subnets.is_a?(Hash) ? ::AWSCDK::EC2::SubnetSelection.new(**vpc_subnets.transform_keys(&:to_sym)) : vpc_subnets Jsii::Type.check_type(@vpc_subnets, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLlN1Ym5ldFNlbGVjdGlvbiJ9")), "vpcSubnets") unless @vpc_subnets.nil? @code = code Jsii::Type.check_type(@code, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkNvZGUifQ==")), "code") @handler = handler Jsii::Type.check_type(@handler, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "handler") @runtime = runtime Jsii::Type.check_type(@runtime, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLlJ1bnRpbWUifQ==")), "runtime") @stack_id = stack_id Jsii::Type.check_type(@stack_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stackId") unless @stack_id.nil? end |
Instance Attribute Details
#adot_instrumentation ⇒ AWSCDK::Lambda::AdotInstrumentationConfig? (readonly)
Default: - No ADOT instrumentation
Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation.
209 210 211 |
# File 'cloud_front/experimental/edge_function_props.rb', line 209 def adot_instrumentation @adot_instrumentation end |
#allow_all_ipv6_outbound ⇒ Boolean? (readonly)
Default: false
Whether to allow the Lambda to send all ipv6 network traffic.
If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6.
Do not specify this property if the security_groups or security_group property is set.
Instead, configure allow_all_ipv6_outbound directly on the security group.
221 222 223 |
# File 'cloud_front/experimental/edge_function_props.rb', line 221 def allow_all_ipv6_outbound @allow_all_ipv6_outbound end |
#allow_all_outbound ⇒ Boolean? (readonly)
Default: true
Whether to allow the Lambda to send all network traffic (except ipv6).
If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets.
Do not specify this property if the security_groups or security_group property is set.
Instead, configure allow_all_outbound directly on the security group.
232 233 234 |
# File 'cloud_front/experimental/edge_function_props.rb', line 232 def allow_all_outbound @allow_all_outbound end |
#allow_public_subnet ⇒ Boolean? (readonly)
Default: false
Lambda Functions in a public subnet can NOT access the internet.
Use this property to acknowledge this limitation and still place the function in a public subnet.
240 241 242 |
# File 'cloud_front/experimental/edge_function_props.rb', line 240 def allow_public_subnet @allow_public_subnet end |
#application_log_level ⇒ String? (readonly)
Use applicationLogLevelV2 as a property instead.
Default: "INFO"
Sets the application log level for the function.
246 247 248 |
# File 'cloud_front/experimental/edge_function_props.rb', line 246 def application_log_level @application_log_level end |
#application_log_level_v2 ⇒ AWSCDK::Lambda::ApplicationLogLevel? (readonly)
Default: ApplicationLogLevel.INFO
Sets the application log level for the function.
251 252 253 |
# File 'cloud_front/experimental/edge_function_props.rb', line 251 def application_log_level_v2 @application_log_level_v2 end |
#architecture ⇒ AWSCDK::Lambda::Architecture? (readonly)
Default: Architecture.X86_64
The system architectures compatible with this lambda function.
256 257 258 |
# File 'cloud_front/experimental/edge_function_props.rb', line 256 def architecture @architecture end |
#code ⇒ AWSCDK::Lambda::Code (readonly)
The source code of your Lambda function.
You can point to a file in an Amazon Simple Storage Service (Amazon S3) bucket or specify your source code as inline text.
575 576 577 |
# File 'cloud_front/experimental/edge_function_props.rb', line 575 def code @code end |
#code_signing_config ⇒ AWSCDK::Interfaces::AWSLambda::ICodeSigningConfigRef? (readonly)
Default: - Not Sign the Code
Code signing config associated with this function.
261 262 263 |
# File 'cloud_front/experimental/edge_function_props.rb', line 261 def code_signing_config @code_signing_config end |
#current_version_options ⇒ AWSCDK::Lambda::VersionOptions? (readonly)
Default: - default options as described in VersionOptions
Options for the lambda.Version resource automatically created by the fn.currentVersion method.
266 267 268 |
# File 'cloud_front/experimental/edge_function_props.rb', line 266 def @current_version_options end |
#dead_letter_queue ⇒ AWSCDK::SQS::IQueue? (readonly)
Default: - SQS queue with 14 day retention period if deadLetterQueueEnabled is true
The SQS queue to use if DLQ is enabled.
If SNS topic is desired, specify dead_letter_topic property instead.
273 274 275 |
# File 'cloud_front/experimental/edge_function_props.rb', line 273 def dead_letter_queue @dead_letter_queue end |
#dead_letter_queue_enabled ⇒ Boolean? (readonly)
Default: - false unless deadLetterQueue is set, which implies DLQ is enabled.
Enabled DLQ.
If dead_letter_queue is undefined,
an SQS queue with default options will be defined for your Function.
281 282 283 |
# File 'cloud_front/experimental/edge_function_props.rb', line 281 def dead_letter_queue_enabled @dead_letter_queue_enabled end |
#dead_letter_topic ⇒ AWSCDK::SNS::ITopic? (readonly)
Default: - no SNS topic
The SNS topic to use as a DLQ.
Note that if dead_letter_queue_enabled is set to true, an SQS queue will be created
rather than an SNS topic. Using an SNS topic as a DLQ requires this property to be set explicitly.
289 290 291 |
# File 'cloud_front/experimental/edge_function_props.rb', line 289 def dead_letter_topic @dead_letter_topic end |
#description ⇒ String? (readonly)
Default: - No description.
A description of the function.
294 295 296 |
# File 'cloud_front/experimental/edge_function_props.rb', line 294 def description @description end |
#durable_config ⇒ AWSCDK::Lambda::DurableConfig? (readonly)
Default: - No durable configuration
The durable configuration for the function.
If durability is added to an existing function, a resource replacement will be triggered. See the 'durableConfig' section in the module README for more details.
302 303 304 |
# File 'cloud_front/experimental/edge_function_props.rb', line 302 def durable_config @durable_config end |
#environment ⇒ Hash{String => String}? (readonly)
Default: - No environment variables.
Key-value pairs that Lambda caches and makes available for your Lambda functions.
Use environment variables to apply configuration changes, such as test and production environment configurations, without changing your Lambda function source code.
311 312 313 |
# File 'cloud_front/experimental/edge_function_props.rb', line 311 def environment @environment end |
#environment_encryption ⇒ AWSCDK::Interfaces::AWSKMS::IKeyRef? (readonly)
Default: - AWS Lambda creates and uses an AWS managed customer master key (CMK).
The AWS KMS key that's used to encrypt your function's environment variables.
316 317 318 |
# File 'cloud_front/experimental/edge_function_props.rb', line 316 def environment_encryption @environment_encryption end |
#ephemeral_storage_size ⇒ AWSCDK::Size? (readonly)
Default: 512 MiB
The size of the function’s /tmp directory in MiB.
321 322 323 |
# File 'cloud_front/experimental/edge_function_props.rb', line 321 def ephemeral_storage_size @ephemeral_storage_size end |
#events ⇒ Array<AWSCDK::Lambda::IEventSource>? (readonly)
Default: - No event sources.
Event sources for this function.
You can also add event sources using add_event_source.
328 329 330 |
# File 'cloud_front/experimental/edge_function_props.rb', line 328 def events @events end |
#filesystem ⇒ AWSCDK::Lambda::FileSystem? (readonly)
Default: - will not mount any filesystem
The filesystem configuration for the lambda function.
333 334 335 |
# File 'cloud_front/experimental/edge_function_props.rb', line 333 def filesystem @filesystem end |
#function_name ⇒ String? (readonly)
Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the function's name. For more information, see Name Type.
A name for the function.
338 339 340 |
# File 'cloud_front/experimental/edge_function_props.rb', line 338 def function_name @function_name end |
#handler ⇒ String (readonly)
The name of the method within your code that Lambda calls to execute your function.
The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html.
Use Handler.FROM_IMAGE when defining a function from a Docker image.
NOTE: If you specify your source code as inline text by specifying the ZipFile property within the Code property, specify index.function_name as the handler.
589 590 591 |
# File 'cloud_front/experimental/edge_function_props.rb', line 589 def handler @handler end |
#initial_policy ⇒ Array<AWSCDK::IAM::PolicyStatement>? (readonly)
Default: - No policy statements are added to the created Lambda role.
Initial policy statements to add to the created Lambda Role.
You can call add_to_role_policy to the created lambda to add statements post creation.
345 346 347 |
# File 'cloud_front/experimental/edge_function_props.rb', line 345 def initial_policy @initial_policy end |
#insights_version ⇒ AWSCDK::Lambda::LambdaInsightsVersion? (readonly)
Default: - No Lambda Insights
Specify the version of CloudWatch Lambda insights to use for monitoring.
351 352 353 |
# File 'cloud_front/experimental/edge_function_props.rb', line 351 def insights_version @insights_version end |
#ipv6_allowed_for_dual_stack ⇒ Boolean? (readonly)
Default: false
Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
Only used if 'vpc' is supplied.
358 359 360 |
# File 'cloud_front/experimental/edge_function_props.rb', line 358 def ipv6_allowed_for_dual_stack @ipv6_allowed_for_dual_stack end |
#layers ⇒ Array<AWSCDK::Lambda::ILayerVersion>? (readonly)
Default: - No layers.
A list of layers to add to the function's execution environment.
You can configure your Lambda function to pull in additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies that can be used by multiple functions.
367 368 369 |
# File 'cloud_front/experimental/edge_function_props.rb', line 367 def layers @layers end |
#log_format ⇒ String? (readonly)
Use loggingFormat as a property instead.
Default: "Text"
Sets the logFormat for the function.
373 374 375 |
# File 'cloud_front/experimental/edge_function_props.rb', line 373 def log_format @log_format end |
#log_group ⇒ AWSCDK::Interfaces::AWSLogs::ILogGroupRef? (readonly)
Default: /aws/lambda/${this.functionName} - default log group created by Lambda
The log group the function sends logs to.
By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/
Use the log_group property to create a fully customizable LogGroup ahead of time, and instruct the Lambda function to send logs to it.
Providing a user-controlled log group was rolled out to commercial regions on 2023-11-16. If you are deploying to another type of region, please check regional availability first.
391 392 393 |
# File 'cloud_front/experimental/edge_function_props.rb', line 391 def log_group @log_group end |
#log_removal_policy ⇒ AWSCDK::RemovalPolicy? (readonly)
use logGroup instead
Default: RemovalPolicy.Retain
Determine the removal policy of the log group that is auto-created by this construct.
Normally you want to retain the log group so you can diagnose issues from logs even after a deployment that no longer includes the log group. In that case, use the normal date-based retention policy to age out your logs.
402 403 404 |
# File 'cloud_front/experimental/edge_function_props.rb', line 402 def log_removal_policy @log_removal_policy end |
#log_retention ⇒ AWSCDK::Logs::RetentionDays? (readonly)
use logGroup instead
Default: logs.RetentionDays.INFINITE
The number of days log events are kept in CloudWatch Logs.
When updating
this property, unsetting it doesn't remove the log retention policy. To
remove the retention policy, set the value to INFINITE.
This is a legacy API and we strongly recommend you move away from it if you can.
Instead create a fully customizable log group with logs.LogGroup and use the log_group property
to instruct the Lambda function to send logs to it.
Migrating from log_retention to log_group will cause the name of the log group to change.
Users and code and referencing the name verbatim will have to adjust.
In AWS CDK code, you can access the log group name directly from the LogGroup construct:
require 'aws-cdk-lib'
my_log_group = nil # AWSCDK::Logs::LogGroup
my_log_group.log_group_name
427 428 429 |
# File 'cloud_front/experimental/edge_function_props.rb', line 427 def log_retention @log_retention end |
#log_retention_retry_options ⇒ AWSCDK::Lambda::LogRetentionRetryOptions? (readonly)
Default: - Default AWS SDK retry options.
When log retention is specified, a custom resource attempts to create the CloudWatch log group.
These options control the retry policy when interacting with CloudWatch APIs.
This is a legacy API and we strongly recommend you migrate to log_group if you can.
log_group allows you to create a fully customizable log group and instruct the Lambda function to send logs to it.
437 438 439 |
# File 'cloud_front/experimental/edge_function_props.rb', line 437 def @log_retention_retry_options end |
#log_retention_role ⇒ AWSCDK::IAM::IRole? (readonly)
Default: - A new role is created.
The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
This is a legacy API and we strongly recommend you migrate to log_group if you can.
log_group allows you to create a fully customizable log group and instruct the Lambda function to send logs to it.
445 446 447 |
# File 'cloud_front/experimental/edge_function_props.rb', line 445 def log_retention_role @log_retention_role end |
#logging_format ⇒ AWSCDK::Lambda::LoggingFormat? (readonly)
Default: LoggingFormat.TEXT
Sets the loggingFormat for the function.
378 379 380 |
# File 'cloud_front/experimental/edge_function_props.rb', line 378 def logging_format @logging_format end |
#max_event_age ⇒ AWSCDK::Duration? (readonly)
Default: Duration.hours(6)
The maximum age of a request that Lambda sends to a function for processing.
Minimum: 60 seconds Maximum: 6 hours
185 186 187 |
# File 'cloud_front/experimental/edge_function_props.rb', line 185 def max_event_age @max_event_age end |
#memory_size ⇒ Numeric? (readonly)
Default: 128
The amount of memory, in MB, that is allocated to your Lambda function.
Lambda uses this value to proportionally allocate the amount of CPU power. For more information, see Resource Model in the AWS Lambda Developer Guide.
454 455 456 |
# File 'cloud_front/experimental/edge_function_props.rb', line 454 def memory_size @memory_size end |
#on_failure ⇒ AWSCDK::Lambda::IDestination? (readonly)
Default: - no destination
The destination for failed invocations.
190 191 192 |
# File 'cloud_front/experimental/edge_function_props.rb', line 190 def on_failure @on_failure end |
#on_success ⇒ AWSCDK::Lambda::IDestination? (readonly)
Default: - no destination
The destination for successful invocations.
195 196 197 |
# File 'cloud_front/experimental/edge_function_props.rb', line 195 def on_success @on_success end |
#params_and_secrets ⇒ AWSCDK::Lambda::ParamsAndSecretsLayerVersion? (readonly)
Default: - No Parameters and Secrets Extension
Specify the configuration of Parameters and Secrets Extension.
460 461 462 |
# File 'cloud_front/experimental/edge_function_props.rb', line 460 def params_and_secrets @params_and_secrets end |
#profiling ⇒ Boolean? (readonly)
Default: - No profiling.
Enable profiling.
466 467 468 |
# File 'cloud_front/experimental/edge_function_props.rb', line 466 def profiling @profiling end |
#profiling_group ⇒ AWSCDK::CodeGuruProfiler::IProfilingGroup? (readonly)
Default: - A new profiling group will be created if profiling is set.
Profiling Group.
472 473 474 |
# File 'cloud_front/experimental/edge_function_props.rb', line 472 def profiling_group @profiling_group end |
#recursive_loop ⇒ AWSCDK::Lambda::RecursiveLoop? (readonly)
Default: RecursiveLoop.Terminate
Sets the Recursive Loop Protection for Lambda Function.
It lets Lambda detect and terminate unintended recursive loops.
479 480 481 |
# File 'cloud_front/experimental/edge_function_props.rb', line 479 def recursive_loop @recursive_loop end |
#reserved_concurrent_executions ⇒ Numeric? (readonly)
Default: - No specific limit - account limit.
The maximum of concurrent executions you want to reserve for the function.
485 486 487 |
# File 'cloud_front/experimental/edge_function_props.rb', line 485 def reserved_concurrent_executions @reserved_concurrent_executions end |
#retry_attempts ⇒ Numeric? (readonly)
Default: 2
The maximum number of times to retry when the function returns an error.
Minimum: 0 Maximum: 2
203 204 205 |
# File 'cloud_front/experimental/edge_function_props.rb', line 203 def retry_attempts @retry_attempts end |
#role ⇒ AWSCDK::IAM::IRole? (readonly)
Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling addToRolePolicy.
Lambda execution role.
This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal.
The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself.
The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole".
500 501 502 |
# File 'cloud_front/experimental/edge_function_props.rb', line 500 def role @role end |
#runtime ⇒ AWSCDK::Lambda::Runtime (readonly)
The runtime environment for the Lambda function that you are uploading.
For valid values, see the Runtime property in the AWS Lambda Developer Guide.
Use Runtime.FROM_IMAGE when defining a function from a Docker image.
598 599 600 |
# File 'cloud_front/experimental/edge_function_props.rb', line 598 def runtime @runtime end |
#runtime_management_mode ⇒ AWSCDK::Lambda::RuntimeManagementMode? (readonly)
Default: Auto
Sets the runtime management configuration for a function's version.
505 506 507 |
# File 'cloud_front/experimental/edge_function_props.rb', line 505 def runtime_management_mode @runtime_management_mode end |
#security_groups ⇒ Array<AWSCDK::EC2::ISecurityGroup>? (readonly)
Default: - If the function is placed within a VPC and a security group is not specified, either by this or securityGroup prop, a dedicated security group will be created for this function.
The list of security groups to associate with the Lambda's network interfaces.
Only used if 'vpc' is supplied.
512 513 514 |
# File 'cloud_front/experimental/edge_function_props.rb', line 512 def security_groups @security_groups end |
#snap_start ⇒ AWSCDK::Lambda::SnapStartConf? (readonly)
Default: - No snapstart
Enable SnapStart for Lambda Function.
SnapStart is currently supported for Java 11, Java 17, Python 3.12, Python 3.13, and .NET 8 runtime
519 520 521 |
# File 'cloud_front/experimental/edge_function_props.rb', line 519 def snap_start @snap_start end |
#stack_id ⇒ String? (readonly)
Default: - edge-lambda-stack-${region}
The stack ID of Lambda@Edge function.
603 604 605 |
# File 'cloud_front/experimental/edge_function_props.rb', line 603 def stack_id @stack_id end |
#system_log_level ⇒ String? (readonly)
Use systemLogLevelV2 as a property instead.
Default: "INFO"
Sets the system log level for the function.
525 526 527 |
# File 'cloud_front/experimental/edge_function_props.rb', line 525 def system_log_level @system_log_level end |
#system_log_level_v2 ⇒ AWSCDK::Lambda::SystemLogLevel? (readonly)
Default: SystemLogLevel.INFO
Sets the system log level for the function.
530 531 532 |
# File 'cloud_front/experimental/edge_function_props.rb', line 530 def system_log_level_v2 @system_log_level_v2 end |
#tenancy_config ⇒ AWSCDK::Lambda::TenancyConfig? (readonly)
Default: - Tenant isolation is not enabled
The tenancy configuration for the function.
535 536 537 |
# File 'cloud_front/experimental/edge_function_props.rb', line 535 def tenancy_config @tenancy_config end |
#timeout ⇒ AWSCDK::Duration? (readonly)
Default: Duration.seconds(3)
The function execution time (in seconds) after which Lambda terminates the function.
Because the execution time affects cost, set this value based on the function's expected execution time.
543 544 545 |
# File 'cloud_front/experimental/edge_function_props.rb', line 543 def timeout @timeout end |
#tracing ⇒ AWSCDK::Lambda::Tracing? (readonly)
Default: Tracing.Disabled
Enable AWS X-Ray Tracing for Lambda Function.
548 549 550 |
# File 'cloud_front/experimental/edge_function_props.rb', line 548 def tracing @tracing end |
#vpc ⇒ AWSCDK::EC2::IVPC? (readonly)
Default: - Function is not placed within a VPC.
VPC network to place Lambda network interfaces.
Specify this if the Lambda function needs to access resources in a VPC.
This is required when vpc_subnets is specified.
556 557 558 |
# File 'cloud_front/experimental/edge_function_props.rb', line 556 def vpc @vpc end |
#vpc_subnets ⇒ AWSCDK::EC2::SubnetSelection? (readonly)
Default: - the Vpc default strategy if not specified
Where to place the network interfaces within the VPC.
This requires vpc to be specified in order for interfaces to actually be
placed in the subnets. If vpc is not specify, this will raise an error.
Note: Internet access for Lambda Functions requires a NAT Gateway, so picking
public subnets is not allowed (unless allow_public_subnet is set to true).
567 568 569 |
# File 'cloud_front/experimental/edge_function_props.rb', line 567 def vpc_subnets @vpc_subnets end |
Class Method Details
.jsii_properties ⇒ Object
605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 |
# File 'cloud_front/experimental/edge_function_props.rb', line 605 def self.jsii_properties { :max_event_age => "maxEventAge", :on_failure => "onFailure", :on_success => "onSuccess", :retry_attempts => "retryAttempts", :adot_instrumentation => "adotInstrumentation", :allow_all_ipv6_outbound => "allowAllIpv6Outbound", :allow_all_outbound => "allowAllOutbound", :allow_public_subnet => "allowPublicSubnet", :application_log_level => "applicationLogLevel", :application_log_level_v2 => "applicationLogLevelV2", :architecture => "architecture", :code_signing_config => "codeSigningConfig", :current_version_options => "currentVersionOptions", :dead_letter_queue => "deadLetterQueue", :dead_letter_queue_enabled => "deadLetterQueueEnabled", :dead_letter_topic => "deadLetterTopic", :description => "description", :durable_config => "durableConfig", :environment => "environment", :environment_encryption => "environmentEncryption", :ephemeral_storage_size => "ephemeralStorageSize", :events => "events", :filesystem => "filesystem", :function_name => "functionName", :initial_policy => "initialPolicy", :insights_version => "insightsVersion", :ipv6_allowed_for_dual_stack => "ipv6AllowedForDualStack", :layers => "layers", :log_format => "logFormat", :logging_format => "loggingFormat", :log_group => "logGroup", :log_removal_policy => "logRemovalPolicy", :log_retention => "logRetention", :log_retention_retry_options => "logRetentionRetryOptions", :log_retention_role => "logRetentionRole", :memory_size => "memorySize", :params_and_secrets => "paramsAndSecrets", :profiling => "profiling", :profiling_group => "profilingGroup", :recursive_loop => "recursiveLoop", :reserved_concurrent_executions => "reservedConcurrentExecutions", :role => "role", :runtime_management_mode => "runtimeManagementMode", :security_groups => "securityGroups", :snap_start => "snapStart", :system_log_level => "systemLogLevel", :system_log_level_v2 => "systemLogLevelV2", :tenancy_config => "tenancyConfig", :timeout => "timeout", :tracing => "tracing", :vpc => "vpc", :vpc_subnets => "vpcSubnets", :code => "code", :handler => "handler", :runtime => "runtime", :stack_id => "stackId", } end |
Instance Method Details
#to_jsii ⇒ Object
666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 |
# File 'cloud_front/experimental/edge_function_props.rb', line 666 def to_jsii result = {} result.merge!(super) result.merge!({ "maxEventAge" => @max_event_age, "onFailure" => @on_failure, "onSuccess" => @on_success, "retryAttempts" => @retry_attempts, "adotInstrumentation" => @adot_instrumentation, "allowAllIpv6Outbound" => @allow_all_ipv6_outbound, "allowAllOutbound" => @allow_all_outbound, "allowPublicSubnet" => @allow_public_subnet, "applicationLogLevel" => @application_log_level, "applicationLogLevelV2" => @application_log_level_v2, "architecture" => @architecture, "codeSigningConfig" => @code_signing_config, "currentVersionOptions" => @current_version_options, "deadLetterQueue" => @dead_letter_queue, "deadLetterQueueEnabled" => @dead_letter_queue_enabled, "deadLetterTopic" => @dead_letter_topic, "description" => @description, "durableConfig" => @durable_config, "environment" => @environment, "environmentEncryption" => @environment_encryption, "ephemeralStorageSize" => @ephemeral_storage_size, "events" => @events, "filesystem" => @filesystem, "functionName" => @function_name, "initialPolicy" => @initial_policy, "insightsVersion" => @insights_version, "ipv6AllowedForDualStack" => @ipv6_allowed_for_dual_stack, "layers" => @layers, "logFormat" => @log_format, "loggingFormat" => @logging_format, "logGroup" => @log_group, "logRemovalPolicy" => @log_removal_policy, "logRetention" => @log_retention, "logRetentionRetryOptions" => @log_retention_retry_options, "logRetentionRole" => @log_retention_role, "memorySize" => @memory_size, "paramsAndSecrets" => @params_and_secrets, "profiling" => @profiling, "profilingGroup" => @profiling_group, "recursiveLoop" => @recursive_loop, "reservedConcurrentExecutions" => @reserved_concurrent_executions, "role" => @role, "runtimeManagementMode" => @runtime_management_mode, "securityGroups" => @security_groups, "snapStart" => @snap_start, "systemLogLevel" => @system_log_level, "systemLogLevelV2" => @system_log_level_v2, "tenancyConfig" => @tenancy_config, "timeout" => @timeout, "tracing" => @tracing, "vpc" => @vpc, "vpcSubnets" => @vpc_subnets, "code" => @code, "handler" => @handler, "runtime" => @runtime, "stackId" => @stack_id, }) result.compact end |