class Formatron::CloudFormation::Template::VPC::Subnet::NAT
generates CloudFormation
Chef
Server resources
Constants
- ROUTE_PREFIX
- ROUTE_TABLE_PREFIX
Public Class Methods
new( nat:, key_pair:, administrator_name:, administrator_password:, availability_zone:, subnet_guid:, hosted_zone_name:, vpc_guid:, vpc_cidr:, kms_key:, private_hosted_zone_id:, public_hosted_zone_id:, bucket:, name:, target: )
click to toggle source
rubocop:disable Metrics/MethodLength rubocop:disable Metrics/ParameterLists
# File lib/formatron/cloud_formation/template/vpc/subnet/nat.rb, line 15 def initialize( nat:, key_pair:, administrator_name:, administrator_password:, availability_zone:, subnet_guid:, hosted_zone_name:, vpc_guid:, vpc_cidr:, kms_key:, private_hosted_zone_id:, public_hosted_zone_id:, bucket:, name:, target: ) @nat = nat guid = @nat.guid @vpc_cidr = vpc_cidr @vpc_id = "#{VPC::VPC_PREFIX}#{vpc_guid}" @instance_id = "#{Instance::INSTANCE_PREFIX}#{guid}" @route_table_id = "#{ROUTE_TABLE_PREFIX}#{guid}" @route_id = "#{ROUTE_PREFIX}#{guid}" _set_os _add_setup_script _set_source_dest_check @instance = Instance.new( instance: nat, key_pair: key_pair, administrator_name: administrator_name, administrator_password: administrator_password, availability_zone: availability_zone, subnet_guid: subnet_guid, hosted_zone_name: hosted_zone_name, vpc_guid: vpc_guid, vpc_cidr: @vpc_cidr, kms_key: kms_key, private_hosted_zone_id: private_hosted_zone_id, public_hosted_zone_id: public_hosted_zone_id, bucket: bucket, name: name, target: target ) end
Public Instance Methods
merge(resources:, outputs:)
click to toggle source
# File lib/formatron/cloud_formation/template/vpc/subnet/nat.rb, line 80 def merge(resources:, outputs:) _add_route_table resources @instance.merge resources: resources, outputs: outputs end
Private Instance Methods
_add_route_table(resources)
click to toggle source
# File lib/formatron/cloud_formation/template/vpc/subnet/nat.rb, line 85 def _add_route_table(resources) resources[@route_table_id] = Resources::EC2.route_table( vpc: @vpc_id ) resources[@route_id] = Resources::EC2.route( route_table: @route_table_id, instance: @instance_id ) end
_add_setup_script()
click to toggle source
# File lib/formatron/cloud_formation/template/vpc/subnet/nat.rb, line 69 def _add_setup_script @nat.setup do |setup| scripts = setup.script scripts.unshift Scripts.nat cidr: @vpc_cidr end end
_set_os()
click to toggle source
rubocop:enable Metrics/ParameterLists rubocop:enable Metrics/MethodLength
# File lib/formatron/cloud_formation/template/vpc/subnet/nat.rb, line 63 def _set_os @nat.os( 'ubuntu' ) end
_set_source_dest_check()
click to toggle source
# File lib/formatron/cloud_formation/template/vpc/subnet/nat.rb, line 76 def _set_source_dest_check @nat.source_dest_check false end