Class: AWSCDK::CfnHookVersionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cfn_hook_version_props.rb

Overview

Properties for defining a CfnHookVersion.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schema_handler_package:, type_name:, execution_role_arn: nil, logging_config: nil) ⇒ CfnHookVersionProps

Returns a new instance of CfnHookVersionProps.

Parameters:

  • schema_handler_package (String)

    A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register.

  • type_name (String)

    The unique name for your Hook.

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

    The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.

  • logging_config (AWSCDK::IResolvable, AWSCDK::CfnHookVersion::LoggingConfigProperty, nil) (defaults to: nil)

    Contains logging configuration information for an extension.



13
14
15
16
17
18
19
20
21
22
# File 'cfn_hook_version_props.rb', line 13

def initialize(schema_handler_package:, type_name:, execution_role_arn: nil, logging_config: nil)
  @schema_handler_package = schema_handler_package
  Jsii::Type.check_type(@schema_handler_package, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "schemaHandlerPackage")
  @type_name = type_name
  Jsii::Type.check_type(@type_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "typeName")
  @execution_role_arn = execution_role_arn
  Jsii::Type.check_type(@execution_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionRoleArn") unless @execution_role_arn.nil?
  @logging_config = logging_config.is_a?(Hash) ? ::AWSCDK::CfnHookVersion::LoggingConfigProperty.new(**logging_config.transform_keys(&:to_sym)) : logging_config
  Jsii::Type.check_type(@logging_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLkNmbkhvb2tWZXJzaW9uLkxvZ2dpbmdDb25maWdQcm9wZXJ0eSJ9XX19")), "loggingConfig") unless @logging_config.nil?
end

Instance Attribute Details

#execution_role_arnString? (readonly)

The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.



54
55
56
# File 'cfn_hook_version_props.rb', line 54

def execution_role_arn
  @execution_role_arn
end

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

Contains logging configuration information for an extension.



59
60
61
# File 'cfn_hook_version_props.rb', line 59

def logging_config
  @logging_config
end

#schema_handler_packageString (readonly)

A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register.

For information on generating a schema handler package, see Modeling custom CloudFormation Hooks in the CloudFormation Hooks User Guide .

To register the Hook, you must have s3:GetObject permissions to access the S3 objects.



32
33
34
# File 'cfn_hook_version_props.rb', line 32

def schema_handler_package
  @schema_handler_package
end

#type_nameString (readonly)

The unique name for your Hook.

Specifies a three-part namespace for your Hook, with a recommended pattern of Organization::Service::Hook .

The following organization namespaces are reserved and can't be used in your Hook type names:

  • Alexa
  • AMZN
  • Amazon
  • ASK
  • AWS
  • Custom
  • Dev


49
50
51
# File 'cfn_hook_version_props.rb', line 49

def type_name
  @type_name
end

Class Method Details

.jsii_propertiesObject



61
62
63
64
65
66
67
68
# File 'cfn_hook_version_props.rb', line 61

def self.jsii_properties
  {
    :schema_handler_package => "schemaHandlerPackage",
    :type_name => "typeName",
    :execution_role_arn => "executionRoleArn",
    :logging_config => "loggingConfig",
  }
end

Instance Method Details

#to_jsiiObject



70
71
72
73
74
75
76
77
78
79
# File 'cfn_hook_version_props.rb', line 70

def to_jsii
  result = {}
  result.merge!({
    "schemaHandlerPackage" => @schema_handler_package,
    "typeName" => @type_name,
    "executionRoleArn" => @execution_role_arn,
    "loggingConfig" => @logging_config,
  })
  result.compact
end