foreman_ansible 7.1.2 → 7.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/foreman_ansible/remote_execution.rb +0 -6
  3. data/lib/foreman_ansible/version.rb +1 -1
  4. metadata +39 -78
  5. data/app/views/foreman_ansible/job_templates/configure_cloud_connector_-_ansible_default.erb +0 -37
  6. data/lib/foreman_ansible/register.rb.orig +0 -257
  7. data/locale/ca/foreman_ansible.edit.po +0 -1162
  8. data/locale/ca/foreman_ansible.po.time_stamp +0 -0
  9. data/locale/cs_CZ/foreman_ansible.edit.po +0 -1207
  10. data/locale/cs_CZ/foreman_ansible.po.time_stamp +0 -0
  11. data/locale/de/foreman_ansible.edit.po +0 -1148
  12. data/locale/de/foreman_ansible.po.time_stamp +0 -0
  13. data/locale/en/foreman_ansible.edit.po +0 -1146
  14. data/locale/en/foreman_ansible.po.time_stamp +0 -0
  15. data/locale/en_GB/foreman_ansible.edit.po +0 -1155
  16. data/locale/en_GB/foreman_ansible.po.time_stamp +0 -0
  17. data/locale/es/foreman_ansible.edit.po +0 -1148
  18. data/locale/es/foreman_ansible.po.time_stamp +0 -0
  19. data/locale/fr/foreman_ansible.edit.po +0 -1148
  20. data/locale/fr/foreman_ansible.po.time_stamp +0 -0
  21. data/locale/gl/foreman_ansible.edit.po +0 -1156
  22. data/locale/gl/foreman_ansible.po.time_stamp +0 -0
  23. data/locale/it/foreman_ansible.edit.po +0 -1148
  24. data/locale/it/foreman_ansible.po.time_stamp +0 -0
  25. data/locale/ja/foreman_ansible.edit.po +0 -1148
  26. data/locale/ja/foreman_ansible.po.time_stamp +0 -0
  27. data/locale/ko/foreman_ansible.edit.po +0 -1148
  28. data/locale/ko/foreman_ansible.po.time_stamp +0 -0
  29. data/locale/nl_NL/foreman_ansible.edit.po +0 -1168
  30. data/locale/nl_NL/foreman_ansible.po.time_stamp +0 -0
  31. data/locale/pl/foreman_ansible.edit.po +0 -1180
  32. data/locale/pl/foreman_ansible.po.time_stamp +0 -0
  33. data/locale/pt_BR/foreman_ansible.edit.po +0 -1148
  34. data/locale/pt_BR/foreman_ansible.po.time_stamp +0 -0
  35. data/locale/ru/foreman_ansible.edit.po +0 -1149
  36. data/locale/ru/foreman_ansible.po.time_stamp +0 -0
  37. data/locale/sv_SE/foreman_ansible.edit.po +0 -1180
  38. data/locale/sv_SE/foreman_ansible.po.time_stamp +0 -0
  39. data/locale/zh_CN/foreman_ansible.edit.po +0 -1148
  40. data/locale/zh_CN/foreman_ansible.po.time_stamp +0 -0
  41. data/locale/zh_TW/foreman_ansible.edit.po +0 -1148
  42. data/locale/zh_TW/foreman_ansible.po.time_stamp +0 -0
  43. data/webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js.orig +0 -151
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ded4963f8ef2ac710b82d4ae1a6a20dceed5fbb577059981fab73fd07b61ad6a
4
- data.tar.gz: fd300c47edc4ce921b1a8500c183b3757fd3cf4acf8fb7d9377eafda98bd17b4
3
+ metadata.gz: 2754fa1c5a9834d8b174906f4848ce5ba7e5699a9c757e6761b24c1ced021f52
4
+ data.tar.gz: b9c7d3e372fbde5eb5a6e5b94af335293ec660b81511c23f4cd519868632988a
5
5
  SHA512:
