Class: NgrokAPI::Services::AgentIngressesClient

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

Overview

Constant Summary collapse

PATH =

The API path for the requests

'/agent_ingresses'
LIST_PROPERTY =

The List Property from the resulting API for list calls

'ingresses'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ AgentIngressesClient

Returns a new instance of AgentIngressesClient.



17
18
19
# File 'lib/ngrokapi/services/agent_ingresses_client.rb', line 17

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



15
16
17
# File 'lib/ngrokapi/services/agent_ingresses_client.rb', line 15

def client
  @client
end

Instance Method Details

#create(description: "", metadata: "", domain:, certificate_management_policy: nil) ⇒ NgrokAPI::Models::AgentIngress

Create a new Agent Ingress. The ngrok agent can be configured to connect to ngrok via the new set of addresses on the returned Agent Ingress.

ngrok.com/docs/api#api-agent-ingresses-create

Parameters:

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

    human-readable description of the use of this Agent Ingress. optional, max 255 bytes.

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

    arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes

  • domain (string)

    the domain that you own to be used as the base domain name to generate regional agent ingress domains.

  • certificate_management_policy (AgentIngressCertPolicy) (defaults to: nil)

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

Returns:



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/ngrokapi/services/agent_ingresses_client.rb', line 32

def create(description: "", metadata: "", domain:, certificate_management_policy: nil)
  path = '/agent_ingresses'
  replacements = {
  }
  data = {}
  data[:description] = description if description
  data[:metadata] =  if 
  data[:domain] = domain if domain
  data[:certificate_management_policy] = certificate_management_policy if certificate_management_policy
  result = @client.post(path % replacements, data: data)
  NgrokAPI::Models::AgentIngress.new(client: self, attrs: result)
end

#create!(description: "", metadata: "", domain:, certificate_management_policy: nil) ⇒ NgrokAPI::Models::AgentIngress

Create a new Agent Ingress. The ngrok agent can be configured to connect to ngrok via the new set of addresses on the returned Agent Ingress. Throws an exception if API error.

ngrok.com/docs/api#api-agent-ingresses-create

Parameters:

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

    human-readable description of the use of this Agent Ingress. optional, max 255 bytes.

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

    arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes

  • domain (string)

    the domain that you own to be used as the base domain name to generate regional agent ingress domains.

  • certificate_management_policy (AgentIngressCertPolicy) (defaults to: nil)

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

Returns:



57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/ngrokapi/services/agent_ingresses_client.rb', line 57

def create!(description: "", metadata: "", domain:, certificate_management_policy: nil)
  path = '/agent_ingresses'
  replacements = {
  }
  data = {}
  data[:description] = description if description
  data[:metadata] =  if 
  data[:domain] = domain if domain
  data[:certificate_management_policy] = certificate_management_policy if certificate_management_policy
  result = @client.post(path % replacements, data: data, danger: true)
  NgrokAPI::Models::AgentIngress.new(client: self, attrs: result)
end

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

Delete an Agent Ingress by ID

ngrok.com/docs/api#api-agent-ingresses-delete

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



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

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

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

Delete an Agent Ingress by ID Throws an exception if API error.

ngrok.com/docs/api#api-agent-ingresses-delete

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



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

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

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

Get the details of an Agent Ingress by ID.

ngrok.com/docs/api#api-agent-ingresses-get

Parameters:

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

    a resource identifier

Returns:



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

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

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

Get the details of an Agent Ingress by ID. Throws an exception if API error.

ngrok.com/docs/api#api-agent-ingresses-get

Parameters:

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

    a resource identifier

Returns:



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

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

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

List all Agent Ingresses owned by this account

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



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/ngrokapi/services/agent_ingresses_client.rb', line 145

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

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

List all Agent Ingresses owned by this account Throws an exception if API error.

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



171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# File 'lib/ngrokapi/services/agent_ingresses_client.rb', line 171

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

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

Update attributes of an Agent Ingress by ID.

ngrok.com/docs/api#api-agent-ingresses-update

Parameters:

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

    human-readable description of the use of this Agent Ingress. optional, max 255 bytes.

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes

  • certificate_management_policy (AgentIngressCertPolicy) (defaults to: nil)

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

Returns:



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

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

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

Update attributes of an Agent Ingress by ID. Throws an exception if API error.

ngrok.com/docs/api#api-agent-ingresses-update

Parameters:

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

    human-readable description of the use of this Agent Ingress. optional, max 255 bytes.

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this Agent Ingress. optional, max 4096 bytes

  • certificate_management_policy (AgentIngressCertPolicy) (defaults to: nil)

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

Returns:



223
224
225
226
227
228
229
230
231
232
233
234
# File 'lib/ngrokapi/services/agent_ingresses_client.rb', line 223

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