Module: HammerCLIKatello::HostKickstartRepositoryOptions

Defined in:
lib/hammer_cli_katello/host_kickstart_repository_options.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
6
7
# File 'lib/hammer_cli_katello/host_kickstart_repository_options.rb', line 3

def self.included(base)
  base.option "--kickstart-repository", "REPOSITORY_NAME",
         _("Kickstart repository name "),
         :attribute_name => :option_kickstart_repository
end

Instance Method Details

#fetch_repo_id(cv_id, env_id, repo_name) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/hammer_cli_katello/host_kickstart_repository_options.rb', line 34

def fetch_repo_id(cv_id, env_id, repo_name)
  repo_resource = HammerCLIForeman.foreman_resource(:repositories)
  index_options = {
    :content_view_id => cv_id,
    :environment_id => env_id,
    :name => repo_name
  }
  repos = repo_resource.call(:index, index_options)["results"]
  if repos.empty?
    raise _("No such repository with name %{name}, in lifecycle environment"\
              " %{environment_id} and content view %{content_view_id}" % index_options)
  end
  repos.first["id"]
end

#request_paramsObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/hammer_cli_katello/host_kickstart_repository_options.rb', line 9

def request_params
  super.tap do |mod|
    resource_name = resource.singular_name
    if option_kickstart_repository && !option_kickstart_repository_id
      resource_hash = if resource_name == "hostgroup"
                        mod[resource_name]
                      else
                        mod[resource_name]["content_facet_attributes"]
                      end

      resource_hash ||= {}

      env_id = resource_hash["lifecycle_environment_id"]
      cv_id = resource_hash["content_view_id"]

      raise _("Please provide --lifecycle-environment-id") unless env_id

      raise _("Please provide --content-view-id") unless cv_id

      resource_hash["kickstart_repository_id"] = fetch_repo_id(cv_id, env_id,
                                                               option_kickstart_repository)
    end
  end
end