Class: NgrokAPI::Services::TLSCertificatesClient

Inherits:
Object
  • Object
show all
Defined in:
lib/ngrokapi/services/tls_certificates_client.rb

Overview

TLS Certificates are pairs of x509 certificates and their matching private key that can be used to terminate TLS traffic. TLS certificates are unused until they are attached to a Domain. TLS Certificates may also be provisioned by ngrok automatically for domains on which you have enabled automated certificate provisioning.

ngrok.com/docs/api#api-tls-certificates

Constant Summary collapse

PATH =

The API path for the requests

'/tls_certificates'
LIST_PROPERTY =

The List Property from the resulting API for list calls

'tls_certificates'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ TLSCertificatesClient

Returns a new instance of TLSCertificatesClient.



21
22
23
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 21

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



19
20
21
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 19

def client
  @client
end

Instance Method Details

#create(description: "", metadata: "", certificate_pem:, private_key_pem:) ⇒ NgrokAPI::Models::TLSCertificate

Upload a new TLS certificate

ngrok.com/docs/api#api-tls-certificates-create

Parameters:

  • description (string) (defaults to: "")

    human-readable description of this TLS certificate. optional, max 255 bytes.

  • metadata (string) (defaults to: "")

    arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.

  • certificate_pem (string)

    chain of PEM-encoded certificates, leaf first. See Certificate Bundles ngrok.com/docs/api#tls-certificates-pem`_.

  • private_key_pem (string)

    private key for the TLS certificate, PEM-encoded. See Private Keys ngrok.com/docs/ngrok-link#tls-certificates-key`_.

Returns:



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 35

def create(description: "", metadata: "", certificate_pem:, private_key_pem:)
  path = '/tls_certificates'
  replacements = {
  }
  data = {}
  data[:description] = description if description
  data[:metadata] =  if 
  data[:certificate_pem] = certificate_pem if certificate_pem
  data[:private_key_pem] = private_key_pem if private_key_pem
  result = @client.post(path % replacements, data: data)
  NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
end

#delete(id: "") ⇒ NgrokAPI::Models::Empty

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



55
56
57
58
59
60
61
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 55

def delete(id: "")
  path = '/tls_certificates/%{id}'
  replacements = {
    id: id,
  }
  @client.delete(path % replacements)
end

#delete!(id: "") ⇒ NgrokAPI::Models::Empty

Delete a TLS certificate Throws an exception if API error.

ngrok.com/docs/api#api-tls-certificates-delete

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



71
72
73
74
75
76
77
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 71

def delete!(id: "")
  path = '/tls_certificates/%{id}'
  replacements = {
    id: id,
  }
  @client.delete(path % replacements, danger: true)
end

#get(id: "") ⇒ NgrokAPI::Models::TLSCertificate

Get detailed information about a TLS certificate

ngrok.com/docs/api#api-tls-certificates-get

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:



86
87
88
89
90
91
92
93
94
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 86

def get(id: "")
  path = '/tls_certificates/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  result = @client.get(path % replacements, data: data)
  NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
end

#get!(id: "") ⇒ NgrokAPI::Models::TLSCertificate

Get detailed information about a TLS certificate Throws an exception if API error.

ngrok.com/docs/api#api-tls-certificates-get

Parameters:

  • id (string) (defaults to: "")

    a resource identifier

Returns:



104
105
106
107
108
109
110
111
112
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 104

def get!(id: "")
  path = '/tls_certificates/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  result = @client.get(path % replacements, data: data, danger: true)
  NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
end

#list(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable

List all TLS certificates on this account

ngrok.com/docs/api#api-tls-certificates-list

Parameters:

  • before_id (string) (defaults to: nil)
  • limit (string) (defaults to: nil)
  • url (string) (defaults to: nil)

    optional and mutually exclusive from before_id and limit

Returns:



123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 123

def list(before_id: nil, limit: nil,
         url: nil)
  result = @client.list(
    before_id: before_id,
    limit: limit,
    url: url,
    path: PATH
  )

  NgrokAPI::Models::Listable.new(
    client: self,
    result: result,
    list_property: LIST_PROPERTY,
    klass: NgrokAPI::Models::TLSCertificate
  )
end

#list!(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable

List all TLS certificates on this account Throws an exception if API error.

ngrok.com/docs/api#api-tls-certificates-list

Parameters:

  • before_id (string) (defaults to: nil)
  • limit (string) (defaults to: nil)
  • url (string) (defaults to: nil)

    optional and mutually exclusive from before_id and limit

Returns:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 150

def list!(before_id: nil, limit: nil,
          url: nil)
  result = @client.list(
    before_id: before_id,
    limit: limit,
    danger: true,
    url: url,
    path: PATH
  )

  NgrokAPI::Models::Listable.new(
    client: self,
    result: result,
    list_property: LIST_PROPERTY,
    klass: NgrokAPI::Models::TLSCertificate,
    danger: true
  )
end

#update(id: "", description: nil, metadata: nil) ⇒ NgrokAPI::Models::TLSCertificate

Update attributes of a TLS Certificate by ID

ngrok.com/docs/api#api-tls-certificates-update

Parameters:

  • id (string) (defaults to: "")
  • description (string) (defaults to: nil)

    human-readable description of this TLS certificate. optional, max 255 bytes.

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.

Returns:



178
179
180
181
182
183
184
185
186
187
188
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 178

def update(id: "", description: nil, metadata: nil)
  path = '/tls_certificates/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  data[:description] = description if description
  data[:metadata] =  if 
  result = @client.patch(path % replacements, data: data)
  NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
end

#update!(id: "", description: nil, metadata: nil) ⇒ NgrokAPI::Models::TLSCertificate

Update attributes of a TLS Certificate by ID Throws an exception if API error.

ngrok.com/docs/api#api-tls-certificates-update

Parameters:

  • id (string) (defaults to: "")
  • description (string) (defaults to: nil)

    human-readable description of this TLS certificate. optional, max 255 bytes.

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this TLS certificate. optional, max 4096 bytes.

Returns:



200
201
202
203
204
205
206
207
208
209
210
# File 'lib/ngrokapi/services/tls_certificates_client.rb', line 200

def update!(id: "", description: nil, metadata: nil)
  path = '/tls_certificates/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  data[:description] = description if description
  data[:metadata] =  if 
  result = @client.patch(path % replacements, data: data, danger: true)
  NgrokAPI::Models::TLSCertificate.new(client: self, result: result)
end