class Sgdoc::EC2::IpPermission

Constants

ALL_STRING

Public Class Methods

new(ip_permission:, ip_range: nil, user_id_group_pair: nil) click to toggle source
Calls superclass method
# File lib/sgdoc/ec2/ip_permission.rb, line 6
def initialize(ip_permission:, ip_range: nil, user_id_group_pair: nil)
  raise StandardError, 'Unknown pattern of IpPermission, at least must need ip_range or user_id_group_pair' if ip_range.nil? && user_id_group_pair.nil?

  @ip_range = ip_range
  @user_id_group_pair = user_id_group_pair
  super(ip_permission)
end

Public Instance Methods

doc_description() click to toggle source
# File lib/sgdoc/ec2/ip_permission.rb, line 39
def doc_description
  # TODO desriptionを出力する使用を考える(IPベースの設定ファイルでいいかも)
  ' '
end
port() click to toggle source

docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Types/IpPermission.html#from_port-instance_method docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Types/IpPermission.html#to_port-instance_method

# File lib/sgdoc/ec2/ip_permission.rb, line 21
def port
  if protocol == ALL_STRING
    ALL_STRING
  elsif from_port == -1 && to_port == -1
    'ICMP ALL'
  elsif from_port == -1 || to_port == -1
    'CUSTOM ICMP'
  elsif from_port == to_port
    from_port
  else
    "#{from_port} - #{to_port}"
  end
end
protocol() click to toggle source

docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Types/IpPermission.html#ip_protocol-instance_method

# File lib/sgdoc/ec2/ip_permission.rb, line 15
def protocol
  ip_protocol == '-1' ? ALL_STRING : ip_protocol
end
target() click to toggle source
# File lib/sgdoc/ec2/ip_permission.rb, line 35
def target
  @ip_range ? @ip_range.cidr_ip : @user_id_group_pair.group_id
end