6
- metadata.gz: b0717c5963bcabf982fdc647570e1a603dfb7794af517293bdd3f41d72e7158ad1ab8ad05930aa749f3ea8f79ab7f9ab20d3bd4de5568d12e79d25f8fdd83b0e
7
- data.tar.gz: 9edde27d8e6503d55def1157329c5dd63195c0ca6d339694b5144c3578e435dbe0cb946f08efa13bd95e6ae24006b45abec0cd5099c56bf751d5c067b8cb9085
6
+ metadata.gz: 933f56fb3c7eb0389397067189f9b64f7fc2ec44fb631e26b0943748b80c80f51b23e2897f4175ff4e8f28b5dbd1232e51641a429b07de1fd2786ba7d44fc4bc
7
+ data.tar.gz: d9c4973117fa530f4dfbd93720692a9331c1172b120f66aa6df4cb59f9dfe3162b2004c5f7e2e9b1f3bf99283524154fb2e1fe4a8045839c97823895a446a8e6
@@ -48,12 +48,6 @@ module ForemanAnsible
48
48
  :description => N_('Upgrade Capsules on given Capsule server hosts'),
49
49
  :proxy_selector_override => ::RemoteExecutionProxySelector::INTERNAL_PROXY
50
50
  )
51
- RemoteExecutionFeature.register(
52
- :ansible_configure_cloud_connector,
53
- N_('Configure Cloud Connector on given hosts'),
54
- :description => N_('Configure Cloud Connector on given hosts'),
55
- :proxy_selector_override => ::RemoteExecutionProxySelector::INTERNAL_PROXY
56
- )
57
51
  end
58
52
  end
59
53
  end
@@ -4,5 +4,5 @@
4
4
  # This way other parts of Foreman can just call ForemanAnsible::VERSION
5
5
  # and detect what version the plugin is running.
6
6
  module ForemanAnsible
7
- VERSION = '7.1.2'
7
+ VERSION = '7.1.3'
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_ansible
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.2
4
+ version: 7.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Lobato Garcia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-04 00:00:00.000000000 Z
11
+ date: 2022-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: acts_as_list
@@ -186,7 +186,6 @@ files:
186
186
  - app/views/foreman_ansible/job_templates/ansible_roles_-_install_from_git.erb
187
187
  - app/views/foreman_ansible/job_templates/ansible_windows_updates.erb
188
188
  - app/views/foreman_ansible/job_templates/capsule_upgrade_-_ansible_default.erb
189
- - app/views/foreman_ansible/job_templates/configure_cloud_connector_-_ansible_default.erb
190
189
  - app/views/foreman_ansible/job_templates/convert_to_rhel.erb
191
190
  - app/views/foreman_ansible/job_templates/maintenance_plan.erb
192
191
  - app/views/foreman_ansible/job_templates/module_action_-_ansible_default.erb
@@ -224,85 +223,48 @@ files:
224
223
  - lib/foreman_ansible.rb
225
224
  - lib/foreman_ansible/engine.rb
226
225
  - lib/foreman_ansible/register.rb
227
- - lib/foreman_ansible/register.rb.orig
228
226
  - lib/foreman_ansible/remote_execution.rb
229
227
  - lib/foreman_ansible/version.rb
230
228
  - locale/Makefile
231
229
  - locale/action_names.rb
232
230
  - locale/ca/LC_MESSAGES/foreman_ansible.mo
233
- - locale/ca/foreman_ansible.edit.po
234
231
  - locale/ca/foreman_ansible.po
235
- - locale/ca/foreman_ansible.po.time_stamp
236
232
  - locale/cs_CZ/LC_MESSAGES/foreman_ansible.mo
237
- - locale/cs_CZ/foreman_ansible.edit.po
238
233
  - locale/cs_CZ/foreman_ansible.po
239
- - locale/cs_CZ/foreman_ansible.po.time_stamp
240
234
  - locale/de/LC_MESSAGES/foreman_ansible.mo
241
- - locale/de/foreman_ansible.edit.po
242
235
  - locale/de/foreman_ansible.po
243
- - locale/de/foreman_ansible.po.time_stamp
244
236
  - locale/en/LC_MESSAGES/foreman_ansible.mo
245
- - locale/en/foreman_ansible.edit.po
246
237
  - locale/en/foreman_ansible.po
247
- - locale/en/foreman_ansible.po.time_stamp
248
238
  - locale/en_GB/LC_MESSAGES/foreman_ansible.mo
