formations/slides/modules_EOLE_envole/tronc-commun-2/api.tex

189 lines
5.1 KiB
TeX

\begin{frame}
\frametitle{Écrire en couleur}
\begin{itemize}
\item from pyeole.ansiprint import *
\item print\_red
\item print\_green
\item print\_orange
\item ...
\item print\_title
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Question}
\begin{itemize}
\item from pyeole.ihm import question\_ouinon
\item question\_ouinon
\begin{itemize}
\item question : contenu de la question de type oui/non
\item default : valeur par défaut (défaut non)
\item level : info|warn|err (défaut info)
\item return oui ou non
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item print\_orange('couleur orange')
\item print\_title('le titre')
\item a=question\_ouinon('voulez vous vraiment faire cette action')
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Gestion des services}
\begin{itemize}
\item from pyeole.service import *
\item manage\_service :
\begin{itemize}
\item action : start|stop|restart|status,
\item service : nom du service,
\item container : nom du conteneur (défaut root).
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item a=service\_out('ntp', 'stop')
\item a=service\_code('smbd', 'stop', 'fichier')
\item a=service\_code\_no\_container('apache2', 'restart')
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Execution de commande}
\begin{itemize}
\item from pyeole.process import *
\item system\_code : exécution de commande, stdout et stderr dans la console
\item system\_out : rien dans la console
\begin{itemize}
\item cmd : commande (list) ;
\item stdin : valeur de STDIN ;
\item container : nom du conteneur (root par défaut) ;
\item env : variable d'environnement ;
\item *context : ssh ou chroot (True par défaut) ;
\item *pty : créé un pseudo terminal (False par défaut).
\end{itemize}
\end{itemize}
\end{frame}
%\begin{frame}
% \frametitle{Execution de commande}
% \begin{itemize}
% \item from pyeole.process import *
% \item is\_installed
% \begin{itemize}
% \item package
% \item container : (défaut root)
% \item *context : (défaut True)
% \end{itemize}
% \item tcpcheck
% \begin{itemize}
% \item ip\_address : adresse IP
% \item port : port a tester
% \item timeout : temps d'attente maximum (défaut 1)
% \end{itemize}
% \item test\_conteneur : test si un conteneur est démarré
% \begin{itemize}
% \item container : nom du conteneur
% \item *ip\_address : adresse IP du conteneur (défaut None)
% \end{itemize}
% \end{itemize}
%\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item a=system\_code(['echo', 'mot'])
\item a=system\_out(['echo', 'mot'])
\item stdin : a=system\_code('cat', stdin="mot")
\item env : a=system\_code('env', env={'mot': 'mot'})
\item container : a=system\_code(['ls', '/etc/samba/'], container='fichier')
% \item installé : is\_installed('samba-common')
% \item non installé : is\_installed('samba')
% \item conteneur : is\_installed('samba', container='fichier')
\item test service : tcpcheck('192.0.2.52', '139')
% \item test\_conteneur('fichier')
\end{itemize}
\end{frame}
%FIXME
\begin{frame}
\frametitle{Gestion des locks}
\begin{itemize}
\item from pyeole.lock import *
\item acquire : ajout d'un lock
\item release : supprimer un lock
\item is\_locked : vérifier la présence d'un fichier lock
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item ajouter, vérifier et supprimer un lock.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Lire valeur du dictionnaire}
\begin{itemize}
\item Via creoled :
\begin{itemize}
\item from creole.client import CreoleClient
\item client = CreoleClient()
\item client.get\_creole(variable)
\end{itemize}
\item en chargeant les dictionnaires :
\begin{itemize}
\item from creole.loader import creole\_loader
\item config = creole\_loader()
\item config.creole.famille.variable
\item config.creole.famille.master.slave
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Modifier valeur du dictionnaire}
\begin{itemize}
\item from creole.loader import creole\_loader, config\_save\_values
\item config = creole\_loader(rw=True)
\item config.creole.famille.variable = value
\item config.creole.famille.master.master.append(value)
\item config.creole.famille.master.slave[-1] = value
\item config\_save\_values(config)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Afficher la valeur de la variable adresse\_ip\_eth0 ;
\item afficher la valeur de la variable netmask\_ssh\_eth0.
\end{itemize}
\end{frame}
%\begin{frame}
% \frametitle{Valeur du dictionnaire conteneur}
% \begin{itemize}
% \item from creole.eosfunc import *
% \item load\_conteneur\_var() : chargement des configurations conteneurs
% \end{itemize}
%\end{frame}
%
%\begin{frame}
% \frametitle{Pratique}
% \begin{itemize}
% \item container\_var = load\_container\_var()
% \item print container\_var['container\_ip\_fichier']
% \end{itemize}
%\end{frame}