airgun.views.host

Module Contents

Classes

TableActions

Interface table has Action column that contains only two buttons,

PuppetClassParameterValue

Represent value field for Puppet Class parameters table row from Host

ComputeResourceLibvirtProfileStorageItem

Libvirt Compute Resource profile "Storage" item widget

ComputeResourceGoogleProfileStorageItem

Google Compute Resource profile "Storage" item widget

HostInterface

View is a kind of abstract widget that can hold another widgets. Remembers the order,

HostsView

Base view for Satellite pages

HostCreateView

Base view for Satellite pages

HostRegisterView

Base view for Satellite pages

RecommendationWidget

The widget representation of recommendation item.

RecommendationListView

Insights tab view of a host

HostDetailsView

Base view for Satellite pages

HostEditView

Base view for Satellite pages

HostsActionCommonDialog

Common base class Dialog for Hosts Actions

HostsChangeGroup

Common base class Dialog for Hosts Actions

HostsChangeEnvironment

Common base class Dialog for Hosts Actions

HostsTaxonomyMismatchRadioGroup

Handle Taxonomy Mismatch Radio Group

HostsAssignOrganization

Common base class Dialog for Hosts Actions

HostsAssignLocation

Common base class Dialog for Hosts Actions

HostsAssignCompliancePolicy

Common base class Dialog for Hosts Actions

HostsUnassignCompliancePolicy

Common base class Dialog for Hosts Actions

HostsChangeOpenscapCapsule

Common base class Dialog for Hosts Actions

HostsDeleteActionDialog

Common base class Dialog for Hosts Actions

HostsDeleteTaskDetailsView

Hosts Delete Task Details View

HostsJobInvocationCreateView

Hosts Job Invocation Create View

HostsJobInvocationStatusView

Hosts Job Invocation Status View

class airgun.views.host.TableActions(parent, logger=None, **kwargs)

Interface table has Action column that contains only two buttons, without any extra controls, so we cannot re-use any existing widgets

edit
delete
class airgun.views.host.PuppetClassParameterValue(parent, logger=None, **kwargs)

Represent value field for Puppet Class parameters table row from Host Parameters tab. That field can be interacted with as usual text input, but also it can be overridden with new value

ROOT = .//div[@class='input-group']
value
override_button
remove_override_button
hide_button
property hidden

Return whether the variable is hidden

property overridden

Return whether the variable is overridden, a variable is overridden if not disabled

property hidden_value
read()

Return smart variable widget values

fill(value)

Set smart variable widget values

hide(value=True)

Hide or unhide the smart variable input box

override(value=True)

Click corresponding button depends on action needed

class airgun.views.host.ComputeResourceLibvirtProfileStorageItem(parent, locator, logger=None)

Libvirt Compute Resource profile “Storage” item widget

storage_pool
size
storage_type
class airgun.views.host.ComputeResourceGoogleProfileStorageItem(parent, locator, logger=None)

Google Compute Resource profile “Storage” item widget

