classService(Section):""" Systemd [Service] Section Directives """type:Optional[TypeType]=Field(None,title="Type",description="The type of service to start. One of simple, forking, oneshot, dbus, notify, idle, or ""exec. If this option is not specified, simple is assumed.")remain_after_exit:Optional[bool]=Field(None,title="RemainAfterExit",description="This directive is commonly used with the oneshot type. It indicates that ""the service should be considered active even after the process exits.")pid_file:Optional[str]=Field(None,title="PIDFile",description="If the service type is marked as “forking”, this directive is used to set the ""path of the file that should contain the process ID number of the main child ""that should be monitored.")bus_name:Optional[str]=Field(None,title="BusName",description="This directive should be set to the D-Bus bus name that the service will attempt ""to acquire when using the “dbus” service type.")notify_access:Optional[str]=Field(None,title="NotifyAccess",description='This specifies access to the socket that should be used to listen for notifications ''when the “notify” service type is selected This can be “none”, “main”, or "all. ''The default, “none”, ignores all status messages. The “main” option will listen to ''messages from the main process and the “all” option will cause all members of ''the service’s control group to be processed.')exec_start:Optional[Union[str,List[str]]]=Field(None,title="ExecStart",description="This specifies the full path and the arguments of the command to be executed to ""start the process. This may only be specified once (except for “oneshot” services). ""If the path to the command is preceded by a dash “-” character, non-zero exit ""statuses will be accepted without marking the unit activation as failed.")exec_start_pre:Optional[Union[str,List[str]]]=Field(None,title="ExecStartPre",description="This can be used to provide additional commands that should be executed before ""the main process is started. This can be used multiple times. Again, ""commands must specify a full path and they can be preceded by “-” to indicate that ""the failure of the command will be tolerated.")exec_start_post:Optional[Union[str,List[str]]]=Field(None,title="ExecStartPost",description="This has the same exact qualities as `ExecStartPre=` except that it specifies ""commands that will be run after the main process is started.")exec_reload:Optional[Union[str,List[str]]]=Field(None,title="ExecReload",description="This optional directive indicates the command necessary to reload the ""configuration of the service if available")exec_stop:Optional[Union[str,List[str]]]=Field(None,title="ExecStop",description="This indicates the command needed to stop the service. If this is not given, ""the process will be killed immediately when the service is stopped.")exec_stop_post:Optional[Union[str,List[str]]]=Field(None,title="ExecStopPost",description="This can be used to specify commands to execute following the stop command")restart_sec:Optional[int]=Field(None,title='RestartSec',description='If automatically restarting the service is enabled, this specifies the amount of time to ''wait before attempting to restart the service.')restart:Optional[RestartType]=Field(None,title='Restart',description='This indicates the circumstances under which systemd will attempt to automatically restart the ''service. This can be set to values like “always”, “on-success”, “on-failure”, “on-abnormal”, ''“on-abort”, or “on-watchdog”. These will trigger a restart according to the way that the service ''was stopped.')timeout_sec:Optional[int]=Field(None,title='TimeoutSec',description='This configures the amount of time that systemd will wait when stopping or stopping the service ''before marking it as failed or forcefully killing it. You can set separate timeouts with ''TimeoutStartSec= and TimeoutStopSec= as well.')user:Optional[str]=Field(None,title='User',description='This specifies the user that the service should be run as. This can be a user name or a numeric ''UID. If this is not specified, the service will be run as root.')group:Optional[str]=Field(None,title='Group',description='This specifies the group that the service should be run as. This can be a group name or a numeric ''GID. If this is not specified, the service will be run as root.')nice:Optional[int]=Field(None,title='Nice',description='This specifies the nice level of the service. This can be a value between -20 and 19. ''The default is 0.')classConfig:fields={'remain_after_exit':'RemainAfterExit','pid_file':'PIDFile','bus_name':'BusName','notify_access':'NotifyAccess','exec_start':'ExecStart','exec_start_pre':'ExecStartPre','exec_start_post':'ExecStartPost','exec_reload':'ExecReload','exec_stop':'ExecStop','exec_stop_post':'ExecStopPost','restart_sec':'RestartSec','timeout_sec':'TimeoutSec','user':'User','group':'Group','nice':'Nice',}