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.
-
#create!(description: "", metadata: "", enforced: False, type:, ip_policy_ids:) ⇒ NgrokAPI::Models::IPRestriction
Create a new IP restriction Throws an exception if API error.
-
#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.
24 25 26 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 24 def initialize(client:) @client = client end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
22 23 24 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 22 def client @client end |
Instance Method Details
#create(description: "", metadata: "", enforced: False, type:, ip_policy_ids:) ⇒ NgrokAPI::Models::IPRestriction
Create a new IP restriction
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 39 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, attrs: result) end |
#create!(description: "", metadata: "", enforced: False, type:, ip_policy_ids:) ⇒ NgrokAPI::Models::IPRestriction
Create a new IP restriction Throws an exception if API error.
65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 65 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, danger: true) NgrokAPI::Models::IPRestriction.new(client: self, attrs: result) end |
#delete(id: "") ⇒ NgrokAPI::Models::Empty
Delete an IP restriction
86 87 88 89 90 91 92 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 86 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.
102 103 104 105 106 107 108 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 102 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
117 118 119 120 121 122 123 124 125 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 117 def get(id: "") path = '/ip_restrictions/%{id}' replacements = { id: id, } data = {} result = @client.get(path % replacements, data: data) NgrokAPI::Models::IPRestriction.new(client: self, attrs: result) end |
#get!(id: "") ⇒ NgrokAPI::Models::IPRestriction
Get detailed information about an IP restriction Throws an exception if API error.
135 136 137 138 139 140 141 142 143 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 135 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, attrs: result) end |
#list(before_id: nil, limit: nil, url: nil) ⇒ NgrokAPI::Models::Listable
List all IP restrictions on this account
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 154 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::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.
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 180 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::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
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) NgrokAPI::Models::IPRestriction.new(client: self, attrs: 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.
235 236 237 238 239 240 241 242 243 244 245 246 247 |
# File 'lib/ngrokapi/services/ip_restrictions_client.rb', line 235 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, attrs: result) end |