Sha256: e4938e4589dee39709993ad612702f75f3fc118f499865e058e052e38a97f056

Contents?: true

Size: 1.77 KB

Versions: 55

Compression:

Stored size: 1.77 KB

Contents

module ForemanInventoryUpload
  module Generators
    class Queries
      def self.fact_names
        @fact_names ||= Hash[
          Katello::RhsmFactName.where(name:
            [
              'dmi::system::uuid',
              'virt::uuid',
              'cpu::cpu(s)',
              'cpu::cpu_socket(s)',
              'cpu::core(s)_per_socket',
              'memory::memtotal',
              'dmi::bios::vendor',
              'dmi::bios::version',
              'dmi::bios::relase_date',
              'distribution::name',
              'uname::release',
              'lscpu::flags',
              'distribution::version',
              'distribution::id',
              'virt::is_guest',
              'dmi::system::manufacturer',
              'dmi::system::product_name',
              'dmi::chassis::asset_tag',
              'insights_client::obfuscate_hostname_enabled',
              'insights_client::obfuscate_ip_enabled',
              'insights_client::hostname',
              'insights_client::ips',
              'insights_id',
            ]).pluck(:name, :id)
          ]
      end

      def self.for_slice(base)
        base
          .search_for("not params.#{InsightsCloud.enable_client_param} = f")
          .joins(:subscription_facet)
          .preload(
            :interfaces,
            :installed_packages,
            :content_facet,
            :host_statuses,
            :inventory_upload_facts,
            subscription_facet: [:pools, :installed_products, :hypervisor_host]
          )
      end

      def self.for_org(organization_id, use_batches: true)
        base_query = for_slice(Host.unscoped.where(organization_id: organization_id))
        use_batches ? base_query.in_batches(of: ForemanInventoryUpload.slice_size) : base_query
      end
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
foreman_rh_cloud-10.0.3 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.59 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-11.0.2 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-11.0.1 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-11.0.0 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.58 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-10.0.2 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.57 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-10.0.1 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.56 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.55 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.54 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.53 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.52 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-8.0.52 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-9.0.51 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-8.0.51 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-7.0.48 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-7.0.47 lib/foreman_inventory_upload/generators/queries.rb
foreman_rh_cloud-8.0.50 lib/foreman_inventory_upload/generators/queries.rb