def run_module(): module_args = dict( product=dict(required=True), name=dict(required=True), description=dict(required=True), rhel_release_name=dict(required=True), sig_key_name=dict(default='redhatrelease2'), default_brew_tag=dict(required=True), is_server_only=dict(type='bool', required=True), enabled=dict(type='bool', default=True), allow_rhn_debuginfo=dict(type='bool', required=True), allow_buildroot_push=dict(type='bool', required=True), is_oval_product=dict(type='bool', required=True), is_rhel_addon=dict(type='bool', required=True), push_targets=dict(type='list', required=True), brew_tags=dict(type='list', required=True), ) module = AnsibleModule( argument_spec=module_args, supports_check_mode=True ) check_mode = module.check_mode params = module.params client = common_errata_tool.Client() result = ensure_product_version(client, params, check_mode) module.exit_json(**result)
def run_module(): module_args = dict( login_name=dict(required=True), realname=dict(required=True), organization=dict(), receives_mail=dict(type='bool', default=True), roles=dict(type='list'), enabled=dict(type='bool', default=True), email_address=dict(), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) check_mode = module.check_mode params = module.params # This seems to match what the ET does when the client does not specify a # value: if params['email_address'] is None: account_name, _ = params['login_name'].split('@', 1) params['email_address'] = '*****@*****.**' % account_name client = common_errata_tool.Client() result = ensure_user(client, params, check_mode) module.exit_json(**result)
def run_module(): module_args = dict( name=dict(required=True), release_type=dict(choices=CDN_RELEASE_TYPES, required=True), content_type=dict(choices=CDN_CONTENT_TYPES, required=True), arch=dict(), use_for_tps=dict(type='bool', default=False), variants=dict(type='list', required=True), packages=dict(type='dict', default={}), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) check_mode = module.check_mode params = module.params # The arch default value depends on content_type. # The reason we hard-code this here is to match the ET's behavior so that # we preserve idempotency on subsequent runs. if params['arch'] is None: if params['content_type'] == 'Docker': params['arch'] = 'multi' else: params['arch'] = 'x86_64' # The ET server does not stop users from setting Docker repos to other # arches (ERRATA-9726). We will guard that here for now. if params['content_type'] == 'Docker' and params['arch'] != 'multi': module.fail_json(msg='arch must be "multi" for Docker repos') client = common_errata_tool.Client() result = ensure_cdn_repo(client, check_mode, params) module.exit_json(**result)
def run_module(): module_args = dict( name=dict(required=True), description=dict(required=True), cpe=dict(), enabled=dict(type='bool', default=True), buildroot=dict(type='bool', default=False), product_version=dict(required=True), rhel_variant=dict(), tps_stream=dict(), push_targets=dict(type='list', required=True), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) check_mode = module.check_mode params = module.params # When a user omits rhel_variant, then this is a RHEL variant and we # require tps_stream. if params['rhel_variant'] is None: params.pop('rhel_variant') if params['tps_stream'] is None: module.fail_json(msg='RHEL variants require tps_stream.') else: # This is a layered product and we ignore tps_stream. params.pop('tps_stream') client = common_errata_tool.Client() result = ensure_variant(client, params, check_mode) module.exit_json(**result)
def run_module(): module_args = dict( product=dict(), name=dict(required=True), description=dict(required=True), type=dict(required=True, choices=common_errata_tool.RELEASE_TYPES), product_versions=dict(type='list', required=True), enabled=dict(type='bool', default=True), active=dict(type='bool', default=True), enable_batching=dict(type='bool', default=True), program_manager=dict(required=True), blocker_flags=dict(type='list'), internal_target_release=dict(), zstream_target_release=dict(), ship_date=dict(), allow_shadow=dict(type='bool', default=False), allow_blocker=dict(type='bool', default=False), allow_exception=dict(type='bool', default=False), allow_pkg_dupes=dict(type='bool', default=False), supports_component_acl=dict(type='bool', default=False), limit_bugs_by_product=dict(type='bool', default=False), state_machine_rule_set=dict(), pelc_product_version_name=dict(), brew_tags=dict(type='list', default=[]), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) check_mode = module.check_mode params = module.params client = common_errata_tool.Client() result = ensure_release(client, params, check_mode) module.exit_json(**result)
def run_module(): module_args = dict( short_name=dict(required=True), name=dict(required=True), description=dict(required=True), bugzilla_product_name=dict(default=''), valid_bug_states=dict(type='list'), active=dict(type='bool', default=True), ftp_path=dict(default=""), ftp_subdir=dict(), internal=dict(type='bool', default=False), default_docs_reviewer=dict(), push_targets=dict(type='list', required=True), default_solution=dict(required=True), state_machine_rule_set=dict(required=True), move_bugs_on_qe=dict(type='bool', default=False), text_only_advisories_require_dists=dict(type='bool', default=True), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) check_mode = module.check_mode params = module.params try: validate_params(module, params) except InvalidInputError as e: msg = 'invalid %s value "%s"' % (e.param, e.value) module.fail_json(msg=msg, changed=False, rc=1) client = common_errata_tool.Client() result = ensure_product(client, params, check_mode) module.exit_json(**result)
def run_module(): module_args = dict( short_name=dict(required=True), name=dict(required=True), description=dict(required=True), bugzilla_product_name=dict(default=''), valid_bug_states=dict(type='list', default=['MODIFIED', 'VERIFIED']), active=dict(type='bool', default=True), ftp_path=dict(default=""), ftp_subdir=dict(), internal=dict(type='bool', default=False), default_docs_reviewer=dict(), push_targets=dict(type='list', required=True), default_solution=dict(required=True), state_machine_rule_set=dict(required=True), move_bugs_on_qe=dict(type='bool', default=False), text_only_advisories_require_dists=dict(type='bool', default=True), exd_org_group=dict(choices=EXD_ORG_GROUPS.keys()), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) # Ignore this attribute since it doesn't exist any more in ET del module.params['text_only_advisories_require_dists'] check_mode = module.check_mode params = module.params try: validate_params(params) except InvalidInputError as e: msg = 'invalid %s value "%s"' % (e.param, e.value) module.fail_json(msg=msg, changed=False, rc=1) client = common_errata_tool.Client() try: result = ensure_product(client, params, check_mode) except DocsReviewerNotFoundError as e: msg = 'default_docs_reviewer %s account not found' % e module.fail_json(msg=msg, changed=False, rc=1) if (check_mode and result['changed'] and params['default_docs_reviewer'] and boolean(os.getenv('ANSIBLE_STRICT_USER_CHECK_MODE', False))): try: user = common_errata_tool.get_user(client, params['default_docs_reviewer'], True) except UserNotFoundError as e: msg = 'default_docs_reviewer %s account not found' % e module.fail_json(msg=msg, changed=False, rc=1) if 'docs' not in user['roles']: msg = ("User %s does not have 'docs' role in ET" % params['default_docs_reviewer']) module.fail_json(msg=msg, changed=False, rc=1) module.exit_json(**result)
def run_module(): module_args = dict( product=dict(), name=dict(required=True), description=dict(required=True), type=dict(required=True, choices=common_errata_tool.RELEASE_TYPES), product_versions=dict(type='list', required=True), enabled=dict(type='bool', default=True), active=dict(type='bool', default=True), enable_batching=dict(type='bool', default=True), program_manager=dict(), blocker_flags=dict(type='list'), internal_target_release=dict(), zstream_target_release=dict(), ship_date=dict(), allow_shadow=dict(type='bool', default=False), allow_blocker=dict(type='bool', default=False), allow_exception=dict(type='bool', default=False), allow_pkg_dupes=dict(type='bool', default=False), supports_component_acl=dict(type='bool', default=False), limit_bugs_by_product=dict(type='bool', default=False), state_machine_rule_set=dict(), pelc_product_version_name=dict(), brew_tags=dict(type='list', default=[]), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) check_mode = module.check_mode params = module.params client = common_errata_tool.Client() try: result = ensure_release(client, params, check_mode) except ProgramManagerNotFoundError as e: msg = 'program_manager %s account not found' % e module.fail_json(msg=msg, changed=False, rc=1) if (check_mode and result['changed'] and params['program_manager'] and boolean(os.getenv('ANSIBLE_STRICT_USER_CHECK_MODE', False))): try: _ = common_errata_tool.get_user(client, params['program_manager'], True) except UserNotFoundError as e: msg = 'program_manager %s account not found' % e module.fail_json(msg=msg, changed=False, rc=1) module.exit_json(**result)
def run_module(): module_args = dict( product=dict(), name=dict(required=True), description=dict(required=True), type=dict(required=True), product_versions=dict(type='list', required=True), enabled=dict(type='bool', default=True), active=dict(type='bool', default=True), enable_batching=dict(type='bool', default=True), program_manager=dict(required=True), blocker_flags=dict(type='list', default=[]), internal_target_release=dict(), zstream_target_release=dict(), ship_date=dict(), allow_shadow=dict(type='bool', default=False), allow_blocker=dict(type='bool', default=False), allow_exception=dict(type='bool', default=False), allow_pkg_dupes=dict(type='bool', default=False), supports_component_acl=dict(type='bool', default=False), limit_bugs_by_product=dict(type='bool', default=False), state_machine_rule_set=dict(), pelc_product_version_name=dict(), brew_tags=dict(type='list', default=[]), ) module = AnsibleModule( argument_spec=module_args, supports_check_mode=True ) check_mode = module.check_mode params = module.params try: validate_params(module, params) except InvalidInputError as e: msg = 'invalid %s value "%s"' % (e.param, e.value) module.fail_json(msg=msg, changed=False, rc=1) client = common_errata_tool.Client() result = ensure_release(client, params, check_mode) module.exit_json(**result)
def run_module(): module_args = dict( login_name=dict(required=True), realname=dict(required=True), organization=dict(), receives_mail=dict(type='bool', default=True), roles=dict(type='list'), enabled=dict(type='bool', default=True), email_address=dict(), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) check_mode = module.check_mode params = module.params client = common_errata_tool.Client() result = ensure_user(client, params, check_mode) module.exit_json(**result)
def run_module(): module_args = dict( name=dict(required=True), description=dict(required=True), cpe=dict(), enabled=dict(type='bool', default=True), buildroot=dict(type='bool', default=False), product_version=dict(required=True), rhel_variant=dict(required=True), push_targets=dict(type='list', required=True), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) check_mode = module.check_mode params = module.params client = common_errata_tool.Client() result = ensure_variant(client, params, check_mode) module.exit_json(**result)