code: def create_exponential(num_finite_buckets, growth_factor, scale):
      
      if num_finite_buckets <= 0:
          raise ValueError(_BAD_NUM_FINITE_BUCKETS)
      if growth_factor <= 1.0:
          raise ValueError(_BAD_FLOAT_ARG % (u'growth factor', 1.0))
      if scale <= 0.0:
          raise ValueError(_BAD_FLOAT_ARG % (u'scale', 0.0))
      return sc_messages.Distribution(
          bucketCounts=[0] * (num_finite_buckets + 2),
          exponentialBuckets=sc_messages.ExponentialBuckets(
              numFiniteBuckets=num_finite_buckets,
              growthFactor=growth_factor,
              scale=scale))
docs: Creates a new instance of distribution with exponential buckets
  
      Args:
         num_finite_buckets (int): initializes number of finite buckets
         growth_factor (float): initializes the growth factor
         scale (float): initializes the scale
  
      Return:
         :class:`endpoints_management.gen.servicecontrol_v1_messages.Distribution`
  
      Raises:
         ValueError: if the args are invalid for creating an instance