Class: NgrokAPI::Services::FailoverBackendsClient

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

Overview

A Failover backend defines failover behavior within a list of referenced backends. Traffic is sent to the first backend in the list. If that backend is offline or no connection can be established, ngrok attempts to connect to the next backend in the list until one is successful.

ngrok.com/docs/api#api-failover-backends

Constant Summary collapse

PATH =

The API path for the requests

'/backends/failover'
LIST_PROPERTY =

The List Property from the resulting API for list calls

'backends'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ FailoverBackendsClient

Returns a new instance of FailoverBackendsClient.



22
23
24
# File 'lib/ngrokapi/services/failover_backends_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/failover_backends_client.rb', line 20

def client
  @client
end

Instance Method Details

#create(description: "", metadata: "", backends: []) ⇒ NgrokAPI::Models::FailoverBackend

Create a new Failover backend

ngrok.com/docs/api#api-failover-backends-create

Parameters:

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

    human-readable description of this backend. Optional

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

    arbitrary user-defined machine-readable data of this backend. Optional

  • backends (List<string>) (defaults to: [])

    the ids of the child backends in order

Returns:



35
36
37
38
39
40
41
42
43
44
45
# File 'lib/ngrokapi/services/failover_backends_client.rb', line 35

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

#create!(description: "", metadata: "", backends: []) ⇒ NgrokAPI::Models::FailoverBackend

Create a new Failover backend Throws an exception if API error.

ngrok.com/docs/api#api-failover-backends-create

Parameters:

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

    human-readable description of this backend. Optional

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

    arbitrary user-defined machine-readable data of this backend. Optional

  • backends (List<string>) (defaults to: [])

    the ids of the child backends in order

Returns:



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

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

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

Delete a Failover backend by ID.

ngrok.com/docs/api#api-failover-backends-delete

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



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

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

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

Delete a Failover backend by ID. Throws an exception if API error.

ngrok.com/docs/api#api-failover-backends-delete

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



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

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

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

Get detailed information about a Failover backend by ID

ngrok.com/docs/api#api-failover-backends-get

Parameters:

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

    a resource identifier

Returns:



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

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

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

Get detailed information about a Failover backend by ID Throws an exception if API error.

ngrok.com/docs/api#api-failover-backends-get

Parameters:

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

    a resource identifier

Returns:



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

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

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

List all Failover backends on this account

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



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

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

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

List all Failover backends on this account Throws an exception if API error.

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



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

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

#update(id: "", description: nil, metadata: nil, backends: []) ⇒ NgrokAPI::Models::FailoverBackend

Update Failover backend by ID

ngrok.com/docs/api#api-failover-backends-update

Parameters:

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

    human-readable description of this backend. Optional

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this backend. Optional

  • backends (List<string>) (defaults to: [])

    the ids of the child backends in order

Returns:



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

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

#update!(id: "", description: nil, metadata: nil, backends: []) ⇒ NgrokAPI::Models::FailoverBackend

Update Failover backend by ID Throws an exception if API error.

ngrok.com/docs/api#api-failover-backends-update

Parameters:

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

    human-readable description of this backend. Optional

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this backend. Optional

  • backends (List<string>) (defaults to: [])

    the ids of the child backends in order

Returns:



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

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