| Server IP : 3.96.16.70 / Your IP : 216.73.216.15 Web Server : Apache System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/python3.9/site-packages/cfnbootstrap/__pycache__/ |
Upload File : |
a
��0iF6 � @ s� d dl mZ d dlmZ d dlmZ d dlZd dlZd dlZ e�
d�ZdZzd dl
Z
d dlZd dlZW n ey| dZY n0 G dd � d e�ZG d
d� de�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZdS )� )�util)� ToolError)�
ProcessHelperNzcfn.initTFc @ s e Zd Zdd� Zdd� ZdS )�ServiceToolc C s� | � ||d�rdS | � ||d�r$dS | � ||d�r6dS | � ||d�rHdS | � ||d�rZdS d|v r�d|v r�|d �� D ]2\}}||d v rvt|d | �t|�@ rv dS qvdS ) N�filesTZsources�groupsZusersZcommandsZpackagesF)�_list_type_change_occurred�items� frozenset)�self�serviceProperties�changes�managerZpkg_list� r �>/usr/lib/python3.9/site-packages/cfnbootstrap/service_tools.py�_detect_required_restart# s(
��z$ServiceTool._detect_required_restartc C s0 ||v r,||v r,t || �t || �@ r,dS dS )NTF)r
)r r r
�keyr r r r = s z&ServiceTool._list_type_change_occurredN)�__name__�
__module__�__qualname__r r r r r r r ! s r c @ s* e Zd ZdZe�e�fdd�Zdd� ZdS )�WindowsServiceToolz'
Manages Windows services
c
C s� |� � st�d� dS ts"td��t�ddtj�}�z�|�� D �]h\}}t� ||tj
�}t�d|d |d � �z*d|v r�t�d� t�
|d �r�tjntj}| �||� nt�d|� | �||�r�t�d |� t�|� n�d|v �r�t�
|d �}t�|�d
} t�d|| � | tj@ �p$| tj@ }
|�rL|
�sLt�d|� t�|d� n4|�st|
�rtt�d
|� t�|tj� nt�d|� nt�d|� W t�|� q>t�|� 0 q>W t�|� nt�|� 0 dS )z�
Takes a dict of service name to dict.
Keys we look for are:
- "enabled" (setting a service to "Automatic")
- "ensureRunning" (actually start the service)
zNo Windows services specifiedNz.Cannot modify windows services without pywin32zEnabled: %s, EnsureRunning: %s�enabled�
ensureRunningz5Setting service to AUTO_START or SERVICE_DEMAND_START�)Not modifying enabled state of service %s�2Restarting %s due to change detected in dependency� zService %s status: %s�(Starting service %s as it is not running�$Stopping service %s as it is running�-No need to modify running state of service %s�)Not modifying running state of service %s)�keys�log�debug�_windows_supportedr �win32serviceZ
OpenSCManagerZSC_MANAGER_ALL_ACCESSr ZOpenServiceZSERVICE_ALL_ACCESS�infor �interpret_booleanZSERVICE_AUTO_STARTZSERVICE_DEMAND_START�_set_service_startup_typer �win32serviceutilZRestartServiceZQueryServiceStatusZSERVICE_RUNNINGZSERVICE_START_PENDINGZStartServiceZControlServiceZSERVICE_CONTROL_STOPZCloseServiceHandle)r �actionr
r �servicer Zhandle�
start_typer �status� isRunningr r r �applyJ sD
zWindowsServiceTool.applyc
C sP t �d|� t�|tj|tjd d dd d d d �}|dkrLt�� }t �d||� d S )Nz�Changing service startup type to %s. See https://learn.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-changeserviceconfiga for detailsr z�Failed to change startup type. Return value: %s, error value from GetLastError: %s. See https://tiny.amazon.com/5h2c664u/learmicrenuswindwin3apiwins for more info.)r! r"