Class: AWSCDK::Lambda::CfnVersionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
lambda/cfn_version_props.rb

Overview

Properties for defining a CfnVersion.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(function_name:, code_sha256: nil, description: nil, function_scaling_config: nil, provisioned_concurrency_config: nil, runtime_policy: nil) ⇒ CfnVersionProps

Returns a new instance of CfnVersionProps.

Parameters:



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

def initialize(function_name:, code_sha256: nil, description: nil, function_scaling_config: nil, provisioned_concurrency_config: nil, runtime_policy: nil)
  @function_name = function_name
  Jsii::Type.check_type(@function_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19sYW1iZGEuSUZ1bmN0aW9uUmVmIn1dfX0=")), "functionName")
  @code_sha256 = code_sha256
  Jsii::Type.check_type(@code_sha256, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "codeSha256") unless @code_sha256.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @function_scaling_config = function_scaling_config.is_a?(Hash) ? ::AWSCDK::Lambda::CfnVersion::FunctionScalingConfigProperty.new(**function_scaling_config.transform_keys(&:to_sym)) : function_scaling_config
  Jsii::Type.check_type(@function_scaling_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuQ2ZuVmVyc2lvbi5GdW5jdGlvblNjYWxpbmdDb25maWdQcm9wZXJ0eSJ9XX19")), "functionScalingConfig") unless @function_scaling_config.nil?
  @provisioned_concurrency_config = provisioned_concurrency_config.is_a?(Hash) ? ::AWSCDK::Lambda::CfnVersion::ProvisionedConcurrencyConfigurationProperty.new(**provisioned_concurrency_config.transform_keys(&:to_sym)) : provisioned_concurrency_config
  Jsii::Type.check_type(@provisioned_concurrency_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuQ2ZuVmVyc2lvbi5Qcm92aXNpb25lZENvbmN1cnJlbmN5Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "provisionedConcurrencyConfig") unless @provisioned_concurrency_config.nil?
  @runtime_policy = runtime_policy.is_a?(Hash) ? ::AWSCDK::Lambda::CfnVersion::RuntimePolicyProperty.new(**runtime_policy.transform_keys(&:to_sym)) : runtime_policy
  Jsii::Type.check_type(@runtime_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuQ2ZuVmVyc2lvbi5SdW50aW1lUG9saWN5UHJvcGVydHkifV19fQ==")), "runtimePolicy") unless @runtime_policy.nil?
end

Instance Attribute Details

#code_sha256String? (readonly)

Only publish a version if the hash value matches the value that's specified.

Use this option to avoid publishing a version if the function code has changed since you last updated it. Updates are not supported for this property.



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

def code_sha256
  @code_sha256
end

#descriptionString? (readonly)

A description for the version to override the description in the function configuration.

Updates are not supported for this property.



55
56
57
# File 'lambda/cfn_version_props.rb', line 55

def description
  @description
end

#function_nameString, AWSCDK::Interfaces::AWSLambda::IFunctionRef (readonly)

The name or ARN of the Lambda function.

Name formats - Function name - MyFunction .

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction .
  • Partial ARN - 123456789012:function:MyFunction .

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.



41
42
43
# File 'lambda/cfn_version_props.rb', line 41

def function_name
  @function_name
end

#function_scaling_configAWSCDK::IResolvable, ... (readonly)

Configuration that defines the scaling behavior for a Lambda Managed Instances function, including the minimum and maximum number of execution environments that can be provisioned.



60
61
62
# File 'lambda/cfn_version_props.rb', line 60

def function_scaling_config
  @function_scaling_config
end

#provisioned_concurrency_configAWSCDK::IResolvable, ... (readonly)

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

Updates are not supported for this property.



67
68
69
# File 'lambda/cfn_version_props.rb', line 67

def provisioned_concurrency_config
  @provisioned_concurrency_config
end

#runtime_policyAWSCDK::IResolvable, ... (readonly)

Runtime Management Config of a function.



72
73
74
# File 'lambda/cfn_version_props.rb', line 72

def runtime_policy
  @runtime_policy
end

Class Method Details

.jsii_propertiesObject



74
75
76
77
78
79
80
81
82
83
# File 'lambda/cfn_version_props.rb', line 74

def self.jsii_properties
  {
    :function_name => "functionName",
    :code_sha256 => "codeSha256",
    :description => "description",
    :function_scaling_config => "functionScalingConfig",
    :provisioned_concurrency_config => "provisionedConcurrencyConfig",
    :runtime_policy => "runtimePolicy",
  }
end

Instance Method Details

#to_jsiiObject



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

def to_jsii
  result = {}
  result.merge!({
    "functionName" => @function_name,
    "codeSha256" => @code_sha256,
    "description" => @description,
    "functionScalingConfig" => @function_scaling_config,
    "provisionedConcurrencyConfig" => @provisioned_concurrency_config,
    "runtimePolicy" => @runtime_policy,
  })
  result.compact
end