Class: AWSCDK::Lambda::AliasProps

Inherits:
AliasOptions
  • Object
show all
Defined in:
lambda/alias_props.rb

Overview

Properties for a new Lambda alias.

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, alias_name:, version:) ⇒ AliasProps

Returns a new instance of AliasProps.

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.

  • alias_name (String)

    Name of this alias.

  • version (AWSCDK::Lambda::IVersion)

    Function version this alias refers to.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lambda/alias_props.rb', line 16

def initialize(max_event_age: nil, on_failure: nil, on_success: nil, retry_attempts: nil, additional_versions: nil, description: nil, provisioned_concurrent_executions: nil, alias_name:, version:)
  @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?
  @alias_name = alias_name
  Jsii::Type.check_type(@alias_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "aliasName")
  @version = version
  Jsii::Type.check_type(@version, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklWZXJzaW9uIn0=")), "version")
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:



79
80
81
# File 'lambda/alias_props.rb', line 79

def additional_versions
  @additional_versions
end

#alias_nameString (readonly)

Name of this alias.

Returns:

  • (String)


93
94
95
# File 'lambda/alias_props.rb', line 93

def alias_name
  @alias_name
end

#descriptionString? (readonly)

Note:

Default: No description

Description for the alias.

Returns:

  • (String, nil)


84
85
86
# File 'lambda/alias_props.rb', line 84

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:



44
45
46
# File 'lambda/alias_props.rb', line 44

def max_event_age
  @max_event_age
end

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

Note:

Default: - no destination

The destination for failed invocations.



49
50
51
# File 'lambda/alias_props.rb', line 49

def on_failure
  @on_failure
end

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

Note:

Default: - no destination

The destination for successful invocations.



54
55
56
# File 'lambda/alias_props.rb', line 54

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)


89
90
91
# File 'lambda/alias_props.rb', line 89

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)


62
63
64
# File 'lambda/alias_props.rb', line 62

def retry_attempts
  @retry_attempts
end

#versionAWSCDK::Lambda::IVersion (readonly)

Function version this alias refers to.

Use lambda.currentVersion to reference a version with your latest changes.



99
100
101
# File 'lambda/alias_props.rb', line 99

def version
  @version
end

Class Method Details

.jsii_propertiesObject



101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lambda/alias_props.rb', line 101

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",
    :alias_name => "aliasName",
    :version => "version",
  }
end

Instance Method Details

#to_jsiiObject



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lambda/alias_props.rb', line 115

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,
    "aliasName" => @alias_name,
    "version" => @version,
  })
  result.compact
end