Class: AWSCDK::Greengrass::CfnFunctionDefinitionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
greengrass/cfn_function_definition_props.rb

Overview

Properties for defining a CfnFunctionDefinition.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, initial_version: nil, tags: nil) ⇒ CfnFunctionDefinitionProps

Returns a new instance of CfnFunctionDefinitionProps.

Parameters:



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

def initialize(name:, initial_version: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @initial_version = initial_version.is_a?(Hash) ? ::AWSCDK::Greengrass::CfnFunctionDefinition::FunctionDefinitionVersionProperty.new(**initial_version.transform_keys(&:to_sym)) : initial_version
  Jsii::Type.check_type(@initial_version, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ncmVlbmdyYXNzLkNmbkZ1bmN0aW9uRGVmaW5pdGlvbi5GdW5jdGlvbkRlZmluaXRpb25WZXJzaW9uUHJvcGVydHkifV19fQ==")), "initialVersion") unless @initial_version.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "tags") unless @tags.nil?
end

Instance Attribute Details

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

The function definition version to include when the function definition is created.

A function definition version contains a list of function property types.

To associate a function definition version after the function definition is created, create an AWS::Greengrass::FunctionDefinitionVersion resource and specify the ID of this function definition.



34
35
36
# File 'greengrass/cfn_function_definition_props.rb', line 34

def initial_version
  @initial_version
end

#nameString (readonly)

The name of the function definition.



25
26
27
# File 'greengrass/cfn_function_definition_props.rb', line 25

def name
  @name
end

#tagsObject? (readonly)

Application-specific metadata to attach to the function definition.

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 Tagging Your AWS IoT Greengrass Resources in the 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"
}


48
49
50
# File 'greengrass/cfn_function_definition_props.rb', line 48

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



50
51
52
53
54
55
56
# File 'greengrass/cfn_function_definition_props.rb', line 50

def self.jsii_properties
  {
    :name => "name",
    :initial_version => "initialVersion",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



58
59
60
61
62
63
64
65
66
# File 'greengrass/cfn_function_definition_props.rb', line 58

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "initialVersion" => @initial_version,
    "tags" => @tags,
  })
  result.compact
end