# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = ['RsyslogdArgs', 'Rsyslogd']

@pulumi.input_type
class RsyslogdArgs:
    def __init__(__self__, *,
                 enabled: pulumi.Input[_builtins.bool],
                 contents: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
                 debug: Optional[pulumi.Input[_builtins.bool]] = None,
                 ip: Optional[pulumi.Input[_builtins.str]] = None,
                 log_all_contents: Optional[pulumi.Input[_builtins.bool]] = None,
                 netconsole_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
                 netconsole_host: Optional[pulumi.Input[_builtins.str]] = None,
                 netconsole_port: Optional[pulumi.Input[_builtins.int]] = None,
                 port: Optional[pulumi.Input[_builtins.int]] = None,
                 site: Optional[pulumi.Input[_builtins.str]] = None,
                 this_controller: Optional[pulumi.Input[_builtins.bool]] = None,
                 this_controller_encrypted_only: Optional[pulumi.Input[_builtins.bool]] = None):
        """
        The set of arguments for constructing a Rsyslogd resource.
        :param pulumi.Input[_builtins.bool] enabled: Whether remote syslog is enabled.
        :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] contents: List of log types to include in the remote syslog. Valid values: device, client, firewall*default*policy, triggers, updates, admin*activity, critical, security*detections, vpn.
        :param pulumi.Input[_builtins.bool] debug: Whether debug logging is enabled.
        :param pulumi.Input[_builtins.str] ip: IP address of the remote syslog server.
        :param pulumi.Input[_builtins.bool] log_all_contents: Whether to log all content types.
        :param pulumi.Input[_builtins.bool] netconsole_enabled: Whether netconsole logging is enabled.
        :param pulumi.Input[_builtins.str] netconsole_host: Hostname or IP address of the netconsole server.
        :param pulumi.Input[_builtins.int] netconsole_port: Port number for the netconsole server. Valid values: 1-65535.
        :param pulumi.Input[_builtins.int] port: Port number for the remote syslog server. Valid values: 1-65535.
        :param pulumi.Input[_builtins.str] site: The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
        :param pulumi.Input[_builtins.bool] this_controller: Whether to use this controller as the syslog server.
        :param pulumi.Input[_builtins.bool] this_controller_encrypted_only: Whether to only use encrypted connections to this controller for syslog.
        """
        pulumi.set(__self__, "enabled", enabled)
        if contents is not None:
            pulumi.set(__self__, "contents", contents)
        if debug is not None:
            pulumi.set(__self__, "debug", debug)
        if ip is not None:
            pulumi.set(__self__, "ip", ip)
        if log_all_contents is not None:
            pulumi.set(__self__, "log_all_contents", log_all_contents)
        if netconsole_enabled is not None:
            pulumi.set(__self__, "netconsole_enabled", netconsole_enabled)
        if netconsole_host is not None:
            pulumi.set(__self__, "netconsole_host", netconsole_host)
        if netconsole_port is not None:
            pulumi.set(__self__, "netconsole_port", netconsole_port)
        if port is not None:
            pulumi.set(__self__, "port", port)
        if site is not None:
            pulumi.set(__self__, "site", site)
        if this_controller is not None:
            pulumi.set(__self__, "this_controller", this_controller)
        if this_controller_encrypted_only is not None:
            pulumi.set(__self__, "this_controller_encrypted_only", this_controller_encrypted_only)

    @_builtins.property
    @pulumi.getter
    def enabled(self) -> pulumi.Input[_builtins.bool]:
        """
        Whether remote syslog is enabled.
        """
        return pulumi.get(self, "enabled")

    @enabled.setter
    def enabled(self, value: pulumi.Input[_builtins.bool]):
        pulumi.set(self, "enabled", value)

    @_builtins.property
    @pulumi.getter
    def contents(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
        """
        List of log types to include in the remote syslog. Valid values: device, client, firewall*default*policy, triggers, updates, admin*activity, critical, security*detections, vpn.
        """
        return pulumi.get(self, "contents")

    @contents.setter
    def contents(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
        pulumi.set(self, "contents", value)

    @_builtins.property
    @pulumi.getter
    def debug(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether debug logging is enabled.
        """
        return pulumi.get(self, "debug")

    @debug.setter
    def debug(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "debug", value)

    @_builtins.property
    @pulumi.getter
    def ip(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        IP address of the remote syslog server.
        """
        return pulumi.get(self, "ip")

    @ip.setter
    def ip(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "ip", value)

    @_builtins.property
    @pulumi.getter(name="logAllContents")
    def log_all_contents(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether to log all content types.
        """
        return pulumi.get(self, "log_all_contents")

    @log_all_contents.setter
    def log_all_contents(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "log_all_contents", value)

    @_builtins.property
    @pulumi.getter(name="netconsoleEnabled")
    def netconsole_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether netconsole logging is enabled.
        """
        return pulumi.get(self, "netconsole_enabled")

    @netconsole_enabled.setter
    def netconsole_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "netconsole_enabled", value)

    @_builtins.property
    @pulumi.getter(name="netconsoleHost")
    def netconsole_host(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        Hostname or IP address of the netconsole server.
        """
        return pulumi.get(self, "netconsole_host")

    @netconsole_host.setter
    def netconsole_host(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "netconsole_host", value)

    @_builtins.property
    @pulumi.getter(name="netconsolePort")
    def netconsole_port(self) -> Optional[pulumi.Input[_builtins.int]]:
        """
        Port number for the netconsole server. Valid values: 1-65535.
        """
        return pulumi.get(self, "netconsole_port")

    @netconsole_port.setter
    def netconsole_port(self, value: Optional[pulumi.Input[_builtins.int]]):
        pulumi.set(self, "netconsole_port", value)

    @_builtins.property
    @pulumi.getter
    def port(self) -> Optional[pulumi.Input[_builtins.int]]:
        """
        Port number for the remote syslog server. Valid values: 1-65535.
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: Optional[pulumi.Input[_builtins.int]]):
        pulumi.set(self, "port", value)

    @_builtins.property
    @pulumi.getter
    def site(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
        """
        return pulumi.get(self, "site")

    @site.setter
    def site(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "site", value)

    @_builtins.property
    @pulumi.getter(name="thisController")
    def this_controller(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether to use this controller as the syslog server.
        """
        return pulumi.get(self, "this_controller")

    @this_controller.setter
    def this_controller(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "this_controller", value)

    @_builtins.property
    @pulumi.getter(name="thisControllerEncryptedOnly")
    def this_controller_encrypted_only(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether to only use encrypted connections to this controller for syslog.
        """
        return pulumi.get(self, "this_controller_encrypted_only")

    @this_controller_encrypted_only.setter
    def this_controller_encrypted_only(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "this_controller_encrypted_only", value)


@pulumi.input_type
class _RsyslogdState:
    def __init__(__self__, *,
                 contents: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
                 debug: Optional[pulumi.Input[_builtins.bool]] = None,
                 enabled: Optional[pulumi.Input[_builtins.bool]] = None,
                 ip: Optional[pulumi.Input[_builtins.str]] = None,
                 log_all_contents: Optional[pulumi.Input[_builtins.bool]] = None,
                 netconsole_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
                 netconsole_host: Optional[pulumi.Input[_builtins.str]] = None,
                 netconsole_port: Optional[pulumi.Input[_builtins.int]] = None,
                 port: Optional[pulumi.Input[_builtins.int]] = None,
                 site: Optional[pulumi.Input[_builtins.str]] = None,
                 this_controller: Optional[pulumi.Input[_builtins.bool]] = None,
                 this_controller_encrypted_only: Optional[pulumi.Input[_builtins.bool]] = None):
        """
        Input properties used for looking up and filtering Rsyslogd resources.
        :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] contents: List of log types to include in the remote syslog. Valid values: device, client, firewall*default*policy, triggers, updates, admin*activity, critical, security*detections, vpn.
        :param pulumi.Input[_builtins.bool] debug: Whether debug logging is enabled.
        :param pulumi.Input[_builtins.bool] enabled: Whether remote syslog is enabled.
        :param pulumi.Input[_builtins.str] ip: IP address of the remote syslog server.
        :param pulumi.Input[_builtins.bool] log_all_contents: Whether to log all content types.
        :param pulumi.Input[_builtins.bool] netconsole_enabled: Whether netconsole logging is enabled.
        :param pulumi.Input[_builtins.str] netconsole_host: Hostname or IP address of the netconsole server.
        :param pulumi.Input[_builtins.int] netconsole_port: Port number for the netconsole server. Valid values: 1-65535.
        :param pulumi.Input[_builtins.int] port: Port number for the remote syslog server. Valid values: 1-65535.
        :param pulumi.Input[_builtins.str] site: The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
        :param pulumi.Input[_builtins.bool] this_controller: Whether to use this controller as the syslog server.
        :param pulumi.Input[_builtins.bool] this_controller_encrypted_only: Whether to only use encrypted connections to this controller for syslog.
        """
        if contents is not None:
            pulumi.set(__self__, "contents", contents)
        if debug is not None:
            pulumi.set(__self__, "debug", debug)
        if enabled is not None:
            pulumi.set(__self__, "enabled", enabled)
        if ip is not None:
            pulumi.set(__self__, "ip", ip)
        if log_all_contents is not None:
            pulumi.set(__self__, "log_all_contents", log_all_contents)
        if netconsole_enabled is not None:
            pulumi.set(__self__, "netconsole_enabled", netconsole_enabled)
        if netconsole_host is not None:
            pulumi.set(__self__, "netconsole_host", netconsole_host)
        if netconsole_port is not None:
            pulumi.set(__self__, "netconsole_port", netconsole_port)
        if port is not None:
            pulumi.set(__self__, "port", port)
        if site is not None:
            pulumi.set(__self__, "site", site)
        if this_controller is not None:
            pulumi.set(__self__, "this_controller", this_controller)
        if this_controller_encrypted_only is not None:
            pulumi.set(__self__, "this_controller_encrypted_only", this_controller_encrypted_only)

    @_builtins.property
    @pulumi.getter
    def contents(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
        """
        List of log types to include in the remote syslog. Valid values: device, client, firewall*default*policy, triggers, updates, admin*activity, critical, security*detections, vpn.
        """
        return pulumi.get(self, "contents")

    @contents.setter
    def contents(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
        pulumi.set(self, "contents", value)

    @_builtins.property
    @pulumi.getter
    def debug(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether debug logging is enabled.
        """
        return pulumi.get(self, "debug")

    @debug.setter
    def debug(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "debug", value)

    @_builtins.property
    @pulumi.getter
    def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether remote syslog is enabled.
        """
        return pulumi.get(self, "enabled")

    @enabled.setter
    def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "enabled", value)

    @_builtins.property
    @pulumi.getter
    def ip(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        IP address of the remote syslog server.
        """
        return pulumi.get(self, "ip")

    @ip.setter
    def ip(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "ip", value)

    @_builtins.property
    @pulumi.getter(name="logAllContents")
    def log_all_contents(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether to log all content types.
        """
        return pulumi.get(self, "log_all_contents")

    @log_all_contents.setter
    def log_all_contents(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "log_all_contents", value)

    @_builtins.property
    @pulumi.getter(name="netconsoleEnabled")
    def netconsole_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether netconsole logging is enabled.
        """
        return pulumi.get(self, "netconsole_enabled")

    @netconsole_enabled.setter
    def netconsole_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "netconsole_enabled", value)

    @_builtins.property
    @pulumi.getter(name="netconsoleHost")
    def netconsole_host(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        Hostname or IP address of the netconsole server.
        """
        return pulumi.get(self, "netconsole_host")

    @netconsole_host.setter
    def netconsole_host(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "netconsole_host", value)

    @_builtins.property
    @pulumi.getter(name="netconsolePort")
    def netconsole_port(self) -> Optional[pulumi.Input[_builtins.int]]:
        """
        Port number for the netconsole server. Valid values: 1-65535.
        """
        return pulumi.get(self, "netconsole_port")

    @netconsole_port.setter
    def netconsole_port(self, value: Optional[pulumi.Input[_builtins.int]]):
        pulumi.set(self, "netconsole_port", value)

    @_builtins.property
    @pulumi.getter
    def port(self) -> Optional[pulumi.Input[_builtins.int]]:
        """
        Port number for the remote syslog server. Valid values: 1-65535.
        """
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: Optional[pulumi.Input[_builtins.int]]):
        pulumi.set(self, "port", value)

    @_builtins.property
    @pulumi.getter
    def site(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
        """
        return pulumi.get(self, "site")

    @site.setter
    def site(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "site", value)

    @_builtins.property
    @pulumi.getter(name="thisController")
    def this_controller(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether to use this controller as the syslog server.
        """
        return pulumi.get(self, "this_controller")

    @this_controller.setter
    def this_controller(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "this_controller", value)

    @_builtins.property
    @pulumi.getter(name="thisControllerEncryptedOnly")
    def this_controller_encrypted_only(self) -> Optional[pulumi.Input[_builtins.bool]]:
        """
        Whether to only use encrypted connections to this controller for syslog.
        """
        return pulumi.get(self, "this_controller_encrypted_only")

    @this_controller_encrypted_only.setter
    def this_controller_encrypted_only(self, value: Optional[pulumi.Input[_builtins.bool]]):
        pulumi.set(self, "this_controller_encrypted_only", value)


@pulumi.type_token("unifi:setting/rsyslogd:Rsyslogd")
class Rsyslogd(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 contents: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
                 debug: Optional[pulumi.Input[_builtins.bool]] = None,
                 enabled: Optional[pulumi.Input[_builtins.bool]] = None,
                 ip: Optional[pulumi.Input[_builtins.str]] = None,
                 log_all_contents: Optional[pulumi.Input[_builtins.bool]] = None,
                 netconsole_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
                 netconsole_host: Optional[pulumi.Input[_builtins.str]] = None,
                 netconsole_port: Optional[pulumi.Input[_builtins.int]] = None,
                 port: Optional[pulumi.Input[_builtins.int]] = None,
                 site: Optional[pulumi.Input[_builtins.str]] = None,
                 this_controller: Optional[pulumi.Input[_builtins.bool]] = None,
                 this_controller_encrypted_only: Optional[pulumi.Input[_builtins.bool]] = None,
                 __props__=None):
        """
        Manages Remote Syslog (rsyslogd) settings for UniFi devices. Controller version 8.5 or later is required.

        ## Example Usage

        ```python
        import pulumi
        import pulumiverse_unifi as unifi

        example = unifi.setting.Rsyslogd("example",
            enabled=True,
            ip="192.168.1.200",
            port=514,
            contents=[
                "device",
                "client",
                "admin_activity",
            ],
            debug=True,
            netconsole_enabled=True,
            netconsole_host="192.168.1.150",
            netconsole_port=1514)
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] contents: List of log types to include in the remote syslog. Valid values: device, client, firewall*default*policy, triggers, updates, admin*activity, critical, security*detections, vpn.
        :param pulumi.Input[_builtins.bool] debug: Whether debug logging is enabled.
        :param pulumi.Input[_builtins.bool] enabled: Whether remote syslog is enabled.
        :param pulumi.Input[_builtins.str] ip: IP address of the remote syslog server.
        :param pulumi.Input[_builtins.bool] log_all_contents: Whether to log all content types.
        :param pulumi.Input[_builtins.bool] netconsole_enabled: Whether netconsole logging is enabled.
        :param pulumi.Input[_builtins.str] netconsole_host: Hostname or IP address of the netconsole server.
        :param pulumi.Input[_builtins.int] netconsole_port: Port number for the netconsole server. Valid values: 1-65535.
        :param pulumi.Input[_builtins.int] port: Port number for the remote syslog server. Valid values: 1-65535.
        :param pulumi.Input[_builtins.str] site: The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
        :param pulumi.Input[_builtins.bool] this_controller: Whether to use this controller as the syslog server.
        :param pulumi.Input[_builtins.bool] this_controller_encrypted_only: Whether to only use encrypted connections to this controller for syslog.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: RsyslogdArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Manages Remote Syslog (rsyslogd) settings for UniFi devices. Controller version 8.5 or later is required.

        ## Example Usage

        ```python
        import pulumi
        import pulumiverse_unifi as unifi

        example = unifi.setting.Rsyslogd("example",
            enabled=True,
            ip="192.168.1.200",
            port=514,
            contents=[
                "device",
                "client",
                "admin_activity",
            ],
            debug=True,
            netconsole_enabled=True,
            netconsole_host="192.168.1.150",
            netconsole_port=1514)
        ```

        :param str resource_name: The name of the resource.
        :param RsyslogdArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(RsyslogdArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 contents: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
                 debug: Optional[pulumi.Input[_builtins.bool]] = None,
                 enabled: Optional[pulumi.Input[_builtins.bool]] = None,
                 ip: Optional[pulumi.Input[_builtins.str]] = None,
                 log_all_contents: Optional[pulumi.Input[_builtins.bool]] = None,
                 netconsole_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
                 netconsole_host: Optional[pulumi.Input[_builtins.str]] = None,
                 netconsole_port: Optional[pulumi.Input[_builtins.int]] = None,
                 port: Optional[pulumi.Input[_builtins.int]] = None,
                 site: Optional[pulumi.Input[_builtins.str]] = None,
                 this_controller: Optional[pulumi.Input[_builtins.bool]] = None,
                 this_controller_encrypted_only: Optional[pulumi.Input[_builtins.bool]] = None,
                 __props__=None):
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = RsyslogdArgs.__new__(RsyslogdArgs)

            __props__.__dict__["contents"] = contents
            __props__.__dict__["debug"] = debug
            if enabled is None and not opts.urn:
                raise TypeError("Missing required property 'enabled'")
            __props__.__dict__["enabled"] = enabled
            __props__.__dict__["ip"] = ip
            __props__.__dict__["log_all_contents"] = log_all_contents
            __props__.__dict__["netconsole_enabled"] = netconsole_enabled
            __props__.__dict__["netconsole_host"] = netconsole_host
            __props__.__dict__["netconsole_port"] = netconsole_port
            __props__.__dict__["port"] = port
            __props__.__dict__["site"] = site
            __props__.__dict__["this_controller"] = this_controller
            __props__.__dict__["this_controller_encrypted_only"] = this_controller_encrypted_only
        super(Rsyslogd, __self__).__init__(
            'unifi:setting/rsyslogd:Rsyslogd',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            contents: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
            debug: Optional[pulumi.Input[_builtins.bool]] = None,
            enabled: Optional[pulumi.Input[_builtins.bool]] = None,
            ip: Optional[pulumi.Input[_builtins.str]] = None,
            log_all_contents: Optional[pulumi.Input[_builtins.bool]] = None,
            netconsole_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
            netconsole_host: Optional[pulumi.Input[_builtins.str]] = None,
            netconsole_port: Optional[pulumi.Input[_builtins.int]] = None,
            port: Optional[pulumi.Input[_builtins.int]] = None,
            site: Optional[pulumi.Input[_builtins.str]] = None,
            this_controller: Optional[pulumi.Input[_builtins.bool]] = None,
            this_controller_encrypted_only: Optional[pulumi.Input[_builtins.bool]] = None) -> 'Rsyslogd':
        """
        Get an existing Rsyslogd resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] contents: List of log types to include in the remote syslog. Valid values: device, client, firewall*default*policy, triggers, updates, admin*activity, critical, security*detections, vpn.
        :param pulumi.Input[_builtins.bool] debug: Whether debug logging is enabled.
        :param pulumi.Input[_builtins.bool] enabled: Whether remote syslog is enabled.
        :param pulumi.Input[_builtins.str] ip: IP address of the remote syslog server.
        :param pulumi.Input[_builtins.bool] log_all_contents: Whether to log all content types.
        :param pulumi.Input[_builtins.bool] netconsole_enabled: Whether netconsole logging is enabled.
        :param pulumi.Input[_builtins.str] netconsole_host: Hostname or IP address of the netconsole server.
        :param pulumi.Input[_builtins.int] netconsole_port: Port number for the netconsole server. Valid values: 1-65535.
        :param pulumi.Input[_builtins.int] port: Port number for the remote syslog server. Valid values: 1-65535.
        :param pulumi.Input[_builtins.str] site: The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
        :param pulumi.Input[_builtins.bool] this_controller: Whether to use this controller as the syslog server.
        :param pulumi.Input[_builtins.bool] this_controller_encrypted_only: Whether to only use encrypted connections to this controller for syslog.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _RsyslogdState.__new__(_RsyslogdState)

        __props__.__dict__["contents"] = contents
        __props__.__dict__["debug"] = debug
        __props__.__dict__["enabled"] = enabled
        __props__.__dict__["ip"] = ip
        __props__.__dict__["log_all_contents"] = log_all_contents
        __props__.__dict__["netconsole_enabled"] = netconsole_enabled
        __props__.__dict__["netconsole_host"] = netconsole_host
        __props__.__dict__["netconsole_port"] = netconsole_port
        __props__.__dict__["port"] = port
        __props__.__dict__["site"] = site
        __props__.__dict__["this_controller"] = this_controller
        __props__.__dict__["this_controller_encrypted_only"] = this_controller_encrypted_only
        return Rsyslogd(resource_name, opts=opts, __props__=__props__)

    @_builtins.property
    @pulumi.getter
    def contents(self) -> pulumi.Output[Sequence[_builtins.str]]:
        """
        List of log types to include in the remote syslog. Valid values: device, client, firewall*default*policy, triggers, updates, admin*activity, critical, security*detections, vpn.
        """
        return pulumi.get(self, "contents")

    @_builtins.property
    @pulumi.getter
    def debug(self) -> pulumi.Output[_builtins.bool]:
        """
        Whether debug logging is enabled.
        """
        return pulumi.get(self, "debug")

    @_builtins.property
    @pulumi.getter
    def enabled(self) -> pulumi.Output[_builtins.bool]:
        """
        Whether remote syslog is enabled.
        """
        return pulumi.get(self, "enabled")

    @_builtins.property
    @pulumi.getter
    def ip(self) -> pulumi.Output[_builtins.str]:
        """
        IP address of the remote syslog server.
        """
        return pulumi.get(self, "ip")

    @_builtins.property
    @pulumi.getter(name="logAllContents")
    def log_all_contents(self) -> pulumi.Output[_builtins.bool]:
        """
        Whether to log all content types.
        """
        return pulumi.get(self, "log_all_contents")

    @_builtins.property
    @pulumi.getter(name="netconsoleEnabled")
    def netconsole_enabled(self) -> pulumi.Output[_builtins.bool]:
        """
        Whether netconsole logging is enabled.
        """
        return pulumi.get(self, "netconsole_enabled")

    @_builtins.property
    @pulumi.getter(name="netconsoleHost")
    def netconsole_host(self) -> pulumi.Output[_builtins.str]:
        """
        Hostname or IP address of the netconsole server.
        """
        return pulumi.get(self, "netconsole_host")

    @_builtins.property
    @pulumi.getter(name="netconsolePort")
    def netconsole_port(self) -> pulumi.Output[_builtins.int]:
        """
        Port number for the netconsole server. Valid values: 1-65535.
        """
        return pulumi.get(self, "netconsole_port")

    @_builtins.property
    @pulumi.getter
    def port(self) -> pulumi.Output[_builtins.int]:
        """
        Port number for the remote syslog server. Valid values: 1-65535.
        """
        return pulumi.get(self, "port")

    @_builtins.property
    @pulumi.getter
    def site(self) -> pulumi.Output[_builtins.str]:
        """
        The name of the UniFi site where this resource should be applied. If not specified, the default site will be used.
        """
        return pulumi.get(self, "site")

    @_builtins.property
    @pulumi.getter(name="thisController")
    def this_controller(self) -> pulumi.Output[_builtins.bool]:
        """
        Whether to use this controller as the syslog server.
        """
        return pulumi.get(self, "this_controller")

    @_builtins.property
    @pulumi.getter(name="thisControllerEncryptedOnly")
    def this_controller_encrypted_only(self) -> pulumi.Output[_builtins.bool]:
        """
        Whether to only use encrypted connections to this controller for syslog.
        """
        return pulumi.get(self, "this_controller_encrypted_only")

