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
# 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



62
63
64
65
66
67
68
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 62

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



78
79
80
81
82
83
84
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 78

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



273
274
275
276
277
278
279
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 273

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



289
290
291
292
293
294
295
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 289

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



242
243
244
245
246
247
248
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 242

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



258
259
260
261
262
263
264
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 258

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



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

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



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

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



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

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



351
352
353
354
355
356
357
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 351

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:



93
94
95
96
97
98
99
100
101
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 93

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:



111
112
113
114
115
116
117
118
119
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 111

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:



130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 130

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

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

List all reserved domains on this account. Throws an exception if API error.

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:



157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 157

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::ReservedDomain,
    danger: true
  )
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:



189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 189

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:



219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 219

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