249
- - locale/en_GB/foreman_ansible.edit.po
250
239
  - locale/en_GB/foreman_ansible.po
251
- - locale/en_GB/foreman_ansible.po.time_stamp
252
240
  - locale/es/LC_MESSAGES/foreman_ansible.mo
253
- - locale/es/foreman_ansible.edit.po
254
241
  - locale/es/foreman_ansible.po
255
- - locale/es/foreman_ansible.po.time_stamp
256
242
  - locale/foreman_ansible.pot
257
243
  - locale/fr/LC_MESSAGES/foreman_ansible.mo
258
- - locale/fr/foreman_ansible.edit.po
259
244
  - locale/fr/foreman_ansible.po
260
- - locale/fr/foreman_ansible.po.time_stamp
261
245
  - locale/gemspec.rb
262
246
  - locale/gl/LC_MESSAGES/foreman_ansible.mo
263
- - locale/gl/foreman_ansible.edit.po
264
247
  - locale/gl/foreman_ansible.po
265
- - locale/gl/foreman_ansible.po.time_stamp
266
248
  - locale/it/LC_MESSAGES/foreman_ansible.mo
267
- - locale/it/foreman_ansible.edit.po
268
249
  - locale/it/foreman_ansible.po
269
- - locale/it/foreman_ansible.po.time_stamp
270
250
  - locale/ja/LC_MESSAGES/foreman_ansible.mo
271
- - locale/ja/foreman_ansible.edit.po
272
251
  - locale/ja/foreman_ansible.po
273
- - locale/ja/foreman_ansible.po.time_stamp
274
252
  - locale/ko/LC_MESSAGES/foreman_ansible.mo
275
- - locale/ko/foreman_ansible.edit.po
276
253
  - locale/ko/foreman_ansible.po
277
- - locale/ko/foreman_ansible.po.time_stamp
278
254
  - locale/nl_NL/LC_MESSAGES/foreman_ansible.mo
279
- - locale/nl_NL/foreman_ansible.edit.po
280
255
  - locale/nl_NL/foreman_ansible.po
281
- - locale/nl_NL/foreman_ansible.po.time_stamp
282
256
  - locale/pl/LC_MESSAGES/foreman_ansible.mo
283
- - locale/pl/foreman_ansible.edit.po
284
257
  - locale/pl/foreman_ansible.po
285
- - locale/pl/foreman_ansible.po.time_stamp
286
258
  - locale/pt_BR/LC_MESSAGES/foreman_ansible.mo
287
- - locale/pt_BR/foreman_ansible.edit.po
288
259
  - locale/pt_BR/foreman_ansible.po
289
- - locale/pt_BR/foreman_ansible.po.time_stamp
290
260
  - locale/ru/LC_MESSAGES/foreman_ansible.mo
291
- - locale/ru/foreman_ansible.edit.po
292
261
  - locale/ru/foreman_ansible.po
293
- - locale/ru/foreman_ansible.po.time_stamp
294
262
  - locale/sv_SE/LC_MESSAGES/foreman_ansible.mo
295
- - locale/sv_SE/foreman_ansible.edit.po
296
263
  - locale/sv_SE/foreman_ansible.po
297
- - locale/sv_SE/foreman_ansible.po.time_stamp
298
264
  - locale/zh_CN/LC_MESSAGES/foreman_ansible.mo
299
- - locale/zh_CN/foreman_ansible.edit.po
300
265
  - locale/zh_CN/foreman_ansible.po
301
- - locale/zh_CN/foreman_ansible.po.time_stamp
302
266
  - locale/zh_TW/LC_MESSAGES/foreman_ansible.mo
303
- - locale/zh_TW/foreman_ansible.edit.po
304
267
  - locale/zh_TW/foreman_ansible.po
305
- - locale/zh_TW/foreman_ansible.po.time_stamp
306
268
  - package.json
307
269
  - test/factories/ansible_proxy.rb
308
270
  - test/factories/ansible_roles.rb
@@ -376,7 +338,6 @@ files:
376
338
  - webpack/components/AnsibleHostDetail/components/JobsTab/NewRecurringJobModal.js
