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.

https://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.



22
23
24
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 22

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



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

def client
  @client
end

Instance Method Details

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

Parameters:

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

    hostname of the reserved domain

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

    deprecated: With the launch of the ngrok Global Network domains traffic is now handled globally. This field applied only to endpoints. Note that agents may still connect to specific regions. Optional, null by default. (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.

  • 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
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 38

def create(name: "", domain: "", region: "", description: "", metadata: "", http_endpoint_configuration_id: nil, https_endpoint_configuration_id: nil, certificate_id: nil, certificate_management_policy: nil, error_redirect_url: nil)
  path = '/reserved_domains'
  replacements = {
  }
  data = {}
  data[:domain] = domain if domain
  data[:region] = region if region
  data[:description] = description if description
  data[:metadata] =  if 
  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, attrs: result)
end

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

Create a new reserved domain. Throws an exception if API error.

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

Parameters:

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

    hostname of the reserved domain

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

    deprecated: With the launch of the ngrok Global Network domains traffic is now handled globally. This field applied only to endpoints. Note that agents may still connect to specific regions. Optional, null by default. (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.

  • 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:



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

def create!(name: "", domain: "", region: "", description: "", metadata: "", http_endpoint_configuration_id: nil, https_endpoint_configuration_id: nil, certificate_id: nil, certificate_management_policy: nil, error_redirect_url: nil)
  path = '/reserved_domains'
  replacements = {
  }
  data = {}
  data[:domain] = domain if domain
  data[:region] = region if region
  data[:description] = description if description
  data[:metadata] =  if 
  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, danger: true)
  NgrokAPI::Models::ReservedDomain.new(client: self, attrs: result)
end

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

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



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

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.

https://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



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

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.

https://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)
end

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

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

https://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



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

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.

https://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)
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.

https://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



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

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

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

Get the details of a reserved domain.

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

Parameters:

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

    a resource identifier

Returns:



119
120
121
122
123
124
125
126
127
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 119

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

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

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

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

Parameters:

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

    a resource identifier

Returns:



137
138
139
140
141
142
143
144
145
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 137

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, attrs: result)
end

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

List all reserved domains on this account.

https://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:



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

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,
    attrs: 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.

https://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:



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

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,
    attrs: 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, region: nil, error_redirect_url: nil) ⇒ NgrokAPI::Models::ReservedDomain

Update the attributes of a reserved domain.

https://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.

  • 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:



211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 211

def update(id: "", description: nil, metadata: nil, http_endpoint_configuration_id: nil, https_endpoint_configuration_id: nil, certificate_id: nil, certificate_management_policy: nil, region: nil, error_redirect_url: nil)
  path = '/reserved_domains/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  data[:description] = description if description
  data[:metadata] =  if 
  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, attrs: 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, region: nil, error_redirect_url: nil) ⇒ NgrokAPI::Models::ReservedDomain

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

https://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.

  • 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:



237
238
239
240
241
242
243
244
245
246
247
248
249
# File 'lib/ngrokapi/services/reserved_domains_client.rb', line 237

def update!(id: "", description: nil, metadata: nil, http_endpoint_configuration_id: nil, https_endpoint_configuration_id: nil, certificate_id: nil, certificate_management_policy: nil, region: nil, error_redirect_url: nil)
  path = '/reserved_domains/%{id}'
  replacements = {
    id: id,
  }
  data = {}
  data[:description] = description if description
  data[:metadata] =  if 
  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, attrs: result)
end