Class: AWSCDK::EC2::CfnIPAMProps

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

Overview

Properties for defining a CfnIPAM.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default_resource_discovery_organizational_unit_exclusions: nil, description: nil, enable_private_gua: nil, metered_account: nil, operating_regions: nil, tags: nil, tier: nil) ⇒ CfnIPAMProps

Returns a new instance of CfnIPAMProps.

Parameters:



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'ec2/cfn_ipam_props.rb', line 16

def initialize(default_resource_discovery_organizational_unit_exclusions: nil, description: nil, enable_private_gua: nil, metered_account: nil, operating_regions: nil, tags: nil, tier: nil)
  @default_resource_discovery_organizational_unit_exclusions = default_resource_discovery_organizational_unit_exclusions
  Jsii::Type.check_type(@default_resource_discovery_organizational_unit_exclusions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkNmbklQQU0uSXBhbU9yZ2FuaXphdGlvbmFsVW5pdEV4Y2x1c2lvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "defaultResourceDiscoveryOrganizationalUnitExclusions") unless @default_resource_discovery_organizational_unit_exclusions.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @enable_private_gua = enable_private_gua
  Jsii::Type.check_type(@enable_private_gua, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enablePrivateGua") unless @enable_private_gua.nil?
  @metered_account = 
  Jsii::Type.check_type(@metered_account, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "meteredAccount") unless @metered_account.nil?
  @operating_regions = operating_regions
  Jsii::Type.check_type(@operating_regions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkNmbklQQU0uSXBhbU9wZXJhdGluZ1JlZ2lvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "operatingRegions") unless @operating_regions.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?
  @tier = tier
  Jsii::Type.check_type(@tier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tier") unless @tier.nil?
end

Instance Attribute Details

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

If your IPAM is integrated with AWS Organizations, you can exclude an organizational unit (OU) from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see Exclude organizational units from IPAM in the Amazon Virtual Private Cloud IP Address Manager User Guide .



37
38
39
# File 'ec2/cfn_ipam_props.rb', line 37

def default_resource_discovery_organizational_unit_exclusions
  @default_resource_discovery_organizational_unit_exclusions
end

#descriptionString? (readonly)

The description for the IPAM.



42
43
44
# File 'ec2/cfn_ipam_props.rb', line 42

def description
  @description
end

#enable_private_guaBoolean, ... (readonly)

Enable this option to use your own GUA ranges as private IPv6 addresses.

This option is disabled by default.



49
50
51
# File 'ec2/cfn_ipam_props.rb', line 49

def enable_private_gua
  @enable_private_gua
end

#metered_accountString? (readonly)

A metered account is an AWS account that is charged for active IP addresses managed in IPAM.

For more information, see Enable cost distribution in the Amazon VPC IPAM User Guide .

Possible values:

  • ipam-owner (default): The AWS account which owns the IPAM is charged for all active IP addresses managed in IPAM.
  • resource-owner : The AWS account that owns the IP address is charged for the active IP address.


61
62
63
# File 'ec2/cfn_ipam_props.rb', line 61

def 
  @metered_account
end

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

The operating Regions for an IPAM.

Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.

For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide .



70
71
72
# File 'ec2/cfn_ipam_props.rb', line 70

def operating_regions
  @operating_regions
end

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

The key/value combination of a tag assigned to the resource.

Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA , specify tag:Owner for the filter name and TeamA for the filter value.



77
78
79
# File 'ec2/cfn_ipam_props.rb', line 77

def tags
  @tags
end

#tierString? (readonly)

IPAM is offered in a Free Tier and an Advanced Tier.

For more information about the features available in each tier and the costs associated with the tiers, see the VPC IPAM product pricing page .



84
85
86
# File 'ec2/cfn_ipam_props.rb', line 84

def tier
  @tier
end

Class Method Details

.jsii_propertiesObject



86
87
88
89
90
91
92
93
94
95
96
# File 'ec2/cfn_ipam_props.rb', line 86

def self.jsii_properties
  {
    :default_resource_discovery_organizational_unit_exclusions => "defaultResourceDiscoveryOrganizationalUnitExclusions",
    :description => "description",
    :enable_private_gua => "enablePrivateGua",
    :metered_account => "meteredAccount",
    :operating_regions => "operatingRegions",
    :tags => "tags",
    :tier => "tier",
  }
end

Instance Method Details

#to_jsiiObject



98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'ec2/cfn_ipam_props.rb', line 98

def to_jsii
  result = {}
  result.merge!({
    "defaultResourceDiscoveryOrganizationalUnitExclusions" => @default_resource_discovery_organizational_unit_exclusions,
    "description" => @description,
    "enablePrivateGua" => @enable_private_gua,
    "meteredAccount" => @metered_account,
    "operatingRegions" => @operating_regions,
    "tags" => @tags,
    "tier" => @tier,
  })
  result.compact
end