Example #1
0
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"))
Example #3
0
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"))
Example #5
0
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))
Example #6
0
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))