Class: AWSCDK::Lambda::CfnNetworkConnectorProps

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

Overview

Properties for defining a CfnNetworkConnector.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration:, name: nil, operator_role: nil, tags: nil) ⇒ CfnNetworkConnectorProps

Returns a new instance of CfnNetworkConnectorProps.

Parameters:

  • configuration (AWSCDK::IResolvable, AWSCDK::Lambda::CfnNetworkConnector::ConfigProperty)

    The network configuration for the connector.

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

    A unique name for the network connector within your account and Region.

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

    The ARN of the IAM role that Lambda assumes to manage elastic network interfaces in your VPC.

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

    A list of tags to apply to the network connector.



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

def initialize(configuration:, name: nil, operator_role: nil, tags: nil)
  @configuration = configuration.is_a?(Hash) ? ::AWSCDK::Lambda::CfnNetworkConnector::ConfigProperty.new(**configuration.transform_keys(&:to_sym)) : configuration
  Jsii::Type.check_type(@configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuQ2ZuTmV0d29ya0Nvbm5lY3Rvci5Db25maWdQcm9wZXJ0eSJ9XX19")), "configuration")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @operator_role = operator_role
  Jsii::Type.check_type(@operator_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "operatorRole") unless @operator_role.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

#configurationAWSCDK::IResolvable, AWSCDK::Lambda::CfnNetworkConnector::ConfigProperty (readonly)

The network configuration for the connector.

Specify a VpcEgressConfiguration to enable outbound traffic routing through your VPC.



30
31
32
# File 'lambda/cfn_network_connector_props.rb', line 30

def configuration
  @configuration
end

#nameString? (readonly)

A unique name for the network connector within your account and Region.

Must be 1 to 64 alphanumeric characters, hyphens, or underscores.



37
38
39
# File 'lambda/cfn_network_connector_props.rb', line 37

def name
  @name
end

#operator_roleString? (readonly)

The ARN of the IAM role that Lambda assumes to manage elastic network interfaces in your VPC.

This role must have permissions for ec2:CreateNetworkInterface and related describe operations.



44
45
46
# File 'lambda/cfn_network_connector_props.rb', line 44

def operator_role
  @operator_role
end

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

A list of tags to apply to the network connector.

Use tags to categorize network connectors for cost allocation, access control, or operational management.



51
52
53
# File 'lambda/cfn_network_connector_props.rb', line 51

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



53
54
55
56
57
58
59
60
# File 'lambda/cfn_network_connector_props.rb', line 53

def self.jsii_properties
  {
    :configuration => "configuration",
    :name => "name",
    :operator_role => "operatorRole",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



62
63
64
65
66
67
68
69
70
71
# File 'lambda/cfn_network_connector_props.rb', line 62

def to_jsii
  result = {}
  result.merge!({
    "configuration" => @configuration,
    "name" => @name,
    "operatorRole" => @operator_role,
    "tags" => @tags,
  })
  result.compact
end