Class: AWSCDK::EC2::CfnLaunchTemplate::EnaSrdSpecificationProperty

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

Overview

ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances.

With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ena_srd_enabled: nil, ena_srd_udp_specification: nil) ⇒ EnaSrdSpecificationProperty

Returns a new instance of EnaSrdSpecificationProperty.

Parameters:



1332
1333
1334
1335
1336
1337
# File 'ec2/cfn_launch_template.rb', line 1332

def initialize(ena_srd_enabled: nil, ena_srd_udp_specification: nil)
  @ena_srd_enabled = ena_srd_enabled
  Jsii::Type.check_type(@ena_srd_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enaSrdEnabled") unless @ena_srd_enabled.nil?
  @ena_srd_udp_specification = ena_srd_udp_specification.is_a?(Hash) ? ::AWSCDK::EC2::CfnLaunchTemplate::EnaSrdUDPSpecificationProperty.new(**ena_srd_udp_specification.transform_keys(&:to_sym)) : ena_srd_udp_specification
  Jsii::Type.check_type(@ena_srd_udp_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuTGF1bmNoVGVtcGxhdGUuRW5hU3JkVWRwU3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "enaSrdUdpSpecification") unless @ena_srd_udp_specification.nil?
end

Instance Attribute Details

#ena_srd_enabledBoolean, ... (readonly)

Indicates whether ENA Express is enabled for the network interface.



1343
1344
1345
# File 'ec2/cfn_launch_template.rb', line 1343

def ena_srd_enabled
  @ena_srd_enabled
end

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

Configures ENA Express for UDP network traffic.



1348
1349
1350
# File 'ec2/cfn_launch_template.rb', line 1348

def ena_srd_udp_specification
  @ena_srd_udp_specification
end

Class Method Details

.jsii_propertiesObject



1350
1351
1352
1353
1354
1355
# File 'ec2/cfn_launch_template.rb', line 1350

def self.jsii_properties
  {
    :ena_srd_enabled => "enaSrdEnabled",
    :ena_srd_udp_specification => "enaSrdUdpSpecification",
  }
end

Instance Method Details

#to_jsiiObject



1357
1358
1359
1360
1361
1362
1363
1364
# File 'ec2/cfn_launch_template.rb', line 1357

def to_jsii
  result = {}
  result.merge!({
    "enaSrdEnabled" => @ena_srd_enabled,
    "enaSrdUdpSpecification" => @ena_srd_udp_specification,
  })
  result.compact
end