WWW-Hetzner
view release on metacpan or search on metacpan
lib/WWW/Hetzner/Cloud/API/Certificates.pm view on Meta::CPAN
croak "name required" unless $params{name};
croak "type required (uploaded or managed)" unless $params{type};
my $body = {
name => $params{name},
type => $params{type},
};
# For uploaded certificates
$body->{certificate} = $params{certificate} if $params{certificate};
$body->{private_key} = $params{private_key} if $params{private_key};
# For managed certificates
$body->{domain_names} = $params{domain_names} if $params{domain_names};
$body->{labels} = $params{labels} if $params{labels};
my $result = $self->client->post('/certificates', $body);
return $self->_wrap($result->{certificate});
}
lib/WWW/Hetzner/Cloud/API/Certificates.pm view on Meta::CPAN
name => 'my-cert',
type => 'managed',
domain_names => ['example.com', 'www.example.com'],
);
# Create uploaded certificate
my $cert = $cloud->certificates->create(
name => 'my-cert',
type => 'uploaded',
certificate => $pem_cert,
private_key => $pem_key,
);
# Delete
$cloud->certificates->delete($cert->id);
=head1 DESCRIPTION
This module provides the API for managing Hetzner Cloud certificates.
All methods return L<WWW::Hetzner::Cloud::Certificate> objects.
lib/WWW/Hetzner/Cloud/API/Certificates.pm view on Meta::CPAN
type => 'managed', # required
domain_names => ['example.com'],# required for managed
labels => { ... }, # optional
);
# Uploaded certificate
my $cert = $cloud->certificates->create(
name => 'my-cert', # required
type => 'uploaded', # required
certificate => $pem_cert, # required for uploaded
private_key => $pem_key, # required for uploaded
labels => { ... }, # optional
);
Creates certificate. Returns L<WWW::Hetzner::Cloud::Certificate> object.
=head2 update
$cloud->certificates->update($id, name => 'new-name', labels => { ... });
Updates certificate. Returns L<WWW::Hetzner::Cloud::Certificate> object.
( run in 1.487 second using v1.01-cache-2.11-cpan-63428c044ed )