docs: def key_file_public(self):
          '''str: path to the public key that will be uploaded to the cloud
          provider (by default looks for a ``.pub`` file with name
          :attr:`key_name <tmdeploy.config.CloudSection.key_name>` in ``~/.ssh``
          directory)
          '''
          if not hasattr(self, '_key_file_public'):
              self.key_file_public = '~/.ssh/{key}.pub'.format(key=self.key_name)
          return self._key_file_public