require 'fog/aws/models/compute/network_acl' module Fog module Compute class AWS class NetworkAcls < Fog::Collection attribute :filters model Fog::Compute::AWS::NetworkAcl # Creates a new network ACL # # AWS.network_acls.new # # ==== Returns # # Returns the details of the new network ACL # #>> # def initialize(attributes) self.filters ||= {} super end # Returns an array of all network ACLs that have been created # # AWS.network_acls.all # # ==== Returns # # Returns an array of all network ACLs # #>> AWS.network_acls.all # {}, # "portRange" => {}, # "ruleNumber" => 32767, # "protocol" => -1, # "ruleAction" => "deny", # "egress" => false, # "cidrBlock" => "0.0.0.0/0" # }, # { # "icmpTypeCode" => {}, # "portRange" => {}, # "ruleNumber" => 32767, # "protocol" => -1, # "ruleAction" => "deny", # "egress" => true, # "cidrBlock" => "0.0.0.0/0" # } # ], # associations=[ # { # "networkAclAssociationId" => "aclassoc-abcdefgh", # "networkAclId" => "acl-abcdefgh", # "subnetId" => "subnet-abcdefgh" # } # ], # tags={} # > # ] # > # def all(filters_arg = filters) filters = filters_arg data = service.describe_network_acls(filters).body load(data['networkAclSet']) end # Used to retrieve a network interface # network interface id is required to get any information # # You can run the following command to get the details: # AWS.network_interfaces.get("eni-11223344") # # ==== Returns # #>> AWS.network_acls.get("acl-abcdefgh") # {}, # "portRange" => {}, # "ruleNumber" => 32767, # "protocol" => -1, # "ruleAction" => "deny", # "egress" => false, # "cidrBlock" => "0.0.0.0/0" # }, # { # "icmpTypeCode" => {}, # "portRange" => {}, # "ruleNumber" => 32767, # "protocol" => -1, # "ruleAction" => "deny", # "egress" => true, # "cidrBlock" => "0.0.0.0/0" # } # ], # associations=[ # { # "networkAclAssociationId" => "aclassoc-abcdefgh", # "networkAclId" => "acl-abcdefgh", # "subnetId" => "subnet-abcdefgh" # } # ], # tags={} # > def get(nacl_id) self.class.new(:service => service).all('network-acl-id' => nacl_id).first if nacl_id end end end end end