Class: AWSCDK::Lambda::AliasOptions

Inherits:
EventInvokeConfigOptions
  • Object
show all
Defined in:
lambda/alias_options.rb

Overview

Options for lambda.Alias.

Direct Known Subclasses

AliasProps

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(max_event_age: nil, on_failure: nil, on_success: nil, retry_attempts: nil, additional_versions: nil, description: nil, provisioned_concurrent_executions: nil) ⇒ AliasOptions

Returns a new instance of AliasOptions.

Parameters:

  • max_event_age (AWSCDK::Duration, nil) (defaults to: nil)

    The maximum age of a request that Lambda sends to a function for processing.

  • on_failure (AWSCDK::Lambda::IDestination, nil) (defaults to: nil)

    The destination for failed invocations.

  • on_success (AWSCDK::Lambda::IDestination, nil) (defaults to: nil)

    The destination for successful invocations.

  • retry_attempts (Numeric, nil) (defaults to: nil)

    The maximum number of times to retry when the function returns an error.

  • additional_versions (Array<AWSCDK::Lambda::VersionWeight>, nil) (defaults to: nil)

    Additional versions with individual weights this alias points to.

  • description (String, nil) (defaults to: nil)

    Description for the alias.

  • provisioned_concurrent_executions (Numeric, nil) (defaults to: nil)

    Specifies a provisioned concurrency configuration for a function's alias.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lambda/alias_options.rb', line 14

def initialize(max_event_age: nil, on_failure: nil, on_success: nil, retry_attempts: nil, additional_versions: nil, description: nil, provisioned_concurrent_executions: 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?
  @additional_versions = additional_versions.is_a?(Array) ? additional_versions.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::Lambda::VersionWeight.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : additional_versions
  Jsii::Type.check_type(@additional_versions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuVmVyc2lvbldlaWdodCJ9LCJraW5kIjoiYXJyYXkifX0=")), "additionalVersions") unless @additional_versions.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @provisioned_concurrent_executions = provisioned_concurrent_executions
  Jsii::Type.check_type(@provisioned_concurrent_executions, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "provisionedConcurrentExecutions") unless @provisioned_concurrent_executions.nil?
end

Instance Attribute Details

#additional_versionsArray<AWSCDK::Lambda::VersionWeight>? (readonly)

Note:

Default: No additional versions

Additional versions with individual weights this alias points to.

Individual additional version weights specified here should add up to (less than) one. All remaining weight is routed to the default version.

For example, the config is

version: "1" additionalVersions: [{ version: "2", weight: 0.05 }]

Then 5% of traffic will be routed to function version 2, while the remaining 95% of traffic will be routed to function version 1.

Returns:



73
74
75
# File 'lambda/alias_options.rb', line 73

def additional_versions
  @additional_versions
end

#descriptionString? (readonly)

Note:

Default: No description

Description for the alias.

Returns:

  • (String, nil)


78
79
80
# File 'lambda/alias_options.rb', line 78

def description
  @description
end

#max_event_ageAWSCDK::Duration? (readonly)

Note:

Default: Duration.hours(6)

The maximum age of a request that Lambda sends to a function for processing.

Minimum: 60 seconds Maximum: 6 hours

Returns:



38
39
40
# File 'lambda/alias_options.rb', line 38

def max_event_age
  @max_event_age
end

#on_failureAWSCDK::Lambda::IDestination? (readonly)

Note:

Default: - no destination

The destination for failed invocations.



43
44
45
# File 'lambda/alias_options.rb', line 43

def on_failure
  @on_failure
end

#on_successAWSCDK::Lambda::IDestination? (readonly)

Note:

Default: - no destination

The destination for successful invocations.



48
49
50
# File 'lambda/alias_options.rb', line 48

def on_success
  @on_success
end

#provisioned_concurrent_executionsNumeric? (readonly)

Note:

Default: No provisioned concurrency

Specifies a provisioned concurrency configuration for a function's alias.

Returns:

  • (Numeric, nil)


83
84
85
# File 'lambda/alias_options.rb', line 83

def provisioned_concurrent_executions
  @provisioned_concurrent_executions
end

#retry_attemptsNumeric? (readonly)

Note:

Default: 2

The maximum number of times to retry when the function returns an error.

Minimum: 0 Maximum: 2

Returns:

  • (Numeric, nil)


56
57
58
# File 'lambda/alias_options.rb', line 56

def retry_attempts
  @retry_attempts
end

Class Method Details

.jsii_propertiesObject



85
86
87
88
89
90
91
92
93
94
95
# File 'lambda/alias_options.rb', line 85

def self.jsii_properties
  {
    :max_event_age => "maxEventAge",
    :on_failure => "onFailure",
    :on_success => "onSuccess",
    :retry_attempts => "retryAttempts",
    :additional_versions => "additionalVersions",
    :description => "description",
    :provisioned_concurrent_executions => "provisionedConcurrentExecutions",
  }
end

Instance Method Details

#to_jsiiObject



97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lambda/alias_options.rb', line 97

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "maxEventAge" => @max_event_age,
    "onFailure" => @on_failure,
    "onSuccess" => @on_success,
    "retryAttempts" => @retry_attempts,
    "additionalVersions" => @additional_versions,
    "description" => @description,
    "provisionedConcurrentExecutions" => @provisioned_concurrent_executions,
  })
  result.compact
end