Class: AWSCDK::AppConfig::CfnExtensionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_config/cfn_extension_props.rb

Overview

Properties for defining a CfnExtension.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(actions:, name:, description: nil, latest_version_number: nil, parameters: nil, tags: nil) ⇒ CfnExtensionProps

Returns a new instance of CfnExtensionProps.

Parameters:

  • actions (Object)

    The actions defined in the extension.

  • name (String)

    A name for the extension.

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

    Information about the extension.

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

    You can omit this field when you create an extension.

  • parameters (AWSCDK::IResolvable, Hash{String => AWSCDK::IResolvable, AWSCDK::AppConfig::CfnExtension::ParameterProperty}, nil) (defaults to: nil)

    The parameters accepted by the extension.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Adds one or more tags for the specified extension.



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

def initialize(actions:, name:, description: nil, latest_version_number: nil, parameters: nil, tags: nil)
  @actions = actions
  Jsii::Type.check_type(@actions, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "actions")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @latest_version_number = latest_version_number
  Jsii::Type.check_type(@latest_version_number, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "latestVersionNumber") unless @latest_version_number.nil?
  @parameters = parameters
  Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwY29uZmlnLkNmbkV4dGVuc2lvbi5QYXJhbWV0ZXJQcm9wZXJ0eSJ9XX19LCJraW5kIjoibWFwIn19XX19")), "parameters") unless @parameters.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#actionsObject (readonly)

The actions defined in the extension.



34
35
36
# File 'app_config/cfn_extension_props.rb', line 34

def actions
  @actions
end

#descriptionString? (readonly)

Information about the extension.



46
47
48
# File 'app_config/cfn_extension_props.rb', line 46

def description
  @description
end

#latest_version_numberNumeric? (readonly)

You can omit this field when you create an extension.

When you create a new version, specify the most recent current version number. For example, you create version 3, enter 2 for this field.



53
54
55
# File 'app_config/cfn_extension_props.rb', line 53

def latest_version_number
  @latest_version_number
end

#nameString (readonly)

A name for the extension.

Each extension name in your account must be unique. Extension versions use the same name.



41
42
43
# File 'app_config/cfn_extension_props.rb', line 41

def name
  @name
end

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

The parameters accepted by the extension.

You specify parameter values when you associate the extension to an AWS AppConfig resource by using the CreateExtensionAssociation API action. For AWS Lambda extension actions, these parameters are included in the Lambda request object.



60
61
62
# File 'app_config/cfn_extension_props.rb', line 60

def parameters
  @parameters
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Adds one or more tags for the specified extension.

Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.



67
68
69
# File 'app_config/cfn_extension_props.rb', line 67

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



69
70
71
72
73
74
75
76
77
78
# File 'app_config/cfn_extension_props.rb', line 69

def self.jsii_properties
  {
    :actions => "actions",
    :name => "name",
    :description => "description",
    :latest_version_number => "latestVersionNumber",
    :parameters => "parameters",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



80
81
82
83
84
85
86
87
88
89
90
91
# File 'app_config/cfn_extension_props.rb', line 80

def to_jsii
  result = {}
  result.merge!({
    "actions" => @actions,
    "name" => @name,
    "description" => @description,
    "latestVersionNumber" => @latest_version_number,
    "parameters" => @parameters,
    "tags" => @tags,
  })
  result.compact
end