class Formatron::CloudFormation::Template::VPC::Subnet::Bastion

generates CloudFormation Bastion resources

Public Class Methods

new( bastion:, 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/bastion.rb, line 12
def initialize(
  bastion:,
  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:
)
  @bastion = bastion
  _set_os
  _add_open_ports
  @instance = Instance.new(
    instance: bastion,
    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/bastion.rb, line 65
def merge(resources:, outputs:)
  @instance.merge resources: resources, outputs: outputs
end

Private Instance Methods

_add_open_ports() click to toggle source
# File lib/formatron/cloud_formation/template/vpc/subnet/bastion.rb, line 59
def _add_open_ports
  @bastion.security_group do |security_group|
    security_group.open_tcp_port 22
  end
end
_set_os() click to toggle source

rubocop:enable Metrics/ParameterLists rubocop:enable Metrics/MethodLength

# File lib/formatron/cloud_formation/template/vpc/subnet/bastion.rb, line 53
def _set_os
  @bastion.os(
    'ubuntu'
  )
end