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) ⇒ NgrokAPI::Models::ReservedDomain

Parameters:

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

    hostname of the reserved domain

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

  • 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)
  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) ⇒ 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: "")

    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.

  • 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)
  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) ⇒ 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)
  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) ⇒ 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)
  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