File: //lib/python3.6/site-packages/awscli/customizations/__pycache__/s3uploader.cpython-36.pyc
3
�T_j � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl m
Z
d dlmZ ej
e�ZG dd� de�ZG dd� de�ZG d d
� d
e
�ZdS )� N)�TransferManager)�BaseSubscriber)�collections_abcc @ s e Zd Zdd� ZdZdS )�NoSuchBucketErrorc K s$ | j jf |�}tj| |� || _d S )N)�fmt�format� Exception�__init__�kwargs)�selfr
�msg� r
� /usr/lib/python3.6/s3uploader.pyr s zNoSuchBucketError.__init__zaS3 Bucket does not exist. Execute the command to create a new bucket
aws s3 mb s3://{bucket_name}N)�__name__�
__module__�__qualname__r r r
r
r
r r s r c @ sh e Zd ZdZedd� �Zejdd� �Zddd�Zd d
� Zddd�Z d
d� Z
dd� Zdd� Zddd�Z
dS )�
S3Uploaderz�
Class to upload objects to S3 bucket that use versioning. If bucket
does not already use versioning, this class will turn on versioning.
c C s | j S )zO
Metadata to attach to the object(s) uploaded by the uploader.
)�_artifact_metadata)r r
r
r �artifact_metadata1 s zS3Uploader.artifact_metadatac C s( |d k rt |tj� rtd��|| _d S )Nz(Artifact metadata should be in dict type)�
isinstancer �Mapping� TypeErrorr )r �valr
r
r r 8 s NFc C sB || _ || _|pd | _|| _|| _|| _|s8t| j�| _d | _d S )N)�bucket_name�prefix�
kms_key_id�force_upload�s3�transfer_managerr r )r Z s3_clientr r r r r r
r
r r >