Class: Sgdoc::EC2::IpPermission
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Sgdoc::EC2::IpPermission
- Defined in:
- lib/sgdoc/ec2/ip_permission.rb
Constant Summary collapse
- ALL_STRING =
'all'
Instance Method Summary collapse
- #doc_description ⇒ Object
-
#initialize(ip_permission:, ip_range: nil, user_id_group_pair: nil) ⇒ IpPermission
constructor
A new instance of IpPermission.
- #port ⇒ Object
- #protocol ⇒ Object
- #target ⇒ Object
Constructor Details
#initialize(ip_permission:, ip_range: nil, user_id_group_pair: nil) ⇒ IpPermission
Returns a new instance of IpPermission.
6 7 8 9 10 11 12 |
# 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() end |
Instance Method Details
#doc_description ⇒ Object
39 40 41 42 |
# File 'lib/sgdoc/ec2/ip_permission.rb', line 39 def doc_description # TODO desriptionを出力する使用を考える(IPベースの設定ファイルでいいかも) ' ' end |
#port ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 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 ⇒ Object
15 16 17 |
# File 'lib/sgdoc/ec2/ip_permission.rb', line 15 def protocol ip_protocol == '-1' ? ALL_STRING : ip_protocol end |
#target ⇒ Object
35 36 37 |
# File 'lib/sgdoc/ec2/ip_permission.rb', line 35 def target @ip_range ? @ip_range.cidr_ip : @user_id_group_pair.group_id end |