CURRENT PATH:
/
opt
/
gsutil
/
gslib
/
commands
/
__pycache__
/
[ ⬅ KEMBALI ]
|
[ HOME ]
Upload File:
Upload Ke Sini
Dir Baru
File Baru
Editing:
pap.cpython-39.pyc
a +(Wg% � @ s$ d Z ddlmZ ddlmZ ddlZddlmZ ddlmZ ddl m Z ddlmZ dd l mZ dd l mZ ddlmZ ddlmZ dd lmZ ddlmZ ddlmZ dZdZee�d� ZdZdZ de e Z!eee!�Z"eee�Z#eee �Z$ej%j&Z&de�'� d d d Z(G dd� de�Z)dS )z/This module provides the pap command to gsutil.� )�absolute_import)�print_functionN)�metrics)�Command)�CommandArgument)�ApiSelector)�CommandException)�NO_URLS_MATCHED_TARGET)�CreateHelpText)�storage_v1_messages)�NO_MAX)�GcloudStorageMap)� shim_utilz= gsutil pap set (enforced|inherited) gs://<bucket_name>... z( gsutil pap get gs://<bucket_name>... � a <B>SET</B> The ``pap set`` command configures public access prevention for Cloud Storage buckets. If you set a bucket to be ``inherited``, it uses public access prevention only if the bucket is subject to the `public access prevention <https://cloud.google.com/storage/docs/org-policy-constraints#public-access-prevention>`_ organization policy constraint. <B>SET EXAMPLES</B> Configure ``redbucket`` and ``bluebucket`` to use public access prevention: gsutil pap set enforced gs://redbucket gs://bluebucket a <B>GET</B> The ``pap get`` command returns public access prevention values for the specified Cloud Storage buckets. <B>GET EXAMPLES</B> Check if ``redbucket`` and ``bluebucket`` are using public access prevention: gsutil pap get gs://redbucket gs://bluebucket z� The ``pap`` command is used to retrieve or configure the `public access prevention <https://cloud.google.com/storage/docs/public-access-prevention>`_ setting of Cloud Storage buckets. This command has two sub-commands: ``get`` and ``set``. z)--format=value[separator=": "](name.sub("z","gs://"),z.iamConfiguration.publicAccessPrevention.yesno(zno="inherited"))c @ s� e Zd ZdZejddgededdddej gej e �d�ge dd d gd�e �� gd�d �Z ejddgddeeed�d�Zeedddedgi dd�eeg d�i d�eg d�i d�d�i d�d�i d�Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%S )&� PapCommandz"Implements the gsutil pap command.ZpapZpublicaccessprevention� � F� �mode�enforced� inherited)�choices��get�set)�command_name_aliases�usage_synopsis�min_args�max_args�supported_sub_args�file_url_ok�provider_url_ok�urls_start_arg�gs_api_support�gs_default_api�argparse_arguments�command_helpz"Configure public access prevention)� help_name�help_name_aliases� help_type�help_one_line_summary� help_text�subcommand_help_text�storage�buckets�listz--rawT)�gcloud_command�flag_map�supports_output_translation)r- r. �updatez--public-access-prevention)r0 r1 )r- r. r3 z--no-public-access-prevention)r r c C s |j jdkrtd| j ��d S )N�gsz7The %s command can only be used with gs:// bucket URLs.)�storage_url�schemer �command_name)�self�blr� r: �!/opt/gsutil/gslib/commands/pap.py�,_ValidateBucketListingRefAndReturnBucketName� s ��z7PapCommand._ValidateBucketListingRefAndReturnBucketNamec C sP |j }| jj|jdg|jd�}|j}|jp,d}t|��d�}t d||f � dS )z7Gets the public access prevention setting for a bucket.�iamConfiguration��fields�providerr �/z%s: %sN) r5 � gsutil_api� GetBucket�bucket_namer6 r= �publicAccessPrevention�str�rstrip�print)r8 r9 � bucket_url�bucket_metadata� iam_config�public_access_prevention�bucketr: r: r; �_GetPublicAccessPrevention� s � z%PapCommand._GetPublicAccessPreventionc C sV |j }t� }||_tj|d�}td|t|��d�f � | jj |j |dg|jd� dS )zMSets the Public Access Prevention setting for a bucket enforced or inherited.)r= z*Setting Public Access Prevention %s for %srA r= r>