| Current Path : /lib/python3/dist-packages/sos/report/plugins/__pycache__/ |
| Current File : //lib/python3/dist-packages/sos/report/plugins/__pycache__/gcp.cpython-38.pyc |
U
���bZ � @ sb d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl m
Z
mZmZ G dd� de
e�Z
dS ) � N)�HTTPResponse)�Any)�request)�URLError)�Plugin�IndependentPlugin� PluginOptc @ s� e Zd ZdZdZdZedddd�gZdZd Z d
Z
dZdd
� Zdd� Z
ed�dd�Zeeed�dd��Zdd� Zeeed�dd��ZdS )�GCPzGoogle Cloud Platform�gcp)Zvirt�keep-piiFzyStop the plugin from removing PIIs like project name or organization ID from the metadata retrieved from Metadata server.)�defaultZdescz3http://metadata.google.internal/computeMetadata/v1/zBhttp://metadata.google.internal/computeMetadata/v1/?recursive=truez[--REDACTED--]zDDMI: Google Google Compute Engine/Google Compute Engine, BIOS Googlec C s( | � d�}|d dkrdS | j|d kS )z�
Checks if this plugin should be executed at all. In this case, it
will check the `dmesg` command output to see if the system is
running on a Google Cloud Compute instance.
�dmesgZstatusr F�output)Zexec_cmd�
GOOGLE_DMI)�selfr
� r �8/usr/lib/python3/dist-packages/sos/report/plugins/gcp.py�
check_enabled( s
zGCP.check_enabledc
C s� | j ddgd� z6| �� | _| �� | jtj| jdd�dddgd� W n: tk
r� } z| jt|�dddgd� W 5 d }~X Y nX | j d
dgd� d S )z�
Collect the following info:
* Metadata from the Metadata server
* `gcloud auth list` output
* Any google services output from journal
zgcloud auth listr
)�tags� )�indentz
metadata.jsonT)Zplug_dirr Nzgoogle*)Zunitsr )
Zadd_cmd_output�get_metadata�metadata�scrub_metadataZadd_string_as_file�json�dumps�RuntimeError�strZadd_journal)r �errr r r �setup3 s
�
�z GCP.setup)�returnc C s"