Class: AWSCDK::EC2::CfnNetworkInterfaceAttachment::EnaSrdSpecificationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/cfn_network_interface_attachment.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:



573
574
575
576
577
578
# File 'ec2/cfn_network_interface_attachment.rb', line 573

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::CfnNetworkInterfaceAttachment::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("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuTmV0d29ya0ludGVyZmFjZUF0dGFjaG1lbnQuRW5hU3JkVWRwU3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "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.



584
585
586
# File 'ec2/cfn_network_interface_attachment.rb', line 584

def ena_srd_enabled
  @ena_srd_enabled
end

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

Configures ENA Express for UDP network traffic.



589
590
591
# File 'ec2/cfn_network_interface_attachment.rb', line 589

def ena_srd_udp_specification
  @ena_srd_udp_specification
end

Class Method Details

.jsii_propertiesObject



591
592
593
594
595
596
# File 'ec2/cfn_network_interface_attachment.rb', line 591

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

Instance Method Details

#to_jsiiObject



598
599
600
601
602
603
604
605
# File 'ec2/cfn_network_interface_attachment.rb', line 598

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