def get_keypair_creators(self, outputs_pk_key=None): """ Returns a list of keypair creator objects as configured by the heat template :return: list() of OpenStackKeypair objects """ out = list() keypairs = heat_utils.get_stack_keypairs(self.__heat_cli, self.__nova, self.__stack) for keypair in keypairs: settings = settings_utils.create_keypair_config( self.__heat_cli, self.__stack, keypair, outputs_pk_key) creator = OpenStackKeypair(self._os_creds, settings) out.append(creator) try: creator.initialize() except Exception as e: logger.error( 'Unexpected error initializing volume type creator - %s', e) return out
def create_keypair(os_creds, keypair_settings, cleanup=False): """ Creates a keypair that can be applied to an instance :param os_creds: The OpenStack credentials object :param keypair_settings: The KeypairConfig object :param cleanup: Denotes whether or not this is being called for cleanup :return: A reference to the keypair creator object """ keypair_creator = OpenStackKeypair(os_creds, keypair_settings) if cleanup: keypair_creator.initialize() else: keypair_creator.create() return keypair_creator