Source code for pycloudlib.key

# This file is part of pycloudlib. See LICENSE file for license information.
"""Base Key Class."""


[docs]class KeyPair: """Key Class."""
[docs] def __init__(self, public_key_path, private_key_path=None, name=None): """Initialize key class to generate key or reuse existing key. The public key path is given then the key is stored and the private key is assumed to be named the same minus '.pub' otherwise the user should also specify the private key path. Args: public_key_path: Path to public key private_key_path: Path to private key name: Name to reference key by in clouds """ self.name = name self.public_key_path = public_key_path if private_key_path: self.private_key_path = private_key_path else: self.private_key_path = self.public_key_path.replace('.pub', '')
def __str__(self): """Create string representation of class.""" return 'KeyPair({}, {}, name={})'.format( self.private_key_path, self.public_key_path, self.name ) @property def public_key_content(self): """Read the contents of the public key. Returns: output of public key """ return open(self.public_key_path).read()