Class: AWSCDK::Greengrassv2::CfnComponentVersionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
greengrassv2/cfn_component_version_props.rb

Overview

Properties for defining a CfnComponentVersion.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(inline_recipe: nil, lambda_function: nil, tags: nil) ⇒ CfnComponentVersionProps

Returns a new instance of CfnComponentVersionProps.

Parameters:



12
13
14
15
16
17
18
19
# File 'greengrassv2/cfn_component_version_props.rb', line 12

def initialize(inline_recipe: nil, lambda_function: nil, tags: nil)
  @inline_recipe = inline_recipe
  Jsii::Type.check_type(@inline_recipe, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "inlineRecipe") unless @inline_recipe.nil?
  @lambda_function = lambda_function.is_a?(Hash) ? ::AWSCDK::Greengrassv2::CfnComponentVersion::LambdaFunctionRecipeSourceProperty.new(**lambda_function.transform_keys(&:to_sym)) : lambda_function
  Jsii::Type.check_type(@lambda_function, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ncmVlbmdyYXNzdjIuQ2ZuQ29tcG9uZW50VmVyc2lvbi5MYW1iZGFGdW5jdGlvblJlY2lwZVNvdXJjZVByb3BlcnR5In1dfX0=")), "lambdaFunction") unless @lambda_function.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
end

Instance Attribute Details

#inline_recipeString? (readonly)

The recipe to use to create the component.

The recipe defines the component's metadata, parameters, dependencies, lifecycle, artifacts, and platform compatibility.

You must specify either InlineRecipe or LambdaFunction .



29
30
31
# File 'greengrassv2/cfn_component_version_props.rb', line 29

def inline_recipe
  @inline_recipe
end

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

The parameters to create a component from a Lambda function.

You must specify either InlineRecipe or LambdaFunction .



36
37
38
# File 'greengrassv2/cfn_component_version_props.rb', line 36

def lambda_function
  @lambda_function
end

#tagsHash{String => String}? (readonly)

Application-specific metadata to attach to the component version.

You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see Tag your AWS IoT Greengrass Version 2 resources in the AWS IoT Greengrass V2 Developer Guide .

This Json property type is processed as a map of key-value pairs. It uses the following format, which is different from most Tags implementations in CloudFormation templates.

"Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value"
}


50
51
52
# File 'greengrassv2/cfn_component_version_props.rb', line 50

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



52
53
54
55
56
57
58
# File 'greengrassv2/cfn_component_version_props.rb', line 52

def self.jsii_properties
  {
    :inline_recipe => "inlineRecipe",
    :lambda_function => "lambdaFunction",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



60
61
62
63
64
65
66
67
68
# File 'greengrassv2/cfn_component_version_props.rb', line 60

def to_jsii
  result = {}
  result.merge!({
    "inlineRecipe" => @inline_recipe,
    "lambdaFunction" => @lambda_function,
    "tags" => @tags,
  })
  result.compact
end