Class: AWSCDK::VPCLattice::CfnResourceGatewayProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
vpc_lattice/cfn_resource_gateway_props.rb

Overview

Properties for defining a CfnResourceGateway.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, subnet_ids:, vpc_identifier:, ip_address_type: nil, ipv4_addresses_per_eni: nil, resource_config_dns_resolution: nil, security_group_ids: nil, tags: nil) ⇒ CfnResourceGatewayProps

Returns a new instance of CfnResourceGatewayProps.

Parameters:

  • name (String)

    The name of the resource gateway.

  • subnet_ids (Array<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef>)

    The IDs of the VPC subnets for the resource gateway.

  • vpc_identifier (String)

    The ID of the VPC for the resource gateway.

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

    The type of IP address used by the resource gateway.

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

    The number of IPv4 addresses in each ENI for the resource gateway.

  • resource_config_dns_resolution (String, nil) (defaults to: nil)
  • security_group_ids (Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>, nil) (defaults to: nil)

    The IDs of the security groups applied to the resource gateway.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The tags for the resource gateway.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 17

def initialize(name:, subnet_ids:, vpc_identifier:, ip_address_type: nil, ipv4_addresses_per_eni: nil, resource_config_dns_resolution: nil, security_group_ids: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @subnet_ids = subnet_ids
  Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU3VibmV0UmVmIn1dfX0sImtpbmQiOiJhcnJheSJ9fQ==")), "subnetIds")
  @vpc_identifier = vpc_identifier
  Jsii::Type.check_type(@vpc_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcIdentifier")
  @ip_address_type = ip_address_type
  Jsii::Type.check_type(@ip_address_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipAddressType") unless @ip_address_type.nil?
  @ipv4_addresses_per_eni = ipv4_addresses_per_eni
  Jsii::Type.check_type(@ipv4_addresses_per_eni, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "ipv4AddressesPerEni") unless @ipv4_addresses_per_eni.nil?
  @resource_config_dns_resolution = resource_config_dns_resolution
  Jsii::Type.check_type(@resource_config_dns_resolution, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceConfigDnsResolution") unless @resource_config_dns_resolution.nil?
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU2VjdXJpdHlHcm91cFJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.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?
end

Instance Attribute Details

#ip_address_typeString? (readonly)

The type of IP address used by the resource gateway.



55
56
57
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 55

def ip_address_type
  @ip_address_type
end

#ipv4_addresses_per_eniNumeric? (readonly)

The number of IPv4 addresses in each ENI for the resource gateway.



60
61
62
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 60

def ipv4_addresses_per_eni
  @ipv4_addresses_per_eni
end

#nameString (readonly)

The name of the resource gateway.



40
41
42
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 40

def name
  @name
end

#resource_config_dns_resolutionString? (readonly)



63
64
65
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 63

def resource_config_dns_resolution
  @resource_config_dns_resolution
end

#security_group_idsArray<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>? (readonly)

The IDs of the security groups applied to the resource gateway.



68
69
70
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 68

def security_group_ids
  @security_group_ids
end

#subnet_idsArray<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef> (readonly)

The IDs of the VPC subnets for the resource gateway.



45
46
47
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 45

def subnet_ids
  @subnet_ids
end

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

The tags for the resource gateway.



73
74
75
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 73

def tags
  @tags
end

#vpc_identifierString (readonly)

The ID of the VPC for the resource gateway.



50
51
52
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 50

def vpc_identifier
  @vpc_identifier
end

Class Method Details

.jsii_propertiesObject



75
76
77
78
79
80
81
82
83
84
85
86
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 75

def self.jsii_properties
  {
    :name => "name",
    :subnet_ids => "subnetIds",
    :vpc_identifier => "vpcIdentifier",
    :ip_address_type => "ipAddressType",
    :ipv4_addresses_per_eni => "ipv4AddressesPerEni",
    :resource_config_dns_resolution => "resourceConfigDnsResolution",
    :security_group_ids => "securityGroupIds",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'vpc_lattice/cfn_resource_gateway_props.rb', line 88

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "subnetIds" => @subnet_ids,
    "vpcIdentifier" => @vpc_identifier,
    "ipAddressType" => @ip_address_type,
    "ipv4AddressesPerEni" => @ipv4_addresses_per_eni,
    "resourceConfigDnsResolution" => @resource_config_dns_resolution,
    "securityGroupIds" => @security_group_ids,
    "tags" => @tags,
  })
  result.compact
end