def list(gandi, id, vhosts, dates, fqdns, limit): """ List hosted certificates. """ justify = 10 options = {'items_per_page': limit, 'state': 'created'} output_keys = [] if id: output_keys.append('id') output_keys.append('subject') if dates: output_keys.extend(['date_created', 'date_expire']) justify = 12 if fqdns: output_keys.append('fqdns') if vhosts: output_keys.append('vhosts') result = gandi.hostedcert.list(options) for num, hcert in enumerate(result): if num: gandi.separator_line() if fqdns or vhosts: hcert = gandi.hostedcert.info(hcert['id']) output_hostedcert(gandi, hcert, output_keys, justify) return result
def create(gandi, private_key, certificate, certificate_id): """ Create a new hosted certificate. """ if not certificate and not certificate_id: gandi.echo('One of --certificate or --certificate-id is needed.') return if certificate and certificate_id: gandi.echo('Only one of --certificate or --certificate-id is needed.') if os.path.isfile(private_key): with open(private_key) as fhandle: private_key = fhandle.read() if certificate: if os.path.isfile(certificate): with open(certificate) as fhandle: certificate = fhandle.read() else: cert = gandi.certificate.info(certificate_id) certificate = gandi.certificate.pretty_format_cert(cert) result = gandi.hostedcert.create(private_key, certificate) output_keys = [ 'id', 'subject', 'date_created', 'date_expire', 'fqdns', 'vhosts' ] output_hostedcert(gandi, result, output_keys) return result
def create(gandi, private_key, certificate, certificate_id): """ Create a new hosted certificate. """ if not certificate and not certificate_id: gandi.echo('One of --certificate or --certificate-id is needed.') return if certificate and certificate_id: gandi.echo('Only one of --certificate or --certificate-id is needed.') if os.path.isfile(private_key): with open(private_key) as fhandle: private_key = fhandle.read() if certificate: if os.path.isfile(certificate): with open(certificate) as fhandle: certificate = fhandle.read() else: cert = gandi.certificate.info(certificate_id) certificate = gandi.certificate.pretty_format_cert(cert) result = gandi.hostedcert.create(private_key, certificate) output_keys = ['id', 'subject', 'date_created', 'date_expire', 'fqdns', 'vhosts'] output_hostedcert(gandi, result, output_keys) return result
def info(gandi, resource): """ Display information about a hosted certificate. Resource can be a FQDN or an ID """ output_keys = ['id', 'subject', 'date_created', 'date_expire', 'fqdns', 'vhosts'] result = gandi.hostedcert.infos(resource) for num, hcert in enumerate(result): if num: gandi.separator_line() output_hostedcert(gandi, hcert, output_keys) return result
def info(gandi, resource): """ Display information about a hosted certificate. Resource can be a FQDN or an ID """ output_keys = [ 'id', 'subject', 'date_created', 'date_expire', 'fqdns', 'vhosts' ] result = gandi.hostedcert.infos(resource) for num, hcert in enumerate(result): if num: gandi.separator_line() output_hostedcert(gandi, hcert, output_keys) return result