def info(gandi, resource, id, altnames, csr, cert, all_status): """ Display information about a certificate. Resource can be a CN or an ID """ output_keys = ['cn', 'date_created', 'date_end', 'plan', 'status'] if id: output_keys.append('id') if altnames: output_keys.append('altnames') if csr: output_keys.append('csr') if cert: output_keys.append('cert') ids = [] for res in resource: ids.extend(gandi.certificate.usable_ids(res)) result = [] for num, id_ in enumerate(set(ids)): cert = gandi.certificate.info(id_) if not all_status and cert['status'] not in ['valid', 'pending']: continue if num: gandi.separator_line() cert['plan'] = package_desc(gandi, cert['package']) output_cert(gandi, cert, output_keys) result.append(cert) return result
def list(gandi, id, altnames, csr, cert, all_status, status, dates, limit): """ List certificates. """ options = {'items_per_page': limit} if not all_status: options['status'] = ['valid', 'pending'] output_keys = ['cn', 'plan'] if id: output_keys.append('id') if status: output_keys.append('status') if dates: output_keys.extend(['date_created', 'date_end']) if altnames: output_keys.append('altnames') if csr: output_keys.append('csr') if cert: output_keys.append('cert') result = gandi.certificate.list(options) for num, cert in enumerate(result): if num: gandi.separator_line() cert['plan'] = package_desc(gandi, cert['package']) output_cert(gandi, cert, output_keys) return result
def info(gandi, resource, id, altnames, csr, cert, all_status): """ Display information about a certificate. Resource can be a CN or an ID """ output_keys = ["cn", "date_created", "date_end", "package", "status"] if id: output_keys.append("id") if altnames: output_keys.append("altnames") if csr: output_keys.append("csr") if cert: output_keys.append("cert") ids = [] for res in resource: ids.extend(gandi.certificate.usable_ids(res)) result = [] for id_ in set(ids): cert = gandi.certificate.info(id_) if not all_status and cert["status"] not in ["valid", "pending"]: continue gandi.separator_line() output_cert(gandi, cert, output_keys) result.append(cert) return result
def list(gandi, id, altnames, csr, cert, all_status, status, dates, limit): """ List certificates. """ options = {"items_per_page": limit} if not all_status: options["status"] = ["valid", "pending"] output_keys = ["cn", "package"] if id: output_keys.append("id") if status: output_keys.append("status") if dates: output_keys.extend(["date_created", "date_end"]) if altnames: output_keys.append("altnames") if csr: output_keys.append("csr") if cert: output_keys.append("cert") result = gandi.certificate.list(options) for cert in result: gandi.separator_line() output_cert(gandi, cert, output_keys) return result