377
339
  - webpack/components/AnsibleHostDetail/components/JobsTab/NewRecurringJobModal.scss
378
340
  - webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js
379
- - webpack/components/AnsibleHostDetail/components/JobsTab/PreviousJobsTable.js.orig
380
341
  - webpack/components/AnsibleHostDetail/components/JobsTab/RecurringJobsTable.js
381
342
  - webpack/components/AnsibleHostDetail/components/JobsTab/__test__/JobsTab.fixtures.js
382
343
  - webpack/components/AnsibleHostDetail/components/JobsTab/__test__/JobsTab.test.js
@@ -497,55 +458,55 @@ required_rubygems_version: !ruby/object:Gem::Requirement
497
458
  - !ruby/object:Gem::Version
498
459
  version: '0'
499
460
  requirements: []
500
- rubygems_version: 3.3.7
461
+ rubygems_version: 3.2.26
501
462
  signing_key:
502
463
  specification_version: 4
503
464
  summary: Ansible integration with Foreman (theforeman.org)
504
465
  test_files:
466
+ - test/factories/ansible_proxy.rb
467
+ - test/factories/ansible_roles.rb
468
+ - test/factories/ansible_variables.rb
469
+ - test/factories/host_ansible_enhancements.rb
470
+ - test/fixtures/insights_playbook.yaml
471
+ - test/fixtures/playbooks_example_output.json
472
+ - test/fixtures/report.json
473
+ - test/fixtures/sample_facts.json
474
+ - test/fixtures/sample_playbooks.json
475
+ - test/foreman_ansible/helpers/ansible_roles_helper_test.rb
476
+ - test/functional/ansible_roles_controller_test.rb
477
+ - test/functional/ansible_variables_controller_test.rb
478
+ - test/functional/api/v2/ansible_inventories_controller_test.rb
505
479
  - test/functional/api/v2/ansible_playbooks_controller_test.rb
506
- - test/functional/api/v2/hosts_controller_test.rb
507
480
  - test/functional/api/v2/ansible_roles_controller_test.rb
508
- - test/functional/api/v2/hostgroups_controller_test.rb
509
481
  - test/functional/api/v2/ansible_variables_controller_test.rb
510
- - test/functional/api/v2/ansible_inventories_controller_test.rb
482
+ - test/functional/api/v2/hostgroups_controller_test.rb
483
+ - test/functional/api/v2/hosts_controller_test.rb
511
484
  - test/functional/hosts_controller_test.rb
512
- - test/functional/ansible_roles_controller_test.rb
513
- - test/functional/ansible_variables_controller_test.rb
514
485
  - test/functional/ui_ansible_roles_controller_test.rb
515
- - test/unit/services/inventory_creator_test.rb
516
- - test/unit/services/ansible_report_importer_test.rb
517
- - test/unit/services/ui_roles_importer_test.rb
518
- - test/unit/services/roles_importer_test.rb
519
- - test/unit/services/ansible_variables_importer_test.rb
520
- - test/unit/services/override_resolver_test.rb
521
- - test/unit/services/api_roles_importer_test.rb
522
- - test/unit/services/insights_plan_runner_test.rb
523
- - test/unit/ansible_role_test.rb
524
- - test/unit/host_ansible_role_test.rb
525
- - test/unit/import_playbooks_test.rb
526
- - test/unit/hostgroup_ansible_role_test.rb
527
- - test/unit/helpers/ansible_reports_helper_test.rb
486
+ - test/graphql/mutations/hosts/assign_ansible_roles_mutation_test.rb
487
+ - test/graphql/queries/ansible_roles_query_test.rb
488
+ - test/graphql/queries/host_ansible_roles_query_test.rb
489
+ - test/test_plugin_helper.rb
490
+ - test/unit/actions/run_ansible_job_test.rb
491
+ - test/unit/actions/run_proxy_ansible_command_test.rb
528
492
  - test/unit/ansible_provider_test.rb
529
- - test/unit/concerns/host_managed_extensions_test.rb
493
+ - test/unit/ansible_role_test.rb
494
+ - test/unit/ansible_variable_test.rb
530
495
  - test/unit/concerns/config_reports_extensions_test.rb
