Class: NgrokAPI::Services::IPPolicyRulesClient

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

Overview

IP Policy Rules are the IPv4 or IPv6 CIDRs entries that make up an IP Policy.

https://ngrok.com/docs/api#api-ip-policy-rules

Constant Summary collapse

PATH =

The API path for the requests

'/ip_policy_rules'
LIST_PROPERTY =

The List Property from the resulting API for list calls

'ip_policy_rules'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ IPPolicyRulesClient

Returns a new instance of IPPolicyRulesClient.



20
21
22
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 20

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



18
19
20
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 18

def client
  @client
end

Instance Method Details

#create(description: "", metadata: "", cidr:, ip_policy_id:, action:) ⇒ NgrokAPI::Models::IPPolicyRule

Create a new IP policy rule attached to an IP Policy.

https://ngrok.com/docs/api#api-ip-policy-rules-create

Parameters:

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

    human-readable description of the source IPs of this IP rule. optional, max 255 bytes.

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

    arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.

  • cidr (string)

    an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.

  • ip_policy_id (string)

    ID of the IP policy this IP policy rule will be attached to

  • action (string)

    the action to apply to the policy rule, either allow or deny

Returns:



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

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

#create!(description: "", metadata: "", cidr:, ip_policy_id:, action:) ⇒ NgrokAPI::Models::IPPolicyRule

Create a new IP policy rule attached to an IP Policy. Throws an exception if API error.

https://ngrok.com/docs/api#api-ip-policy-rules-create

Parameters:

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

    human-readable description of the source IPs of this IP rule. optional, max 255 bytes.

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

    arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.

  • cidr (string)

    an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.

  • ip_policy_id (string)

    ID of the IP policy this IP policy rule will be attached to

  • action (string)

    the action to apply to the policy rule, either allow or deny

Returns:



61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 61

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

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

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



82
83
84
85
86
87
88
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 82

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

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

Delete an IP policy rule. Throws an exception if API error.

https://ngrok.com/docs/api#api-ip-policy-rules-delete

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



98
99
100
101
102
103
104
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 98

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

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

Get detailed information about an IP policy rule by ID.

https://ngrok.com/docs/api#api-ip-policy-rules-get

Parameters:

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

    a resource identifier

Returns:



113
114
115
116
117
118
119
120
121
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 113

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

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

Get detailed information about an IP policy rule by ID. Throws an exception if API error.

https://ngrok.com/docs/api#api-ip-policy-rules-get

Parameters:

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

    a resource identifier

Returns:



131
132
133
134
135
136
137
138
139
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 131

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

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

List all IP policy rules on this account

https://ngrok.com/docs/api#api-ip-policy-rules-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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 150

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

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

List all IP policy rules on this account Throws an exception if API error.

https://ngrok.com/docs/api#api-ip-policy-rules-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:



176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 176

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

#update(id: "", description: nil, metadata: nil, cidr: nil) ⇒ NgrokAPI::Models::IPPolicyRule

Update attributes of an IP policy rule by ID

https://ngrok.com/docs/api#api-ip-policy-rules-update

Parameters:

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

    human-readable description of the source IPs of this IP rule. optional, max 255 bytes.

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.

  • cidr (string) (defaults to: nil)

    an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.

Returns:



204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 204

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

#update!(id: "", description: nil, metadata: nil, cidr: nil) ⇒ NgrokAPI::Models::IPPolicyRule

Update attributes of an IP policy rule by ID Throws an exception if API error.

https://ngrok.com/docs/api#api-ip-policy-rules-update

Parameters:

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

    human-readable description of the source IPs of this IP rule. optional, max 255 bytes.

  • metadata (string) (defaults to: nil)

    arbitrary user-defined machine-readable data of this IP policy rule. optional, max 4096 bytes.

  • cidr (string) (defaults to: nil)

    an IP or IP range specified in CIDR notation. IPv4 and IPv6 are both supported.

Returns:



228
229
230
231
232
233
234
235
236
237
238
239
# File 'lib/ngrokapi/services/ip_policy_rules_client.rb', line 228

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