def _api_to_internal_format(internal_attrs, api_configurations, new_user=False): for attr, value in api_configurations.items(): if attr in ( "username", "customer", "contact_options", "auth_option", "idle_timeout", "disable_notifications", ): continue internal_attrs[attr] = value if "customer" in api_configurations: internal_attrs = update_customer_info(internal_attrs, api_configurations["customer"], remove_provider=True) internal_attrs.update( _contact_options_to_internal_format( api_configurations.get("contact_options"), internal_attrs.get("email"))) internal_attrs = _update_auth_options(internal_attrs, api_configurations["auth_option"], new_user=new_user) internal_attrs = _update_notification_options( internal_attrs, api_configurations.get("disable_notifications")) internal_attrs = _update_idle_options( internal_attrs, api_configurations.get("idle_timeout")) return internal_attrs
def create(params): """Create a host group""" body = params["body"] name = body["name"] group_details = {"alias": body.get("alias")} if version.is_managed_edition(): group_details = update_customer_info(group_details, body["customer"]) add_group(name, "host", group_details) group = fetch_group(name, "host") return serve_group(group, serialize_group("host_group_config"))
def create(params): """Create a contact group""" body = params['body'] name = body['name'] group_details = {"alias": body.get("alias")} if version.is_managed_edition(): group_details = update_customer_info(group_details, body["customer"]) add_group(name, 'contact', group_details) group = fetch_group(name, "contact") return serve_group(group, serialize_group('contact_group_config'))
def create(params): """Create a service group""" user.need_permission("wato.edit") body = params["body"] name = body["name"] group_details = {"alias": body.get("alias")} if version.is_managed_edition(): group_details = update_customer_info(group_details, body["customer"]) groups.add_group(name, "service", group_details) group = fetch_group(name, "service") return serve_group(group, serialize_group("service_group_config"))
def create_password(params): """Create a password""" body = params['body'] ident = body['ident'] password_details = cast( Password, {k: v for k, v in body.items() if k not in ( "ident", "owned_by", "customer", )}) if version.is_managed_edition(): password_details = update_customer_info(password_details, body['customer']) password_details["owned_by"] = None if body['owned_by'] == "admin" else body['owned_by'] save_password(ident, password_details, new_password=True) return _serve_password(ident, load_password(ident))
def create_password(params): """Create a password""" user.need_permission("wato.edit") user.need_permission("wato.passwords") body = params["body"] ident = body["ident"] password_details = cast( Password, { k: v for k, v in body.items() if k not in ( "ident", "owned_by", "customer", ) }, ) if version.is_managed_edition(): password_details = update_customer_info(password_details, body["customer"]) password_details[ "owned_by"] = None if body["owned_by"] == "admin" else body["owned_by"] save_password(ident, password_details, new_password=True) return _serve_password(ident, load_password(ident))