관리-도구
편집 파일: gcp.cpython-39.pyc
a -�_g� � @ 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 dZdZd d� Z dd� Zdd� Zed�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--]NzDDMI: Google Google Compute Engine/Google Compute Engine, BIOS Googlec C s( | � d�}|d dkrdS | j|d v S )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. �dmesg�statusr F�output)Zexec_cmd� GOOGLE_DMI)�selfr � r �:/usr/lib/python3.9/site-packages/sos/report/plugins/gcp.py� check_enabled) s zGCP.check_enabledc C s$ | j ddgd� | jddgd� dS )z� Collect the following info: * Metadata from the Metadata server * `gcloud auth list` output * Any google services output from journal zgcloud auth listr ��tagszgoogle*)Zunitsr N)Zadd_cmd_outputZadd_journal�r r r r �setup4 s z GCP.setupc C s� | j ddgd��p}z,| �� | _| �� |�tj| jdd�� W n2 typ } z|�t|�� W Y d }~n d }~0 0 W d � n1 s�0 Y d S )Nz metadata.jsonr r � )�indent) Zcollection_file�get_metadata�metadata�scrub_metadata�write�json�dumps�RuntimeError�str)r Zmfile�errr r r �collectB s zGCP.collect)�returnc C s"