Skip to content

Commit a6d8412

Browse files
committed
Origin certificates setup and back-end CIDRs list.
1 parent f372df4 commit a6d8412

3 files changed

Lines changed: 48 additions & 0 deletions

File tree

lib/cloudflare/certificates.rb

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
require_relative 'representation'
2+
require_relative 'paginate'
3+
4+
module Cloudflare
5+
6+
class Certificate < Representation
7+
def certificate
8+
result[:certificate]
9+
end
10+
end
11+
12+
class Certificates < Representation
13+
include Paginate
14+
15+
def representation
16+
Certificate
17+
end
18+
19+
def create(csr_pem, hostnames, request_type = 'origin-rsa', requested_validity = 5475)
20+
attrs =
21+
{csr: csr_pem, request_type: request_type, hostnames: hostnames, requested_validity: requested_validity}
22+
represent_message(self.post(attrs))
23+
end
24+
end
25+
end

lib/cloudflare/connection.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@
1212

1313
require "async/rest/resource"
1414

15+
require_relative "i_ps"
1516
require_relative "zones"
1617
require_relative "accounts"
1718
require_relative "user"
19+
require_relative "certificates"
1820

1921
module Cloudflare
2022
class Connection < Async::REST::Resource
@@ -36,6 +38,10 @@ def authenticated(token: nil, key: nil, email: nil)
3638

3739
self.with(headers: headers)
3840
end
41+
42+
def cidrs(ipv: nil)
43+
IPs.new(self.with(path: 'ips')).cidrs(ipv: ipv)
44+
end
3945

4046
def zones
4147
Zones.new(self.with(path: "zones/"))
@@ -48,5 +54,9 @@ def accounts
4854
def user
4955
User.new(self.with(path: "user"))
5056
end
57+
58+
def certificates
59+
with(Certificates, path: 'certificates')
60+
end
5161
end
5262
end

lib/cloudflare/i_ps.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require_relative 'representation'
2+
3+
module Cloudflare
4+
class IPs < Representation
5+
def cidrs(ipv: nil)
6+
if ipv
7+
result[:"ipv#{ipv}_cidrs"]
8+
else
9+
result[:ipv4_cidrs].to_a + result[:ipv6_cidrs].to_a
10+
end
11+
end
12+
end
13+
end

0 commit comments

Comments
 (0)