def metadata(self, server_id): """This API lists metadata for a specified server. :param string server_id: ID for specified server. :return: A list of :class:`~ecl.baremetal.v2.metadata.Metadata` """ metadata = _metadata.Metadata() return list(metadata.list(self.session, server_id))
def delete_metadata(self, server_id, key): """This API deletes metadata item (key and value) by specifying key for a specified server. :param string server_id: ID for specified server. :param string key: A string. Maximum length is 255 characters. :return: ``None`` """ metadata = _metadata.Metadata() return metadata.delete(self.session, server_id, key)
def show_metadata(self, server_id, key): """This API shows metadata item (key and value) by specifying key for a specified server. :param string server_id: ID for specified server. :param string key: A string. Maximum length is 255 characters. :return: :class:`~ecl.baremetal.v2.metadata.Metadata` """ metadata = _metadata.Metadata() return metadata.get(self.session, server_id, key)
def update_metadata(self, server_id, key, **attr): """This API sets additonal metadata item (key and value) by specifying key for a specified server. :param string server_id: ID for specified server. :param string key: A string. Maximum length is 255 characters. :param kwargs attr: Keyword arguments which will be used to do update process for :class:`~ecl.baremetal.metadata.Metadata`. :return: :class:`~ecl.baremetal.v2.metadata.Metadata` """ metadata = _metadata.Metadata() return metadata.update(self.session, server_id, key, **attr)
def replace_metadata(self, server_id, **attr): """This API creates or replaces metadata for a specified server. All existing metadata items are removed and completely replaced by the metadata items in the request. If you don't want to remove existing items, please use Merge Server Metadata Items. :param string server_id: ID for specified server. :param kwargs attr: Keyword arguments which will be used to do update process for :class:`~ecl.baremetal.metadata.Metadata`. :return: :class:`~ecl.baremetal.v2.metadata.Metadata` """ metadata = _metadata.Metadata() return metadata.replace(self.session, server_id, **attr)
def merge_metadata(self, server_id, **attr): """This API creates or merges metadata for a specified server. This API replaces items which match the specified keys in the request. This API does not remove items, unlike Replace Server Metadata Items. :param string server_id: ID for specified server. :param kwargs attr: Keyword arguments which will be used to do update process for :class:`~ecl.baremetal.metadata.Metadata`. :return: :class:`~ecl.baremetal.v2.metadata.Metadata` """ metadata = _metadata.Metadata() return metadata.merge(self.session, server_id, **attr)