:mod:`airflow.contrib.operators.gcs_to_gdrive_operator`
=======================================================

.. py:module:: airflow.contrib.operators.gcs_to_gdrive_operator

.. autoapi-nested-parse::

   This module contains a Google Cloud Storage operator.



Module Contents
---------------

.. data:: WILDCARD
   :annotation: = *

   

.. py:class:: GcsToGDriveOperator(source_bucket, source_object, destination_object=None, move_object=False, gcp_conn_id='google_cloud_default', delegate_to=None, *args, **kwargs)

   Bases: :class:`airflow.models.BaseOperator`

   Copies objects from a Google Cloud Storage service service to Google Drive service, with renaming
   if requested.

   Using this operator requires the following OAuth 2.0 scope:

   .. code-block:: none

       https://www.googleapis.com/auth/drive

   :param source_bucket: The source Google Cloud Storage bucket where the object is. (templated)
   :type source_bucket: str
   :param source_object: The source name of the object to copy in the Google cloud
       storage bucket. (templated)
       You can use only one wildcard for objects (filenames) within your bucket. The wildcard can appear
       inside the object name or at the end of the object name. Appending a wildcard to the bucket name
       is unsupported.
   :type source_object: str
   :param destination_object: The destination name of the object in the destination Google Drive
       service. (templated)
       If a wildcard is supplied in the source_object argument, this is the prefix that will be prepended
       to the final destination objects' paths.
       Note that the source path's part before the wildcard will be removed;
       if it needs to be retained it should be appended to destination_object.
       For example, with prefix ``foo/*`` and destination_object ``blah/``, the file ``foo/baz`` will be
       copied to ``blah/baz``; to retain the prefix write the destination_object as e.g. ``blah/foo``, in
       which case the copied file will be named ``blah/foo/baz``.
   :type destination_object: str
   :param move_object: When move object is True, the object is moved instead of copied to the new location.
       This is the equivalent of a mv command as opposed to a cp command.
   :type move_object: bool
   :param gcp_conn_id: (Optional) The connection ID used to connect to Google Cloud Platform.
   :type gcp_conn_id: str
   :param delegate_to: The account to impersonate, if any.
       For this to work, the service account making the request must have domain-wide delegation enabled.
   :type delegate_to: str

   .. attribute:: template_fields
      :annotation: = ['source_bucket', 'source_object', 'destination_object']

      

   .. attribute:: ui_color
      :annotation: = #f0eee4

      

   
   .. method:: execute(self, context)



   
   .. method:: _copy_single_object(self, source_object, destination_object)




