Class: AWSCDK::EVS::CfnEnvironment::InitialVlansProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
evs/cfn_environment.rb

Overview

The initial VLAN subnets for the environment.

Amazon EVS VLAN subnets have a minimum CIDR block size of /28 and a maximum size of /24. Amazon EVS VLAN subnet CIDR blocks must not overlap with other subnets in the VPC.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(edge_v_tep:, expansion_vlan1:, expansion_vlan2:, hcx:, nsx_up_link:, vmk_management:, vm_management:, v_motion:, v_san:, v_tep:, hcx_network_acl_id: nil, is_hcx_public: nil) ⇒ InitialVlansProperty

Returns a new instance of InitialVlansProperty.

Parameters:



995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
# File 'evs/cfn_environment.rb', line 995

def initialize(edge_v_tep:, expansion_vlan1:, expansion_vlan2:, hcx:, nsx_up_link:, vmk_management:, vm_management:, v_motion:, v_san:, v_tep:, hcx_network_acl_id: nil, is_hcx_public: nil)
  @edge_v_tep = edge_v_tep.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**edge_v_tep.transform_keys(&:to_sym)) : edge_v_tep
  Jsii::Type.check_type(@edge_v_tep, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "edgeVTep")
  @expansion_vlan1 = expansion_vlan1.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**expansion_vlan1.transform_keys(&:to_sym)) : expansion_vlan1
  Jsii::Type.check_type(@expansion_vlan1, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "expansionVlan1")
  @expansion_vlan2 = expansion_vlan2.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**expansion_vlan2.transform_keys(&:to_sym)) : expansion_vlan2
  Jsii::Type.check_type(@expansion_vlan2, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "expansionVlan2")
  @hcx = hcx.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**hcx.transform_keys(&:to_sym)) : hcx
  Jsii::Type.check_type(@hcx, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "hcx")
  @nsx_up_link = nsx_up_link.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**nsx_up_link.transform_keys(&:to_sym)) : nsx_up_link
  Jsii::Type.check_type(@nsx_up_link, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "nsxUpLink")
  @vmk_management = vmk_management.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**vmk_management.transform_keys(&:to_sym)) : vmk_management
  Jsii::Type.check_type(@vmk_management, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "vmkManagement")
  @vm_management = vm_management.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**vm_management.transform_keys(&:to_sym)) : vm_management
  Jsii::Type.check_type(@vm_management, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "vmManagement")
  @v_motion = v_motion.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**v_motion.transform_keys(&:to_sym)) : v_motion
  Jsii::Type.check_type(@v_motion, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "vMotion")
  @v_san = v_san.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**v_san.transform_keys(&:to_sym)) : v_san
  Jsii::Type.check_type(@v_san, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "vSan")
  @v_tep = v_tep.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty.new(**v_tep.transform_keys(&:to_sym)) : v_tep
  Jsii::Type.check_type(@v_tep, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5JbmZvUHJvcGVydHkifV19fQ==")), "vTep")
  @hcx_network_acl_id = hcx_network_acl_id
  Jsii::Type.check_type(@hcx_network_acl_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hcxNetworkAclId") unless @hcx_network_acl_id.nil?
  @is_hcx_public = is_hcx_public
  Jsii::Type.check_type(@is_hcx_public, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "isHcxPublic") unless @is_hcx_public.nil?
end

Instance Attribute Details

#edge_v_tepAWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

The edge VTEP VLAN subnet.

This VLAN subnet manages traffic flowing between the internal network and external networks, including internet access and other site connections.



1028
1029
1030
# File 'evs/cfn_environment.rb', line 1028

def edge_v_tep
  @edge_v_tep
end

#expansion_vlan1AWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

An additional VLAN subnet that can be used to extend VCF capabilities once configured.

For example, you can configure an expansion VLAN subnet to use NSX Federation for centralized management and synchronization of multiple NSX deployments across different locations.



1035
1036
1037
# File 'evs/cfn_environment.rb', line 1035

def expansion_vlan1
  @expansion_vlan1
end

#expansion_vlan2AWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

An additional VLAN subnet that can be used to extend VCF capabilities once configured.

For example, you can configure an expansion VLAN subnet to use NSX Federation for centralized management and synchronization of multiple NSX deployments across different locations.



1042
1043
1044
# File 'evs/cfn_environment.rb', line 1042

def expansion_vlan2
  @expansion_vlan2
end

#hcxAWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

The HCX VLAN subnet.

This VLAN subnet allows the HCX Interconnnect (IX) and HCX Network Extension (NE) to reach their peers and enable HCX Service Mesh creation.

If you plan to use a public HCX VLAN subnet, the following requirements must be met:

  • Must have a /28 netmask and be allocated from the IPAM public pool. Required for HCX internet access configuration.
  • The HCX public VLAN CIDR block must be added to the VPC as a secondary CIDR block.
  • Must have at least two Elastic IP addresses to be allocated from the public IPAM pool for HCX components.


1055
1056
1057
# File 'evs/cfn_environment.rb', line 1055

def hcx
  @hcx
end

#hcx_network_acl_idString? (readonly)

A unique ID for a network access control list that the HCX VLAN uses.

Required when is_hcx_public is set to true .



1104
1105
1106
# File 'evs/cfn_environment.rb', line 1104

def hcx_network_acl_id
  @hcx_network_acl_id
end

#is_hcx_publicBoolean, ... (readonly)

Determines if the HCX VLAN that Amazon EVS provisions is public or private.



1109
1110
1111
# File 'evs/cfn_environment.rb', line 1109

def is_hcx_public
  @is_hcx_public
end

The NSX uplink VLAN subnet.

This VLAN subnet allows connectivity to the NSX overlay network.



1062
1063
1064
# File 'evs/cfn_environment.rb', line 1062

def nsx_up_link
  @nsx_up_link
end

#v_motionAWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

The vMotion VLAN subnet.

This VLAN subnet carries traffic for vSphere vMotion.



1083
1084
1085
# File 'evs/cfn_environment.rb', line 1083

def v_motion
  @v_motion
end

#v_sanAWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

The vSAN VLAN subnet.

This VLAN subnet carries the communication between ESXi hosts to implement a vSAN shared storage pool.



1090
1091
1092
# File 'evs/cfn_environment.rb', line 1090

def v_san
  @v_san
end

#v_tepAWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

The VTEP VLAN subnet.

This VLAN subnet handles internal network traffic between virtual machines within a VCF instance.



1097
1098
1099
# File 'evs/cfn_environment.rb', line 1097

def v_tep
  @v_tep
end

#vm_managementAWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

The VM management VLAN subnet.

This VLAN subnet carries traffic for vSphere virtual machines.



1076
1077
1078
# File 'evs/cfn_environment.rb', line 1076

def vm_management
  @vm_management
end

#vmk_managementAWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::InitialVlanInfoProperty (readonly)

The host VMkernel management VLAN subnet.

This VLAN subnet carries traffic for managing ESXi hosts and communicating with VMware vCenter Server.



1069
1070
1071
# File 'evs/cfn_environment.rb', line 1069

def vmk_management
  @vmk_management
end

Class Method Details

.jsii_propertiesObject



1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
# File 'evs/cfn_environment.rb', line 1111

def self.jsii_properties
  {
    :edge_v_tep => "edgeVTep",
    :expansion_vlan1 => "expansionVlan1",
    :expansion_vlan2 => "expansionVlan2",
    :hcx => "hcx",
    :nsx_up_link => "nsxUpLink",
    :vmk_management => "vmkManagement",
    :vm_management => "vmManagement",
    :v_motion => "vMotion",
    :v_san => "vSan",
    :v_tep => "vTep",
    :hcx_network_acl_id => "hcxNetworkAclId",
    :is_hcx_public => "isHcxPublic",
  }
end

Instance Method Details

#to_jsiiObject



1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
# File 'evs/cfn_environment.rb', line 1128

def to_jsii
  result = {}
  result.merge!({
    "edgeVTep" => @edge_v_tep,
    "expansionVlan1" => @expansion_vlan1,
    "expansionVlan2" => @expansion_vlan2,
    "hcx" => @hcx,
    "nsxUpLink" => @nsx_up_link,
    "vmkManagement" => @vmk_management,
    "vmManagement" => @vm_management,
    "vMotion" => @v_motion,
    "vSan" => @v_san,
    "vTep" => @v_tep,
    "hcxNetworkAclId" => @hcx_network_acl_id,
    "isHcxPublic" => @is_hcx_public,
  })
  result.compact
end