Class: NgrokAPI::Models::TCPEdge

Inherits:
Object
  • Object
show all
Defined in:
lib/ngrokapi/models/tcp_edge.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client: nil, attrs: {}) ⇒ TCPEdge

Returns a new instance of TCPEdge.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/ngrokapi/models/tcp_edge.rb', line 22

def initialize(client: nil, attrs: {})
  @client = client
  @attrs = attrs
  @id = @attrs['id']
  @description = @attrs['description']
  @metadata = @attrs['metadata']
  @created_at = @attrs['created_at']
  unless @attrs['uri'].nil?
    @uri = URI(@attrs['uri'])
  end
  @hostports = @attrs['hostports']
  @backend = @attrs['backend']
  @ip_restriction = @attrs['ip_restriction']
  @traffic_policy = @attrs['traffic_policy']
end

Instance Attribute Details

#attrsObject (readonly)

Returns the value of attribute attrs.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def attrs
  @attrs
end

#backendObject (readonly)

Returns the value of attribute backend.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def backend
  @backend
end

#clientObject (readonly)

Returns the value of attribute client.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def client
  @client
end

#created_atObject (readonly)

Returns the value of attribute created_at.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def created_at
  @created_at
end

#descriptionObject (readonly)

Returns the value of attribute description.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def description
  @description
end

#hostportsObject (readonly)

Returns the value of attribute hostports.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def hostports
  @hostports
end

#idObject (readonly)

Returns the value of attribute id.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def id
  @id
end

#ip_restrictionObject (readonly)

Returns the value of attribute ip_restriction.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def ip_restriction
  @ip_restriction
end

#metadataObject (readonly)

Returns the value of attribute metadata.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def 
  @metadata
end

#traffic_policyObject (readonly)

Returns the value of attribute traffic_policy.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def traffic_policy
  @traffic_policy
end

#uriObject (readonly)

Returns the value of attribute uri.



10
11
12
# File 'lib/ngrokapi/models/tcp_edge.rb', line 10

def uri
  @uri
end

Instance Method Details

#==(other) ⇒ Object



38
39
40
# File 'lib/ngrokapi/models/tcp_edge.rb', line 38

def ==(other)
  @attrs == other.attrs
end

#deleteObject



86
87
88
89
90
# File 'lib/ngrokapi/models/tcp_edge.rb', line 86

def delete
  @client.delete(
    id: @id
  )
end

#to_hObject



46
47
48
# File 'lib/ngrokapi/models/tcp_edge.rb', line 46

def to_h
  @attrs.to_h
end

#to_sObject



42
43
44
# File 'lib/ngrokapi/models/tcp_edge.rb', line 42

def to_s
  @attrs.to_s
end

#update(description: nil, metadata: nil, hostports: nil, backend: nil, ip_restriction: nil, traffic_policy: nil) ⇒ Object

Updates a TCP Edge by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API.

https://ngrok.com/docs/api#api-edges-tcp-update



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/ngrokapi/models/tcp_edge.rb', line 57

def update(
  description: nil,
  metadata: nil,
  hostports: nil,
  backend: nil,
  ip_restriction: nil,
  traffic_policy: nil
)
  @description = description if description
  @metadata =  if 
  @hostports = hostports if hostports
  @backend = backend if backend
  @ip_restriction = ip_restriction if ip_restriction
  @traffic_policy = traffic_policy if traffic_policy
  @client.update(
    id: @id,
    description: description,
    metadata: ,
    hostports: hostports,
    backend: backend,
    ip_restriction: ip_restriction,
    traffic_policy: traffic_policy
  )
end