Class: NgrokAPI::Services::IPRestrictionsClient
- Inherits:
-
Object
- Object
- NgrokAPI::Services::IPRestrictionsClient
- Defined in:
- lib/ngrokapi/services/ip_restrictions_client.rb
Overview
An IP restriction is a restriction placed on the CIDRs that are allowed to initiate traffic to a specific aspect of your ngrok account. An IP restriction has a type which defines the ingress it applies to. IP restrictions can be used to enforce the source IPs that can make API requests, log in to the dashboard, start ngrok agents, and connect to your public-facing endpoints.
Constant Summary collapse
- PATH =
The API path for the requests
'/ip_restrictions'
- LIST_PROPERTY =
The List Property from the resulting API for list calls
'ip_restrictions'
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
-
#create(description: "", metadata: "", enforced: False, type:, ip_policy_ids:) ⇒ NgrokAPI::Models::IPRestriction
Create a new IP restriction.
-
#delete(id: "") ⇒ NgrokAPI::Models::Empty
Delete an IP restriction.
-
#delete!(id: "") ⇒ NgrokAPI::Models::Empty
Delete an IP restriction Throws an exception if API error.
-
#get(id: "") ⇒ NgrokAPI::Models::IPRestriction
Get detailed information about an IP restriction.
-
#get!(id: "") ⇒ NgrokAPI::Models::IPRestriction
Get detailed information about an IP restriction Throws an exception if API error.
-
#initialize(client:) ⇒ IPRestrictionsClient
constructor
A new instance of IPRestrictionsClient.
-
#list(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable
List all IP restrictions on this account.
-
#list!(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable
List all IP restrictions on this account Throws an exception if API error.
-
#update(id: "", description: nil, metadata: nil, enforced: nil, ip_policy_ids: []) ⇒ NgrokAPI::Models::IPRestriction
Update attributes of an IP restriction by ID.
-
#update!(id: "", description: nil, metadata: nil, enforced: nil, ip_policy_ids: []) ⇒ NgrokAPI::Models::IPRestriction
Update attributes of an IP restriction by ID Throws an exception if API error.
Constructor Details
#initialize(client:) ⇒ IPRestrictionsClient
Returns a new instance of IPRestrictionsClient.
22 23 24 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 22 def initialize(client:) @client = client end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
20 21 22 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 20 def client @client end |
Instance Method Details
#create(description: "", metadata: "", enforced: False, type:, ip_policy_ids:) ⇒ NgrokAPI::Models::IPRestriction
Create a new IP restriction
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 37 def create(description: "", metadata: "", enforced: False, type:, ip_policy_ids:) path = '/ip_restrictions' replacements = { } data = {} data[:description] = description if description data[:metadata] = if data[:enforced] = enforced if enforced data[:type] = type if type data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids result = @client.post(path % replacements, data: data) NgrokAPI::Models::IPRestriction.new(client: self, result: result) end |
#delete(id: "") ⇒ NgrokAPI::Models::Empty
Delete an IP restriction
58 59 60 61 62 63 64 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 58 def delete(id: "") path = '/ip_restrictions/%{id}' replacements = { id: id, } @client.delete(path % replacements) end |
#delete!(id: "") ⇒ NgrokAPI::Models::Empty
Delete an IP restriction Throws an exception if API error.
74 75 76 77 78 79 80 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 74 def delete!(id: "") path = '/ip_restrictions/%{id}' replacements = { id: id, } @client.delete(path % replacements, danger: true) end |
#get(id: "") ⇒ NgrokAPI::Models::IPRestriction
Get detailed information about an IP restriction
89 90 91 92 93 94 95 96 97 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 89 def get(id: "") path = '/ip_restrictions/%{id}' replacements = { id: id, } data = {} result = @client.get(path % replacements, data: data) NgrokAPI::Models::IPRestriction.new(client: self, result: result) end |
#get!(id: "") ⇒ NgrokAPI::Models::IPRestriction
Get detailed information about an IP restriction Throws an exception if API error.
107 108 109 110 111 112 113 114 115 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 107 def get!(id: "") path = '/ip_restrictions/%{id}' replacements = { id: id, } data = {} result = @client.get(path % replacements, data: data, danger: true) NgrokAPI::Models::IPRestriction.new(client: self, result: result) end |
#list(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable
List all IP restrictions on this account
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 126 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, result: result, list_property: LIST_PROPERTY, klass: NgrokAPI::Models::IPRestriction ) end |
#list!(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable
List all IP restrictions on this account Throws an exception if API error.
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 153 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, result: result, list_property: LIST_PROPERTY, klass: NgrokAPI::Models::IPRestriction, danger: true ) end |
#update(id: "", description: nil, metadata: nil, enforced: nil, ip_policy_ids: []) ⇒ NgrokAPI::Models::IPRestriction
Update attributes of an IP restriction by ID
183 184 185 186 187 188 189 190 191 192 193 194 195 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 183 def update(id: "", description: nil, metadata: nil, enforced: nil, ip_policy_ids: []) path = '/ip_restrictions/%{id}' replacements = { id: id, } data = {} data[:description] = description if description data[:metadata] = if data[:enforced] = enforced if enforced data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids result = @client.patch(path % replacements, data: data) NgrokAPI::Models::IPRestriction.new(client: self, result: result) end |
#update!(id: "", description: nil, metadata: nil, enforced: nil, ip_policy_ids: []) ⇒ NgrokAPI::Models::IPRestriction
Update attributes of an IP restriction by ID Throws an exception if API error.
209 210 211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 209 def update!(id: "", description: nil, metadata: nil, enforced: nil, ip_policy_ids: []) path = '/ip_restrictions/%{id}' replacements = { id: id, } data = {} data[:description] = description if description data[:metadata] = if data[:enforced] = enforced if enforced data[:ip_policy_ids] = ip_policy_ids if ip_policy_ids result = @client.patch(path % replacements, data: data, danger: true) NgrokAPI::Models::IPRestriction.new(client: self, result: result) end |