def replace_network_acl_association(association_id, network_acl_id)
response = Excon::Response.new
if self.data[:network_acls][network_acl_id]
old_nacl = self.data[:network_acls].values.find do |n|
n['associationSet'].find { |assoc| assoc['networkAclAssociationId'] == association_id }
end
unless old_nacl
raise Fog::Compute::AWS::Error.new("Invalid association_id #{association_id}")
end
subnet_id = old_nacl['associationSet'].find { |assoc| assoc['networkAclAssociationId'] == association_id }['subnetId']
old_nacl['associationSet'].delete_if { |assoc| assoc['networkAclAssociationId'] == association_id }
id = Fog::AWS::Mock.network_acl_association_id
self.data[:network_acls][network_acl_id]['associationSet'] << {
'networkAclAssociationId' => id,
'networkAclId' => network_acl_id,
'subnetId' => subnet_id,
}
response.status = 200
response.body = {
'requestId' => Fog::AWS::Mock.request_id,
'newAssociationId' => id
}
response
else
raise Fog::Compute::AWS::NotFound.new("The network ACL '#{network_acl_id}' does not exist")
end
end