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)

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