old_contents: # Copyright 2016 Google Inc. All Rights Reserved.
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #      http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  """Demonstrates how to authenticate to Google Cloud Platform APIs using
  the Google Cloud Client Libraries."""
  
  import argparse
  
  
  def implicit():
      from google.cloud import storage
  
      # If you don't specify credentials when constructing the client, the
      # client library will look for credentials in the environment.
      storage_client = storage.Client()
  
      # Make an authenticated API request
      buckets = list(storage_client.list_buckets())
      print(buckets)
  
  
  def explicit():
      from google.cloud import storage
  
      # Explicitly use service account credentials by specifying the private key
      # file. All clients in google-cloud-python have this helper, see
      # https://google-cloud-python.readthedocs.io/en/latest/core/modules.html
      #   #google.cloud.client.Client.from_service_account_json
      storage_client = storage.Client.from_service_account_json(
          'service_account.json')
  
      # Make an authenticated API request
      buckets = list(storage_client.list_buckets())
      print(buckets)
  
  
  def explicit_compute_engine(project):
      from google.auth import compute_engine
      from google.cloud import storage
  
      # Explicitly use Compute Engine credentials. These credentials are
      # available on Compute Engine, App Engine Flexible, and Container Engine.
      credentials = compute_engine.Credentials()
  
      # Create the client using the credentials and specifying a project ID.
      storage_client = storage.Client(credentials=credentials, project=project)
  
      # Make an authenticated API request
      buckets = list(storage_client.list_buckets())
      print(buckets)
  
  
  if __name__ == '__main__':
      parser = argparse.ArgumentParser(
          description=__doc__,
          formatter_class=argparse.RawDescriptionHelpFormatter)
  
      subparsers = parser.add_subparsers(dest='command')
      subparsers.add_parser('implicit', help=implicit.__doc__)
      subparsers.add_parser('explicit', help=explicit.__doc__)
      explicit_gce_parser = subparsers.add_parser(
          'explicit_compute_engine', help=explicit_compute_engine.__doc__)
      explicit_gce_parser.add_argument('project')
  
      args = parser.parse_args()
  
      if args.command == 'implicit':
          implicit()
      elif args.command == 'explicit':
          explicit()
      elif args.command == 'explicit_compute_engine':
          explicit_compute_engine(args.project)
  
new_contents: # Copyright 2016 Google Inc. All Rights Reserved.
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #      http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  """Demonstrates how to authenticate to Google Cloud Platform APIs using
  the Google Cloud Client Libraries."""
  
  import argparse
  
  
  def implicit():
      from google.cloud import storage
  
      # If you don't specify credentials when constructing the client, the
      # client library will look for credentials in the environment.
      storage_client = storage.Client()
  
      # Make an authenticated API request
      buckets = list(storage_client.list_buckets())
      print(buckets)
  
  
  def explicit():
      from google.cloud import storage
  
      # Explicitly use service account credentials by specifying the private key
      # file.
      storage_client = storage.Client.from_service_account_json(
          'service_account.json')
  
      # Make an authenticated API request
      buckets = list(storage_client.list_buckets())
      print(buckets)
  
  
  def explicit_compute_engine(project):
      from google.auth import compute_engine
      from google.cloud import storage
  
      # Explicitly use Compute Engine credentials. These credentials are
      # available on Compute Engine, App Engine Flexible, and Container Engine.
      credentials = compute_engine.Credentials()
  
      # Create the client using the credentials and specifying a project ID.
      storage_client = storage.Client(credentials=credentials, project=project)
  
      # Make an authenticated API request
      buckets = list(storage_client.list_buckets())
      print(buckets)
  
  
  if __name__ == '__main__':
      parser = argparse.ArgumentParser(
          description=__doc__,
          formatter_class=argparse.RawDescriptionHelpFormatter)
  
      subparsers = parser.add_subparsers(dest='command')
      subparsers.add_parser('implicit', help=implicit.__doc__)
      subparsers.add_parser('explicit', help=explicit.__doc__)
      explicit_gce_parser = subparsers.add_parser(
          'explicit_compute_engine', help=explicit_compute_engine.__doc__)
      explicit_gce_parser.add_argument('project')
  
      args = parser.parse_args()
  
      if args.command == 'implicit':
          implicit()
      elif args.command == 'explicit':
          explicit()
      elif args.command == 'explicit_compute_engine':
          explicit_compute_engine(args.project)
  
subject: Remove bad link