Class: NgrokAPI::Services::ReservedDomainsClient

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

Overview

Reserved Domains are hostnames that you can listen for traffic on. Domains

can be used to listen for http, https or tls traffic. You may use a domain
that you own by creating a CNAME record specified in the returned resource.
This CNAME record points traffic for that domain to ngrok's edge servers.

ngrok.com/docs/api#api-reserved-domains

Constant Summary collapse

PATH =

The API path for the requests

'/reserved_domains'
LIST_PROPERTY =

The List Property from the resulting API for list calls

'reserved_domains'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ ReservedDomainsClient

Returns a new instance of ReservedDomainsClient.



20
21
22
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 20

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



18
19
20
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 18

def client
  @client
end

Instance Method Details

#create(name:, region: "", description: "", metadata: "", http_endpoint_configuration_id: nil, https_endpoint_configuration_id: nil, certificate_id: nil, certificate_management_policy: nil) ⇒ NgrokAPI::Models::ReservedDomain

Create a new reserved domain.

ngrok.com/docs/api#api-reserved-domains-create

Parameters:

  • name (string)

    the domain name to reserve. It may be a full domain name like app.example.com. If the name does not contain a ‘.’ it will reserve that subdomain on ngrok.io.

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

    reserve the domain in this geographic ngrok datacenter. Optional, default is us. (au, eu, ap, us, jp, in, sa)

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

    human-readable description of what this reserved domain will be used for

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

    arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes.

  • http_endpoint_configuration_id (string) (defaults to: nil)

    ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain

  • https_endpoint_configuration_id (string) (defaults to: nil)

    ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain

  • certificate_id (string) (defaults to: nil)

    ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy.

  • certificate_management_policy (ReservedDomainCertPolicy) (defaults to: nil)

    configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.

Returns:



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 38

def create(
  name:,
  region: "",
  description: "",
  metadata: "",
  http_endpoint_configuration_id: nil,
  https_endpoint_configuration_id: nil,
  certificate_id: nil,
  certificate_management_policy: nil
)
  path = '/reserved_domains'
  replacements = {
  }
  data = {}
  data[:name] = name if name
  data[:region] = region if region
  data[:description] = description if description
  data[:metadata] =  if 
  data[:http_endpoint_configuration_id] = http_endpoint_configuration_id if http_endpoint_configuration_id
  data[:https_endpoint_configuration_id] = https_endpoint_configuration_id if https_endpoint_configuration_id
  data[:certificate_id] = certificate_id if certificate_id
  data[:certificate_management_policy] = certificate_management_policy if certificate_management_policy
  result = @client.post(path % replacements, data: data)
  NgrokAPI::Models::ReservedDomain.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



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

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

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

Delete a reserved domain. Throws an exception if API error.

ngrok.com/docs/api#api-reserved-domains-delete

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



89
90
91
92
93
94
95
96
97
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 89

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

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

Detach the certificate attached to a reserved domain.

ngrok.com/docs/api#api-reserved-domains-delete-certificate

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



283
284
285
286
287
288
289
290
291
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 283

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

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

Detach the certificate attached to a reserved domain. Throws an exception if API error.

ngrok.com/docs/api#api-reserved-domains-delete-certificate

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



301
302
303
304
305
306
307
308
309
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 301

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

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

Detach the certificate management policy attached to a reserved domain.

ngrok.com/docs/api#api-reserved-domains-delete-certificate-management-policy

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



248
249
250
251
252
253
254
255
256
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 248

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

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

Detach the certificate management policy attached to a reserved domain. Throws an exception if API error.

ngrok.com/docs/api#api-reserved-domains-delete-certificate-management-policy

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



266
267
268
269
270
271
272
273
274
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 266

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

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

Detach the http endpoint configuration attached to a reserved domain.

ngrok.com/docs/api#api-reserved-domains-delete-http-endpoint-config

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



318
319
320
321
322
323
324
325
326
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 318

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

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

Detach the http endpoint configuration attached to a reserved domain. Throws an exception if API error.

ngrok.com/docs/api#api-reserved-domains-delete-http-endpoint-config

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



336
337
338
339
340
341
342
343
344
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 336

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

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

Detach the https endpoint configuration attached to a reserved domain.

ngrok.com/docs/api#api-reserved-domains-delete-https-endpoint-config

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



353
354
355
356
357
358
359
360
361
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 353

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

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

Detach the https endpoint configuration attached to a reserved domain. Throws an exception if API error.

ngrok.com/docs/api#api-reserved-domains-delete-https-endpoint-config

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



371
372
373
374
375
376
377
378
379
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 371

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

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

Get the details of a reserved domain.

ngrok.com/docs/api#api-reserved-domains-get

Parameters:

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

    a resource identifier

Returns:



106
107
108
109
110
111
112
113
114
115
116
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 106

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

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

Get the details of a reserved domain. Throws an exception if API error.

ngrok.com/docs/api#api-reserved-domains-get

Parameters:

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

    a resource identifier

Returns:



126
127
128
129
130
131
132
133
134
135
136
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 126

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

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

List all reserved domains on this account.

ngrok.com/docs/api#api-reserved-domains-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:



147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 147

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::ReservedDomain
  )
end

#update(id: "", description: nil, metadata: nil, http_endpoint_configuration_id: nil, https_endpoint_configuration_id: nil, certificate_id: nil, certificate_management_policy: nil) ⇒ NgrokAPI::Models::ReservedDomain

Update the attributes of a reserved domain.

ngrok.com/docs/api#api-reserved-domains-update

Parameters:

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

    human-readable description of what this reserved domain will be used for

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes.

  • http_endpoint_configuration_id (string) (defaults to: nil)

    ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain

  • https_endpoint_configuration_id (string) (defaults to: nil)

    ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain

  • certificate_id (string) (defaults to: nil)

    ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy.

  • certificate_management_policy (ReservedDomainCertPolicy) (defaults to: nil)

    configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.

Returns:



179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 179

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

#update!(id: "", description: nil, metadata: nil, http_endpoint_configuration_id: nil, https_endpoint_configuration_id: nil, certificate_id: nil, certificate_management_policy: nil) ⇒ NgrokAPI::Models::ReservedDomain

Update the attributes of a reserved domain. Throws an exception if API error.

ngrok.com/docs/api#api-reserved-domains-update

Parameters:

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

    human-readable description of what this reserved domain will be used for

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this reserved domain. Optional, max 4096 bytes.

  • http_endpoint_configuration_id (string) (defaults to: nil)

    ID of an endpoint configuration of type http that will be used to handle inbound http traffic to this domain

  • https_endpoint_configuration_id (string) (defaults to: nil)

    ID of an endpoint configuration of type https that will be used to handle inbound https traffic to this domain

  • certificate_id (string) (defaults to: nil)

    ID of a user-uploaded TLS certificate to use for connections to targeting this domain. Optional, mutually exclusive with certificate_management_policy.

  • certificate_management_policy (ReservedDomainCertPolicy) (defaults to: nil)

    configuration for automatic management of TLS certificates for this domain, or null if automatic management is disabled. Optional, mutually exclusive with certificate_id.

Returns:



217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 217

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