# File lib/fog/aws/requests/compute/allocate_address.rb, line 29
        def allocate_address(domain = 'standard')
          unless describe_addresses.body['addressesSet'].size < self.data[:limits][:addresses]
            raise Fog::Compute::AWS::Error, "AddressLimitExceeded => Too many addresses allocated"
          end

          response = Excon::Response.new
          response.status = 200

          domain    = domain == 'vpc' ? 'vpc' : 'standard'
          public_ip = Fog::AWS::Mock.ip_address

          data = {
            'instanceId' => nil,
            'publicIp'   => public_ip,
            'domain'     => domain,
            :origin      => domain
          }

          if domain == 'vpc'
            data['allocationId'] = "eipalloc-#{Fog::Mock.random_hex(8)}"
          end

          self.data[:addresses][public_ip] = data
          response.body = data.reject {|k, v| k == 'instanceId' }.merge('requestId' => Fog::AWS::Mock.request_id)
          response
        end