size
class airgun.views.host.HostInterface(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

class InterfaceForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

class VirtualAttributesForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

tag
attached_to
virtual_nic
virtual_attributes
class BMCForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

username
password
provider
class BondForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

mode
attached_devices
bond_options
class BridgeForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

attached_devices
ROOT = .//div[@id='interfaceModal']
title
submit
interface_type
mac
device_identifier
dns
domain
subnet
subnet_v6
ip
ipv6
managed
primary
provision
remote_execution
interface_additional_data
network_type
network
nic_type
after_fill(was_change)

Submit the dialog data once all necessary view widgets filled

property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.host.HostsView(parent, logger=None, **kwargs)

Base view for Satellite pages

title
export
new
register
select_all
table
host_status = //span[contains(@class, 'host-status')]
actions
dialog
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.host.HostCreateView(parent, logger=None, **kwargs)

Base view for Satellite pages

class host(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

name
organization
location
hostgroup
inherit_deploy_option
deploy
compute_profile
lce
content_view
content_source
reset_puppet_environment
inherit_puppet_environment
puppet_environment
puppet_master
puppet_ca
openscap_capsule
class ansible_roles(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

TAB_NAME = Ansible Roles
resources
class NoResourceForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

class LibvirtResourceForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

class virtual_machine(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

class storage(parent, logger=None, **kwargs)

A host for widgets list. Items that can be added or removed, mainly used in profile for network interfaces, storage and job template.

Usage:

@View.nested
class resources(RemovableWidgetsItemsListView):
    ROOT = "//fieldset[@id='storage_volumes']"
    ITEMS = "./div/div[contains(@class, 'removable-item')]"
    ITEM_WIDGET_CLASS = ComputeResourceRHVProfileStorageItem
ROOT = //fieldset[@id='storage_volumes']
ITEMS = ./div/div[contains(@class, 'removable-item')]
ITEM_WIDGET_CLASS
TAB_NAME = Virtual Machine
cpus
cpu_mode
memory
startup
class GoogleResourceForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

class virtual_machine(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

class storage(parent, logger=None, **kwargs)

A host for widgets list. Items that can be added or removed, mainly used in profile for network interfaces, storage and job template.

Usage:

@View.nested
class resources(RemovableWidgetsItemsListView):
    ROOT = "//fieldset[@id='storage_volumes']"
    ITEMS = "./div/div[contains(@class, 'removable-item')]"
    ITEM_WIDGET_CLASS = ComputeResourceRHVProfileStorageItem
ROOT = //fieldset[@id='storage_volumes']
ITEMS = ./div/div[contains(@class, 'removable-item')]
ITEM_WIDGET_CLASS
TAB_NAME = Virtual Machine
machine_type
network
external_ip
class AzureRmResourceForm(parent, logger=None, **kwargs)

View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.

It looks like this:

class Login(View):
    user = SomeInputWidget('user')
    password = SomeInputWidget('pass')
    login = SomeButtonWidget('Log In')

    def a_method(self):
        do_something()

The view is usually instantiated with an instance of widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.

Parameters
  • parent – A parent View or widgetastic.browser.Browser

  • additional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the additional_context to pass in required variables that will allow you to detect this.

class virtual_machine(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

TAB_NAME = Virtual Machine
resource_group
vm_size
platform
username
password
ssh_key
premium_os_disk
os_disk_caching
custom_script_command
file_uris
class operating_system(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

TAB_NAME = Operating System
architecture
operating_system
image
root_password
class operating_system(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

TAB_NAME = Operating System
architecture
operating_system
build
image
media_type
media
ptable
disk
root_password
class interfaces(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

interface
interfaces_list
add_new_interface
before_fill(values=None)

If we don’t want to break view.fill() procedure flow, we need to push ‘Edit’ button to open necessary dialog to be able to fill values

class puppet_enc(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

TAB_NAME = Puppet ENC
config_groups
classes
puppet_class_parameters
class parameters(parent, logger=None, **kwargs)

Host parameters tab

class global_params(parent, **kwargs)

Satellite version of table.

Includes a paginator sub-widget. If found, then the paginator is used to read all entries from the table.

If the table is empty, there might be only one column with an appropriate message in the table body, or it may have no columns or rows at all. This subclass handles both possibilities.

Example html representation:

<table bst-table="table" ...>
   <thead>
     <tr class="ng-scope">
       <th class="row-select"><input type="checkbox" ...></th>
       <th ng-click="table.sortBy(column)" ...>
        <span ...><span ...>Column Name</span></span><i ...></i></th>
       <th ng-click="table.sortBy(column)" ...>
        <span ...><span ...>Column Name</span></span><i ...></i></th>
     </tr>
   </thead>
   <tbody>
    <tr id="noRowsTr"><td colspan="9">
         <span data-block="no-rows-message" ...>
            <span class="ng-scope">Table is empty</span></span>
    </td></tr>
   </tbody>
 </table>

Locator example:

.//table
read()

Return a list of dictionaries. Each dictionary consists of global parameter name, value and whether overridden or not.

override(name)

Override a single global parameter.

Parameters

name (str) – The name of the global parameter to override.

fill(names)

Override global parameter entries.

Parameters

names (list[str]) – global parameters names to override.

host_params
fill(values)

Fill the parameters tab widgets with values.

Parameters

values – A dictionary of widget_name: value_to_fill.

Note

The global_params value can be a list of names of global parameters to override or a list of dicts like [{name: global_param_name_to_override, value: new_value}…]

class additional_information(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

TAB_NAME = Additional Information
owned_by
enabled
hardware_model
comment
breadcrumb
submit
provider_content
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

property current_provider

Retrieve the provider name from the compute resource name.

Note: The provider name is always appended to the end of the compute resource name, for example: compute resource name “foo”

  1. For RHV provider, the compute resource name will be displayed as: “foo (RHV)”

  2. For Libvirt provider, the compute resource name will be displayed as: “foo (Libvirt)”

Return “Compute resource is not specified” value in case no compute resource specified in deployment procedure (e.g. “Bare Metal”)

class airgun.views.host.HostRegisterView(parent, logger=None, **kwargs)

Base view for Satellite pages

class general(parent, logger=None, **kwargs)

Represents the Patternfly Tab widget.

Selects itself automatically when any child widget gets accessed, ensuring that the widget is visible.

https://www.patternfly.org/v4/documentation/react/components/tabs

TAB_NAME = General
TAB_LOCATOR
ROOT = //section[@id="generalSection"]
orgnization
location
host_group
operating_system
capsule
insecure
class advanced(parent, logger=None, **kwargs)

Represents the Patternfly Tab widget.

Selects itself automatically when any child widget gets accessed, ensuring that the widget is visible.

https://www.patternfly.org/v4/documentation/react/components/tabs

TAB_NAME = Advanced
TAB_LOCATOR
ROOT = //section[@id="advancedSection"]
setup_rex
setup_insights
install_packages
update_packages
repository
repository_gpg_key_url
token_life_time
rex_interface
activation_keys
life_cycle_env
ignore_error
force
activation_key_helper
life_cycle_env_helper
install_packages_helper
generate_command
cancel
registration_command
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

before_fill(values)

Fill some of the parameters in the widgets with values.

Parameters

values – A dictionary of widget_name: value_to_fill.

Note

Some of the fields are disabled for few seconds and get enabled based on the selection, handled separately

class airgun.views.host.RecommendationWidget(parent, locator, logger=None)

The widget representation of recommendation item.

EXPAND_BUTTON = .//div[contains(@class, 'expand')]
NAME = .//div/p[contains(@class, 'item-heading')]
RISK_LABEL = .//div/span[contains(@class, 'risk-label')]
TEXT = .//div[contains(@class, 'list-group-item-container')]
property expand_button

Return the expand button element.

property expanded

Check whether this recommendation is expanded or not.

expand()

Expand the recommendation item section.

property name

Return the name displayed for this recommendation item

property label

Return the risk label displayed for this recommendation item

property text

Return the text displayed for this recommendation item

read()

Each object should implement read so it is easy to get the value of such object.

When you implement this method, the exact return value is up to you but it MUST be consistent with what fill() takes.

class airgun.views.host.RecommendationListView(parent, logger=None, **kwargs)

Insights tab view of a host

ROOT = //div[contains(@id, 'host_details_insights_tab')]
ITEMS = .//div[@id='hits_list']/div[contains(@class, 'list-group-item')]
ITEM_WIDGET
items()
read()

Reads the contents of the view and presents them as a dictionary.

Returns

A dict of widget_name: widget_read_value where the values are retrieved using the Widget.read().

class airgun.views.host.HostDetailsView(parent, logger=None, **kwargs)

Base view for Satellite pages

class properties(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

properties_table
class insights(parent, logger=None, **kwargs)

Regular primary level Tab.

Usage:

@View.nested
class mytab(SatTab):
    TAB_NAME = 'My Tab'
@View.nested
class subscriptions(SatTab):
    # no need to specify 'TAB_NAME', it will be set to 'Subscriptions'
    # automatically
    pass

Note that TAB_NAME is optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’

insights_tab
breadcrumb
boot_disk
schedule_remote_job
back
webconsole
edit
clone
build
delete
audits_details
facts_details
yaml_dump
yaml_output
content_details
recommendations
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.host.HostEditView(parent, logger=None, **kwargs)

Base view for Satellite pages

breadcrumb
submit
toggle_manage
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.host.HostsActionCommonDialog(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
table
keep_selected
submit
property is_displayed

Overrides the Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.

Returns

bool

class airgun.views.host.HostsChangeGroup(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
host_group
class airgun.views.host.HostsChangeEnvironment(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
environment
class airgun.views.host.HostsTaxonomyMismatchRadioGroup(parent, **kwargs)

Handle Taxonomy Mismatch Radio Group

Example html representation:

<form ...>
    <div class="clearfix">
        ...
    </div>
    <input type="radio" id="location_optimistic_import_yes" ..>
     Fix Location on Mismatch
    <input type="radio" id="location_optimistic_import_no" ..>
     Fail on Mismatch
</form>
taxonomy
fix_mismatch
fail_on_mismatch
buttons_text
_is_checked(widget)

Returns whether the widget is checked

read()

Return the text of the selected button

fill(value)

Select the button with text equal to value

property is_displayed

Shortcut allowing you to detect if the widget is displayed.

If the logic behind is_displayed is more complex, you can always override this.

Returns

bool

class airgun.views.host.HostsAssignOrganization(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
organization
on_mismatch
class airgun.views.host.HostsAssignLocation(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
location
on_mismatch
class airgun.views.host.HostsAssignCompliancePolicy(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
policy
class airgun.views.host.HostsUnassignCompliancePolicy(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
policy
class airgun.views.host.HostsChangeOpenscapCapsule(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
policy
class airgun.views.host.HostsDeleteActionDialog(parent, logger=None, **kwargs)

Common base class Dialog for Hosts Actions

title
class airgun.views.host.HostsDeleteTaskDetailsView(parent, logger=None, **kwargs)

Hosts Delete Task Details View

class airgun.views.host.HostsJobInvocationCreateView(parent, logger=None, **kwargs)

Hosts Job Invocation Create View

class airgun.views.host.HostsJobInvocationStatusView(parent, logger=None, **kwargs)

Hosts Job Invocation Status View