# Copyright 2013 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. DEPS = [ 'gsutil', 'recipe_engine/path', ] def RunSteps(api): """Move things around in a loop!""" local_file = api.path['tmp_base'].join('boom') bucket = 'example' cloud_file = 'some/random/path/to/boom' api.gsutil.upload(local_file, bucket, cloud_file, metadata={ 'Test-Field': 'value', 'Remove-Me': None, 'x-custom-field': 'custom-value', 'Cache-Control': 'no-cache', }, unauthenticated_url=True) # Upload without retry wrapper. api.gsutil.upload(local_file, bucket, cloud_file, metadata={ 'Test-Field': 'value', 'Remove-Me': None, 'x-custom-field': 'custom-value', 'Cache-Control': 'no-cache', }, unauthenticated_url=True, parallel_upload=True, multithreaded=True, use_retry_wrapper=False) api.gsutil(['cp', 'gs://%s/some/random/path/**' % bucket, 'gs://%s/staging' % bucket]) api.gsutil(['cp', 'gs://%s/some/random/path/**' % bucket, 'gs://%s/staging' % bucket], version='3.25') api.gsutil.download_url( 'https://storage.cloud.google.com/' + bucket + '/' + cloud_file, local_file, name='gsutil download url') # Non-normalized URL. try: api.gsutil.download_url( 'https://someotherservice.localhost', local_file, name='gsutil download url') except AssertionError: pass new_cloud_file = 'staging/to/boom' new_local_file = api.path['tmp_base'].join('erang') api.gsutil.download(bucket, new_cloud_file, new_local_file) private_key_file = 'path/to/key' _signed_url = api.gsutil.signurl(private_key_file, bucket, cloud_file, name='signed url') api.gsutil.remove_url('gs://%s/%s' % (bucket, new_cloud_file)) api.gsutil.list('gs://%s/foo' % bucket) api.gsutil.copy(bucket, cloud_file, bucket, new_cloud_file) api.gsutil.cat('gs://%s/foo' % bucket) def GenTests(api): yield api.test('basic')