Class: AWSCDK::EC2::CfnNetworkInsightsPathProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/cfn_network_insights_path_props.rb

Overview

Properties for defining a CfnNetworkInsightsPath.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(protocol:, source:, destination: nil, destination_ip: nil, destination_port: nil, filter_at_destination: nil, filter_at_source: nil, source_ip: nil, tags: nil) ⇒ CfnNetworkInsightsPathProps

Returns a new instance of CfnNetworkInsightsPathProps.

Parameters:

  • protocol (String)

    The protocol.

  • source (String)

    The ID or ARN of the source.

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

    The ID or ARN of the destination.

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

    The IP address of the destination.

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

    The destination port.

  • filter_at_destination (AWSCDK::IResolvable, AWSCDK::EC2::CfnNetworkInsightsPath::PathFilterProperty, nil) (defaults to: nil)

    Scopes the analysis to network paths that match specific filters at the destination.

  • filter_at_source (AWSCDK::IResolvable, AWSCDK::EC2::CfnNetworkInsightsPath::PathFilterProperty, nil) (defaults to: nil)

    Scopes the analysis to network paths that match specific filters at the source.

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

    The IP address of the source.

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

    The tags to add to the path.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'ec2/cfn_network_insights_path_props.rb', line 18

def initialize(protocol:, source:, destination: nil, destination_ip: nil, destination_port: nil, filter_at_destination: nil, filter_at_source: nil, source_ip: nil, tags: nil)
  @protocol = protocol
  Jsii::Type.check_type(@protocol, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "protocol")
  @source = source
  Jsii::Type.check_type(@source, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "source")
  @destination = destination
  Jsii::Type.check_type(@destination, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destination") unless @destination.nil?
  @destination_ip = destination_ip
  Jsii::Type.check_type(@destination_ip, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationIp") unless @destination_ip.nil?
  @destination_port = destination_port
  Jsii::Type.check_type(@destination_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "destinationPort") unless @destination_port.nil?
  @filter_at_destination = filter_at_destination.is_a?(Hash) ? ::AWSCDK::EC2::CfnNetworkInsightsPath::PathFilterProperty.new(**filter_at_destination.transform_keys(&:to_sym)) : filter_at_destination
  Jsii::Type.check_type(@filter_at_destination, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuTmV0d29ya0luc2lnaHRzUGF0aC5QYXRoRmlsdGVyUHJvcGVydHkifV19fQ==")), "filterAtDestination") unless @filter_at_destination.nil?
  @filter_at_source = filter_at_source.is_a?(Hash) ? ::AWSCDK::EC2::CfnNetworkInsightsPath::PathFilterProperty.new(**filter_at_source.transform_keys(&:to_sym)) : filter_at_source
  Jsii::Type.check_type(@filter_at_source, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuTmV0d29ya0luc2lnaHRzUGF0aC5QYXRoRmlsdGVyUHJvcGVydHkifV19fQ==")), "filterAtSource") unless @filter_at_source.nil?
  @source_ip = source_ip
  Jsii::Type.check_type(@source_ip, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceIp") unless @source_ip.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

#destinationString? (readonly)

The ID or ARN of the destination.

If the resource is in another account, you must specify an ARN.



57
58
59
# File 'ec2/cfn_network_insights_path_props.rb', line 57

def destination
  @destination
end

#destination_ipString? (readonly)

The IP address of the destination.



62
63
64
# File 'ec2/cfn_network_insights_path_props.rb', line 62

def destination_ip
  @destination_ip
end

#destination_portNumeric? (readonly)

The destination port.



67
68
69
# File 'ec2/cfn_network_insights_path_props.rb', line 67

def destination_port
  @destination_port
end

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

Scopes the analysis to network paths that match specific filters at the destination.

If you specify this parameter, you can't specify the parameter for the destination IP address.



74
75
76
# File 'ec2/cfn_network_insights_path_props.rb', line 74

def filter_at_destination
  @filter_at_destination
end

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

Scopes the analysis to network paths that match specific filters at the source.

If you specify this parameter, you can't specify the parameters for the source IP address or the destination port.



81
82
83
# File 'ec2/cfn_network_insights_path_props.rb', line 81

def filter_at_source
  @filter_at_source
end

#protocolString (readonly)

The protocol.



43
44
45
# File 'ec2/cfn_network_insights_path_props.rb', line 43

def protocol
  @protocol
end

#sourceString (readonly)

The ID or ARN of the source.

If the resource is in another account, you must specify an ARN.



50
51
52
# File 'ec2/cfn_network_insights_path_props.rb', line 50

def source
  @source
end

#source_ipString? (readonly)

The IP address of the source.



86
87
88
# File 'ec2/cfn_network_insights_path_props.rb', line 86

def source_ip
  @source_ip
end

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

The tags to add to the path.



91
92
93
# File 'ec2/cfn_network_insights_path_props.rb', line 91

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'ec2/cfn_network_insights_path_props.rb', line 93

def self.jsii_properties
  {
    :protocol => "protocol",
    :source => "source",
    :destination => "destination",
    :destination_ip => "destinationIp",
    :destination_port => "destinationPort",
    :filter_at_destination => "filterAtDestination",
    :filter_at_source => "filterAtSource",
    :source_ip => "sourceIp",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'ec2/cfn_network_insights_path_props.rb', line 107

def to_jsii
  result = {}
  result.merge!({
    "protocol" => @protocol,
    "source" => @source,
    "destination" => @destination,
    "destinationIp" => @destination_ip,
    "destinationPort" => @destination_port,
    "filterAtDestination" => @filter_at_destination,
    "filterAtSource" => @filter_at_source,
    "sourceIp" => @source_ip,
    "tags" => @tags,
  })
  result.compact
end