Class: Formatron::CloudFormation::Template::VPC::Subnet::ACL
- Inherits:
-
Object
- Object
- Formatron::CloudFormation::Template::VPC::Subnet::ACL
- Defined in:
- lib/formatron/cloud_formation/template/vpc/subnet/acl.rb
Overview
generates CloudFormation ACL resources rubocop:disable Metrics/ClassLength
Constant Summary collapse
- NETWORK_ACL_PREFIX =
'networkAcl'
- SUBNET_NETWORK_ACL_ASSOCIATION_PREFIX =
'subnetNetworkAclAssociation'
- VPC_INBOUND_NETWORK_ACL_ENTRY_PREFIX =
'vpcInboundNetworkAclEntry'
- EXTERNAL_INBOUND_TCP_NETWORK_ACL_ENTRY_PREFIX =
'externalInboundTcpNetworkAclEntry'
- EXTERNAL_INBOUND_UDP_NETWORK_ACL_ENTRY_PREFIX =
'externalInboundUdpNetworkAclEntry'
- OUTBOUND_NETWORK_ACL_ENTRY_PREFIX =
'outboundNetworkAclEntry'
- EXTERNAL_INBOUND_NETWORK_ACL_ENTRY_PREFIX =
'externalInboundNetworkAclEntry'
- EPHEMERAL_PORT_START =
1024
- EPHEMERAL_PORT_END =
65_535
Instance Method Summary collapse
-
#initialize(acl:, subnet_guid:, vpc_guid:, vpc_cidr:) ⇒ ACL
constructor
rubocop:disable Metrics/MethodLength.
-
#merge(resources:) ⇒ Object
rubocop:disable Metrics/MethodLength.
Constructor Details
#initialize(acl:, subnet_guid:, vpc_guid:, vpc_cidr:) ⇒ ACL
rubocop:disable Metrics/MethodLength
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/formatron/cloud_formation/template/vpc/subnet/acl.rb', line 29 def initialize(acl:, subnet_guid:, vpc_guid:, vpc_cidr:) @acl = acl @subnet_guid = subnet_guid @vpc_guid = vpc_guid @vpc_cidr = vpc_cidr @network_acl_id = "#{NETWORK_ACL_PREFIX}#{@subnet_guid}" @subnet_network_acl_association_id = "#{SUBNET_NETWORK_ACL_ASSOCIATION_PREFIX}#{@subnet_guid}" @vpc_id = "#{VPC::VPC_PREFIX}#{@vpc_guid}" @subnet_id = "#{Subnet::SUBNET_PREFIX}#{@subnet_guid}" @network_acl_entry_vpc_inbound_id = "#{VPC_INBOUND_NETWORK_ACL_ENTRY_PREFIX}#{@subnet_guid}" @network_acl_entry_external_inbound_tcp_id = "#{EXTERNAL_INBOUND_TCP_NETWORK_ACL_ENTRY_PREFIX}" \ "#{@subnet_guid}" @network_acl_entry_external_inbound_udp_id = "#{EXTERNAL_INBOUND_UDP_NETWORK_ACL_ENTRY_PREFIX}" \ "#{@subnet_guid}" @network_acl_entry_outbound_id = "#{OUTBOUND_NETWORK_ACL_ENTRY_PREFIX}#{@subnet_guid}" @source_cidrs = @acl.source_cidr end |
Instance Method Details
#merge(resources:) ⇒ Object
rubocop:disable Metrics/MethodLength
54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/formatron/cloud_formation/template/vpc/subnet/acl.rb', line 54 def merge(resources:) return if @source_cidrs.length == 0 resources[@network_acl_id] = Resources::EC2.network_acl( vpc: @vpc_id ) resources[@subnet_network_acl_association_id] = Resources::EC2.subnet_network_acl_association( subnet: @subnet_id, network_acl: @network_acl_id ) _add_default_rules resources _add_source_cidrs resources end |