code: def get_plans(self, reference):
          
          response = make_request(
              '{}charm?charm-url={}'.format(self.url,
                                            'cs:' + reference.path()),
              timeout=self.timeout, client=self._client)
          try:
              return tuple(map(lambda plan: Plan(
                  url=plan['url'], plan=plan['plan'],
                  created_on=datetime.datetime.strptime(
                      plan['created-on'],
                      "%Y-%m-%dT%H:%M:%SZ"
                  ),
                  description=plan.get('description'),
                  price=plan.get('price')), response))
          except Exception as err:
              log.error(
                  'cannot process plans: invalid JSON response: {!r}'.format(
                      response))
              raise ServerError(
                  'unable to get list of plans for {}: {}'.format(
                      reference.path(), err))
docs: Get the plans for a given charm.
  
          @param the Reference to a charm.
          @return a tuple of plans or an empty tuple if no plans.
          @raise ServerError