class Stax::Aws::Sg

Public Class Methods

authorize(id, cidr, port = 22) click to toggle source
# File lib/stax/aws/sg.rb, line 17
def authorize(id, cidr, port = 22)
  client.authorize_security_group_ingress(
    group_id:    id,
    ip_protocol: :tcp,
    from_port:   port,
    to_port:     port,
    cidr_ip:     cidr,
  )
rescue ::Aws::EC2::Errors::InvalidPermissionDuplicate => e
  warn(e.message)
end
authorize_sg(id, sg, port) click to toggle source
# File lib/stax/aws/sg.rb, line 29
def authorize_sg(id, sg, port)
  client.authorize_security_group_ingress(
    group_id: id,
    ip_permissions: [
      {
        ip_protocol: :tcp,
        from_port: port,
        to_port: port,
        user_id_group_pairs: [ { group_id: sg } ],
      }
    ]
  )
rescue ::Aws::EC2::Errors::InvalidPermissionDuplicate => e
  warn(e.message)
end
client() click to toggle source
# File lib/stax/aws/sg.rb, line 9
def client
  @_client ||= ::Aws::EC2::Client.new
end
describe(ids) click to toggle source
# File lib/stax/aws/sg.rb, line 13
def describe(ids)
  client.describe_security_groups(group_ids: Array(ids)).security_groups
end
revoke(id, cidr, port = 22) click to toggle source
# File lib/stax/aws/sg.rb, line 45
def revoke(id, cidr, port = 22)
  client.revoke_security_group_ingress(
    group_id:    id,
    ip_protocol: :tcp,
    from_port:   port,
    to_port:     port,
    cidr_ip:     cidr,
  )
rescue ::Aws::EC2::Errors::InvalidPermissionNotFound => e
  warn(e.message)
end
revoke_sg(id, sg, port) click to toggle source
# File lib/stax/aws/sg.rb, line 57
def revoke_sg(id, sg, port)
  client.revoke_security_group_ingress(
    group_id: id,
    ip_permissions: [
      {
        ip_protocol: :tcp,
        from_port: port,
        to_port: port,
        user_id_group_pairs: [ { group_id: sg } ],
      }
    ]
  )
rescue ::Aws::EC2::Errors::InvalidPermissionNotFound => e
  warn(e.message)
end