496
+ - test/unit/concerns/host_managed_extensions_test.rb
531
497
  - test/unit/concerns/hostgroup_extensions_test.rb
498
+ - test/unit/helpers/ansible_reports_helper_test.rb
499
+ - test/unit/host_ansible_role_test.rb
500
+ - test/unit/hostgroup_ansible_role_test.rb
532
501
  - test/unit/ignore_roles_test.rb
533
- - test/unit/ansible_variable_test.rb
502
+ - test/unit/import_playbooks_test.rb
534
503
  - test/unit/import_roles_and_variables.rb
535
504
  - test/unit/lib/proxy_api/ansible_test.rb
536
- - test/unit/actions/run_ansible_job_test.rb
537
- - test/unit/actions/run_proxy_ansible_command_test.rb
538
- - test/foreman_ansible/helpers/ansible_roles_helper_test.rb
539
- - test/test_plugin_helper.rb
540
- - test/factories/ansible_proxy.rb
541
- - test/factories/ansible_variables.rb
542
- - test/factories/host_ansible_enhancements.rb
543
- - test/factories/ansible_roles.rb
544
- - test/fixtures/playbooks_example_output.json
545
- - test/fixtures/report.json
546
- - test/fixtures/sample_facts.json
547
- - test/fixtures/insights_playbook.yaml
548
- - test/fixtures/sample_playbooks.json
549
- - test/graphql/mutations/hosts/assign_ansible_roles_mutation_test.rb
550
- - test/graphql/queries/host_ansible_roles_query_test.rb
551
- - test/graphql/queries/ansible_roles_query_test.rb
505
+ - test/unit/services/ansible_report_importer_test.rb
506
+ - test/unit/services/ansible_variables_importer_test.rb
507
+ - test/unit/services/api_roles_importer_test.rb
508
+ - test/unit/services/insights_plan_runner_test.rb
509
+ - test/unit/services/inventory_creator_test.rb
510
+ - test/unit/services/override_resolver_test.rb
511
+ - test/unit/services/roles_importer_test.rb
512
+ - test/unit/services/ui_roles_importer_test.rb
@@ -1,37 +0,0 @@
1
- <%#
2
- name: Configure Cloud Connector
3
- snippet: false
4
- template_inputs:
5
- - name: satellite_user
6
- required: true
7
- input_type: user
8
- advanced: false
9
- value_type: plain
10
- hidden_value: false
11
- - name: satellite_password
12
- required: true
13
- input_type: user
14
- advanced: false
15
- value_type: plain
16
- hidden_value: true
17
- - name: http_proxy
18
- required: false
19
- input_type: user
20
- advanced: true
21
- value_type: plain
22
- hidden_value: false
23
- description: You can specify a HTTP proxy address that should be used for Cloud Connector connection to the cloud.redhat.com. Note that it must be HTTP proxy, not HTTPS. The tunelling of SSL (secured web socket connection) in SSL (HTTPS proxy) is currently unsupported.
24
- model: JobTemplate
25
- job_category: Maintenance Operations
26
- description_format: "%{template_name}"
27
- provider_type: Ansible
28
- kind: job_template
29
- feature: ansible_configure_cloud_connector
30
- %>
31
-
32
- ---
33
- - hosts: all
34
- vars:
35
- satellite_url: "<%= foreman_server_url %>"
36
- roles:
37
- - project-receptor.satellite_receptor_installer
@@ -1,257 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Foreman::Plugin.register :foreman_ansible do
4
- requires_foreman '>= 3.3'
5
-
6
- settings do
7
- category :ansible, N_('Ansible') do
8
- setting 'ansible_ssh_private_key_file',
9
- type: :string,
10
- description: N_('Use this to supply a path to an SSH Private Key '\
11
- 'that Ansible will use in lieu of a password '\
12
- 'Override with "ansible_ssh_private_key_file" '\
13
- 'host parameter'),
14
- default: '',
15
- full_name: N_('Private Key Path')
16
- setting 'ansible_connection',
17
- type: :string,
18
- description: N_('Use this connection type by default when running '\
19
- 'Ansible playbooks. You can override this on hosts by '\
20
- 'adding a parameter "ansible_connection"'),
21
- default: 'ssh',
22
- full_name: N_('Connection type')
23
- setting 'ansible_winrm_server_cert_validation',
24
- type: :string,
25
- description: N_('Enable/disable WinRM server certificate '\
26
- 'validation when running Ansible playbooks. You can override '\
27
- 'this on hosts by adding a parameter '\
28
- '"ansible_winrm_server_cert_validation"'),
29
- default: 'validate',
30
- full_name: N_('WinRM cert Validation')
31
- setting 'ansible_verbosity',
32
- type: :integer,
33
- description: N_('Foreman will add this level of verbosity for '\
34
- 'additional debugging output when running Ansible playbooks.'),
35
- default: '0',
36
- full_name: N_('Default verbosity level'),
37
- value: nil,
38
- collection: proc {
39
- { '0' => N_('Disabled'),
40
- '1' => N_('Level 1 (-v)'),
41
- '2' => N_('Level 2 (-vv)'),
42
- '3' => N_('Level 3 (-vvv)'),
43
- '4' => N_('Level 4 (-vvvv)') }
44
- }
45
- setting 'ansible_post_provision_timeout',
46
- type: :integer,
47
- description: N_('Timeout (in seconds) to set when Foreman will trigger a '\
48
- 'play Ansible roles task after a host is fully provisioned. '\
49
- 'Set this to the maximum time you expect a host to take '\
50
- 'until it is ready after a reboot.'),
51
- default: '360',
52
- full_name: N_('Post-provision timeout')
53
- setting 'ansible_interval',
54
- type: :integer,
55
- description: N_('Timeout (in minutes) when hosts should have reported.'),
56
- default: '30',
57
- full_name: N_('Ansible report timeout')
58
- setting 'ansible_out_of_sync_disabled',
59
- type: :boolean,
60
- description: format(N_('Disable host configuration status turning to out of'\
61
- ' sync for %{cfgmgmt} after report does not arrive within'\
62
- ' configured interval'), :cfgmgmt => 'Ansible'),
63
- default: false,
64
- full_name: format(N_('%{cfgmgmt} out of sync disabled'), :cfgmgmt => 'Ansible')
65
- setting 'ansible_inventory_template',
66
- type: :string,
67
- description: N_('Foreman will use this template to schedule the report '\
68
- 'with Ansible inventory'),
69
- default: 'Ansible - Ansible Inventory',
70
- full_name: N_('Default Ansible inventory report template')
71
- setting 'ansible_roles_to_ignore',
72
- type: :array,
73
- description: N_('Those roles will be excluded when importing roles from smart proxy, '\
74
- 'The expected input is comma separated values and you can use * wildcard metacharacters'\
75
- 'For example: foo*, *b*,*bar'),
76
- default: [],
77
- full_name: N_('Ansible roles to ignore')
78
- setting 'foreman_ansible_proxy_batch_size',
79
- type: :integer,
80
- description: N_('Number of tasks which should be sent to the smart proxy in one request, '\
81
- 'if foreman_tasks_proxy_batch_trigger is enabled. '\
82
- 'If set, overrides foreman_tasks_proxy_batch_size setting for Ansible jobs.'),
83
- default: nil,
84
- full_name: N_('Proxy tasks batch size for Ansible')
85
- end
86
- end
87
-
88
- security_block :foreman_ansible do
89
- permission :play_roles_on_host,
90
- { :hosts => [:play_roles, :multiple_play_roles],
91
- :'api/v2/hosts' => [:play_roles,
92
- :multiple_play_roles] },
93
- :resource_type => 'Host'
94
- permission :play_roles_on_hostgroup,
95
- { :hostgroups => [:play_roles],
96
- :'api/v2/hostgroups' => [:play_roles,
97
- :multiple_play_roles] },
98
- :resource_type => 'Hostgroup'
99
- permission :view_ansible_roles,
100
- { :ansible_roles => [:index, :auto_complete_search],
101
- :'api/v2/ansible_roles' => [:index, :show, :fetch],
102
- :ui_ansible_roles => [:index] },
103
- :resource_type => 'AnsibleRole'
104
- permission :destroy_ansible_roles,
105
- { :ansible_roles => [:destroy],
106
- :'api/v2/ansible_roles' => [:destroy, :obsolete] },
107
- :resource_type => 'AnsibleRole'
108
- permission :import_ansible_roles,
109
- { :ansible_roles => [:import, :confirm_import],
110
- :'api/v2/ansible_roles' => [:import, :sync] },
111
- :resource_type => 'AnsibleRole'
112
- permission :view_ansible_variables,
113
- {
114
- :lookup_values => [:index],
115
- :ansible_variables => [:index, :auto_complete_search],
116
- :'api/v2/ansible_variables' => [:index, :show]
117
- },
118
- :resource_type => 'AnsibleVariable'
119
- permission :edit_ansible_variables,
120
- { :lookup_values => [:update],
121
- :ansible_variables => [:edit, :update],
122
- :'api/v2/ansible_variables' => [:update],
123
- :'api/v2/ansible_override_values' => [:create, :destroy] },
124
- :resource_type => 'AnsibleVariable'
125
- permission :destroy_ansible_variables,
126
- {
127
- :lookup_values => [:destroy],
128
- :ansible_variables => [:destroy],
129
- :'api/v2/ansible_variables' => [:destroy, :obsolete]
130
- },
131
- :resource_type => 'AnsibleVariable'
132
- permission :create_ansible_variables,
133
- {
134
- :lookup_values => [:create],
135
- :ansible_variables => [:new, :create],
136
- :'api/v2/ansible_variables' => [:create]
137
- },
138
- :resource_type => 'AnsibleVariable'
139
- permission :import_ansible_variables,
140
- {
141
- :ansible_variables => [:import, :confirm_import],
142
- :'api/v2/ansible_variables' => [:import]
143
- },
144
- :resource_type => 'AnsibleVariable'
145
- permission :view_hosts,
146
- { :'api/v2/hosts' => [:ansible_roles],
147
- :'api/v2/ansible_inventories' => [:hosts] },
148
- :resource_type => 'Host'
149
- permission :view_hostgroups,
150
- { :'api/v2/hostgroups' => [:ansible_roles],
151
- :'api/v2/ansible_inventories' => [:hostgroups] },
152
- :resource_type => 'Hostgroup'
153
- permission :edit_hosts,
154
- { :'api/v2/hosts' => [:assign_ansible_roles] },
155
- :resource_type => 'Host'
156
- permission :edit_hostgroups,
157
- { :'api/v2/hostgroups' => [:assign_ansible_roles] },
158
- :resource_type => 'Hostgroup'
159
- permission :generate_ansible_inventory,
160
- { :'api/v2/ansible_inventories' => [:schedule] }
161
- permission :import_ansible_playbooks,
162
- { :'api/v2/ansible_playbooks' => [:sync, :fetch] }
163
- end
164
-
165
- role 'Ansible Roles Manager',
166
- [:play_roles_on_host, :play_roles_on_hostgroup,
167
- :create_job_invocations, :view_job_templates, # to allow the play_roles
168
- :create_template_invocations, :view_smart_proxies, # ...
169
- :view_ansible_roles, :destroy_ansible_roles,
170
- :import_ansible_roles, :view_ansible_variables,
171
- :create_ansible_variables, :import_ansible_variables,
172
- :edit_ansible_variables, :destroy_ansible_variables, :import_ansible_playbooks]
173
-
174
- role 'Ansible Tower Inventory Reader',
175
- [:view_hosts, :view_hostgroups, :view_facts, :generate_report_templates, :generate_ansible_inventory,
176
- :view_report_templates],
177
- 'Permissions required for the user which is used by Ansible Tower Dynamic Inventory Item'
178
-
179
- add_all_permissions_to_default_roles
180
- extend_template_helpers ForemanAnsible::RendererMethods
181
- allowed_template_helpers :insights_remediation
182
-
183
- base_role_assignment_params = { :ansible_role_ids => [],
184
- :ansible_roles => [] }
185
- parameter_filter Host::Managed, base_role_assignment_params.merge(:host_ansible_roles_attributes => {})
186
- parameter_filter Hostgroup, base_role_assignment_params.merge(:hostgroup_ansible_roles_attributes => {})
187
-
188
- register_global_js_file 'global'
189
-
190
- extend_graphql_type :type => '::Types::Host' do
191
- field :all_ansible_roles, ::Types::InheritedAnsibleRole.connection_type, :null => true, :method => :present_all_ansible_roles
192
- field :own_ansible_roles, ::Types::AnsibleRole.connection_type, :null => true
193
- field :available_ansible_roles, ::Types::AnsibleRole.connection_type, :null => true
194
- field :ansible_variables_with_overrides, Types::OverridenAnsibleVariable.connection_type, :null => false
195
-
196
- def present_all_ansible_roles
197
- inherited_ansible_roles = object.inherited_ansible_roles.map { |role| ::Presenters::AnsibleRolePresenter.new(role, true) }
198
- ansible_roles = object.ansible_roles.map { |role| ::Presenters::AnsibleRolePresenter.new(role, false) }
199
- (inherited_ansible_roles + ansible_roles).uniq
200
- end
201
-
202
- def ansible_variables_with_overrides
203
- resolver = ::ForemanAnsible::OverrideResolver.new(object)
204
- AnsibleVariable.where(:ansible_role_id => object.all_ansible_roles.pluck(:id), :override => true).map { |variable| ::Presenters::OverridenAnsibleVariablePresenter.new variable, resolver }
205
- end
206
- end
207
-
208
- register_graphql_query_field :ansible_roles, '::Types::AnsibleRole', :collection_field
209
- register_graphql_mutation_field :assign_ansible_roles, '::Mutations::Hosts::AssignAnsibleRoles'
210
- register_graphql_mutation_field :delete_ansible_variable_override, ::Mutations::AnsibleVariableOverrides::Delete
211
- register_graphql_mutation_field :update_ansible_variable_override, ::Mutations::AnsibleVariableOverrides::Update
212
- register_graphql_mutation_field :create_ansible_variable_override, ::Mutations::AnsibleVariableOverrides::Create
213
-
214
- divider :top_menu, :caption => N_('Ansible'), :parent => :configure_menu
215
- menu :top_menu, :ansible_roles,
216
- :caption => N_('Roles'),
217
- :url_hash => { :controller => :ansible_roles, :action => :index },
218
- :parent => :configure_menu
219
- menu :top_menu, :ansible_variables,
220
- :caption => N_('Variables'),
221
- :url_hash => { :controller => :ansible_variables, :action => :index },
222
- :parent => :configure_menu
223
-
224
- apipie_documented_controllers [
225
- "#{ForemanAnsible::Engine.root}/app/controllers/api/v2/*.rb"
226
- ]
227
- ApipieDSL.configuration.dsl_classes_matchers += [
228
- "#{ForemanAnsible::Engine.root}/app/models/*.rb",
229
- "#{ForemanAnsible::Engine.root}/app/services/foreman_ansible/*.rb"
230
- ]
231
-
232
- register_info_provider ForemanAnsible::AnsibleInfo
233
-
234
- # For backwards compatiblity with 1.17
235
- if respond_to?(:register_report_scanner)
236
- register_report_scanner ForemanAnsible::AnsibleReportScanner
237
- register_report_origin 'Ansible', 'ConfigReport'
238
- end
239
-
240
- <<<<<<< HEAD
241
- describe_host do
242
- multiple_actions_provider :ansible_hosts_multiple_actions
243
- =======
244
- extend_page('smart_proxies/show') do |context|
245
- context.add_pagelet :smart_proxy_title_actions,
246
- :name => _('Update Smart Proxy'),
247
- :partial => 'foreman/smart_proxies/update_smart_proxy',
248
- :onlyif => ->(proxy, view) { view.can_update_proxy?(proxy) }
249
- end
250
- extend_page('smart_proxies/index') do |context|
251
- context.add_pagelet :smart_proxy_title_actions,
252
- :name => _('Update Smart Proxy'),
253
- :partial => 'foreman/smart_proxies/update_smart_proxy',
254
- :onlyif => ->(proxy, view) { view.can_update_proxy?(proxy) }
255
- >>>>>>> a707dab (Fixes #35143 - Add a smart proxy update button)
256
- end
257
- end