Class: AWSCDK::EC2::CfnVPCCIDRBlockProps

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

Overview

Properties for defining a CfnVPCCidrBlock.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(vpc_id:, amazon_provided_ipv6_cidr_block: nil, cidr_block: nil, ipv4_ipam_pool_id: nil, ipv4_netmask_length: nil, ipv6_cidr_block: nil, ipv6_cidr_block_network_border_group: nil, ipv6_ipam_pool_id: nil, ipv6_netmask_length: nil, ipv6_pool: nil) ⇒ CfnVPCCIDRBlockProps

Returns a new instance of CfnVPCCIDRBlockProps.

Parameters:

  • vpc_id (String, AWSCDK::Interfaces::AWSEC2::IVPCRef)

    The ID of the VPC.

  • amazon_provided_ipv6_cidr_block (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC.

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

    An IPv4 CIDR block to associate with the VPC.

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

    Associate a CIDR allocated from an IPv4 IPAM pool to a VPC.

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

    The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool.

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

    An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

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

    The name of the location from which we advertise the IPV6 CIDR block.

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

    Associates a CIDR allocated from an IPv6 IPAM pool to a VPC.

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

    The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool.

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

    The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.



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

def initialize(vpc_id:, amazon_provided_ipv6_cidr_block: nil, cidr_block: nil, ipv4_ipam_pool_id: nil, ipv4_netmask_length: nil, ipv6_cidr_block: nil, ipv6_cidr_block_network_border_group: nil, ipv6_ipam_pool_id: nil, ipv6_netmask_length: nil, ipv6_pool: nil)
  @vpc_id = vpc_id
  Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVZQQ1JlZiJ9XX19")), "vpcId")
  @amazon_provided_ipv6_cidr_block = amazon_provided_ipv6_cidr_block
  Jsii::Type.check_type(@amazon_provided_ipv6_cidr_block, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "amazonProvidedIpv6CidrBlock") unless @amazon_provided_ipv6_cidr_block.nil?
  @cidr_block = cidr_block
  Jsii::Type.check_type(@cidr_block, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cidrBlock") unless @cidr_block.nil?
  @ipv4_ipam_pool_id = ipv4_ipam_pool_id
  Jsii::Type.check_type(@ipv4_ipam_pool_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipv4IpamPoolId") unless @ipv4_ipam_pool_id.nil?
  @ipv4_netmask_length = ipv4_netmask_length
  Jsii::Type.check_type(@ipv4_netmask_length, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "ipv4NetmaskLength") unless @ipv4_netmask_length.nil?
  @ipv6_cidr_block = ipv6_cidr_block
  Jsii::Type.check_type(@ipv6_cidr_block, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipv6CidrBlock") unless @ipv6_cidr_block.nil?
  @ipv6_cidr_block_network_border_group = ipv6_cidr_block_network_border_group
  Jsii::Type.check_type(@ipv6_cidr_block_network_border_group, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipv6CidrBlockNetworkBorderGroup") unless @ipv6_cidr_block_network_border_group.nil?
  @ipv6_ipam_pool_id = ipv6_ipam_pool_id
  Jsii::Type.check_type(@ipv6_ipam_pool_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipv6IpamPoolId") unless @ipv6_ipam_pool_id.nil?
  @ipv6_netmask_length = ipv6_netmask_length
  Jsii::Type.check_type(@ipv6_netmask_length, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "ipv6NetmaskLength") unless @ipv6_netmask_length.nil?
  @ipv6_pool = ipv6_pool
  Jsii::Type.check_type(@ipv6_pool, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipv6Pool") unless @ipv6_pool.nil?
end

Instance Attribute Details

#amazon_provided_ipv6_cidr_blockBoolean, ... (readonly)

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC.

You cannot specify the range of IPv6 addresses or the size of the CIDR block.



53
54
55
# File 'ec2/cfn_vpccidr_block_props.rb', line 53

def amazon_provided_ipv6_cidr_block
  @amazon_provided_ipv6_cidr_block
end

#cidr_blockString? (readonly)

An IPv4 CIDR block to associate with the VPC.



58
59
60
# File 'ec2/cfn_vpccidr_block_props.rb', line 58

def cidr_block
  @cidr_block
end

#ipv4_ipam_pool_idString? (readonly)

Associate a CIDR allocated from an IPv4 IPAM pool to a VPC.

For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide .



65
66
67
# File 'ec2/cfn_vpccidr_block_props.rb', line 65

def ipv4_ipam_pool_id
  @ipv4_ipam_pool_id
end

#ipv4_netmask_lengthNumeric? (readonly)

The netmask length of the IPv4 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool.

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide .



72
73
74
# File 'ec2/cfn_vpccidr_block_props.rb', line 72

def ipv4_netmask_length
  @ipv4_netmask_length
end

#ipv6_cidr_blockString? (readonly)

An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.



79
80
81
# File 'ec2/cfn_vpccidr_block_props.rb', line 79

def ipv6_cidr_block
  @ipv6_cidr_block
end

#ipv6_cidr_block_network_border_groupString? (readonly)

The name of the location from which we advertise the IPV6 CIDR block.

Use this parameter to limit the CIDR block to this location.

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

You can have one IPv6 CIDR block association per network border group.



90
91
92
# File 'ec2/cfn_vpccidr_block_props.rb', line 90

def ipv6_cidr_block_network_border_group
  @ipv6_cidr_block_network_border_group
end

#ipv6_ipam_pool_idString? (readonly)

Associates a CIDR allocated from an IPv6 IPAM pool to a VPC.

For more information about Amazon VPC IP Address Manager (IPAM), see What is IPAM? in the Amazon VPC IPAM User Guide .



97
98
99
# File 'ec2/cfn_vpccidr_block_props.rb', line 97

def ipv6_ipam_pool_id
  @ipv6_ipam_pool_id
end

#ipv6_netmask_lengthNumeric? (readonly)

The netmask length of the IPv6 CIDR you would like to associate from an Amazon VPC IP Address Manager (IPAM) pool.

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide .



104
105
106
# File 'ec2/cfn_vpccidr_block_props.rb', line 104

def ipv6_netmask_length
  @ipv6_netmask_length
end

#ipv6_poolString? (readonly)

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.



109
110
111
# File 'ec2/cfn_vpccidr_block_props.rb', line 109

def ipv6_pool
  @ipv6_pool
end

#vpc_idString, AWSCDK::Interfaces::AWSEC2::IVPCRef (readonly)

The ID of the VPC.



46
47
48
# File 'ec2/cfn_vpccidr_block_props.rb', line 46

def vpc_id
  @vpc_id
end

Class Method Details

.jsii_propertiesObject



111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'ec2/cfn_vpccidr_block_props.rb', line 111

def self.jsii_properties
  {
    :vpc_id => "vpcId",
    :amazon_provided_ipv6_cidr_block => "amazonProvidedIpv6CidrBlock",
    :cidr_block => "cidrBlock",
    :ipv4_ipam_pool_id => "ipv4IpamPoolId",
    :ipv4_netmask_length => "ipv4NetmaskLength",
    :ipv6_cidr_block => "ipv6CidrBlock",
    :ipv6_cidr_block_network_border_group => "ipv6CidrBlockNetworkBorderGroup",
    :ipv6_ipam_pool_id => "ipv6IpamPoolId",
    :ipv6_netmask_length => "ipv6NetmaskLength",
    :ipv6_pool => "ipv6Pool",
  }
end

Instance Method Details

#to_jsiiObject



126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'ec2/cfn_vpccidr_block_props.rb', line 126

def to_jsii
  result = {}
  result.merge!({
    "vpcId" => @vpc_id,
    "amazonProvidedIpv6CidrBlock" => @amazon_provided_ipv6_cidr_block,
    "cidrBlock" => @cidr_block,
    "ipv4IpamPoolId" => @ipv4_ipam_pool_id,
    "ipv4NetmaskLength" => @ipv4_netmask_length,
    "ipv6CidrBlock" => @ipv6_cidr_block,
    "ipv6CidrBlockNetworkBorderGroup" => @ipv6_cidr_block_network_border_group,
    "ipv6IpamPoolId" => @ipv6_ipam_pool_id,
    "ipv6NetmaskLength" => @ipv6_netmask_length,
    "ipv6Pool" => @ipv6_pool,
  })
  result.compact
end