Class: NgrokAPI::Services::APIKeysClient

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

Overview

API Keys are used to authenticate to the ngrok API. You may use the API itself to provision and manage API Keys but you'll need to provision your first API key from the API Keys page on your ngrok.com dashboard.

https://ngrok.com/docs/api#api-api-keys

Constant Summary collapse

PATH =

The API path for the requests

'/api_keys'
LIST_PROPERTY =

The List Property from the resulting API for list calls

'keys'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ APIKeysClient

Returns a new instance of APIKeysClient.



23
24
25
# File 'lib/ngrokapi/services/api_keys_client.rb', line 23

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



21
22
23
# File 'lib/ngrokapi/services/api_keys_client.rb', line 21

def client
  @client
end

Instance Method Details

#create(description: "", metadata: "", owner_id: nil, owner_email: "") ⇒ NgrokAPI::Models::APIKey

Create a new API key. The generated API key can be used to authenticate to the ngrok API.

https://ngrok.com/docs/api#api-api-keys-create

Parameters:

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

    human-readable description of what uses the API key to authenticate. optional, max 255 bytes.

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

    arbitrary user-defined data of this API key. optional, max 4096 bytes

  • owner_id (string) (defaults to: nil)

    If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot.

Returns:



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

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

#create!(description: "", metadata: "", owner_id: nil, owner_email: "") ⇒ NgrokAPI::Models::APIKey

Create a new API key. The generated API key can be used to authenticate to the ngrok API. Throws an exception if API error.

https://ngrok.com/docs/api#api-api-keys-create

Parameters:

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

    human-readable description of what uses the API key to authenticate. optional, max 255 bytes.

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

    arbitrary user-defined data of this API key. optional, max 4096 bytes

  • owner_id (string) (defaults to: nil)

    If supplied at credential creation, ownership will be assigned to the specified User or Bot. Only admins may specify an owner other than themselves. Defaults to the authenticated User or Bot.

Returns:



60
61
62
63
64
65
66
67
68
69
70
# File 'lib/ngrokapi/services/api_keys_client.rb', line 60

def create!(description: "", metadata: "", owner_id: nil, owner_email: "")
  path = '/api_keys'
  replacements = {
  }
  data = {}
  data[:description] = description if description
  data[:metadata] =  if 
  data[:owner_id] = owner_id if owner_id
  result = @client.post(path % replacements, data: data, danger: true)
  NgrokAPI::Models::APIKey.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



79
80
81
82
83
84
85
# File 'lib/ngrokapi/services/api_keys_client.rb', line 79

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

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

Delete an API key by ID Throws an exception if API error.

https://ngrok.com/docs/api#api-api-keys-delete

Parameters:

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

    a resource identifier

Returns:

  • (NgrokAPI::Models::Empty)

    result from the API request



95
96
97
98
99
100
101
# File 'lib/ngrokapi/services/api_keys_client.rb', line 95

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

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

Get the details of an API key by ID.

https://ngrok.com/docs/api#api-api-keys-get

Parameters:

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

    a resource identifier

Returns:



110
111
112
113
114
115
116
117
118
# File 'lib/ngrokapi/services/api_keys_client.rb', line 110

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

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

Get the details of an API key by ID. Throws an exception if API error.

https://ngrok.com/docs/api#api-api-keys-get

Parameters:

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

    a resource identifier

Returns:



128
129
130
131
132
133
134
135
136
# File 'lib/ngrokapi/services/api_keys_client.rb', line 128

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

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

List all API keys owned by this account

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



147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/ngrokapi/services/api_keys_client.rb', line 147

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

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

List all API keys owned by this account Throws an exception if API error.

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



173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/ngrokapi/services/api_keys_client.rb', line 173

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

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

Update attributes of an API key by ID.

https://ngrok.com/docs/api#api-api-keys-update

Parameters:

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

    human-readable description of what uses the API key to authenticate. optional, max 255 bytes.

  • metadata (string) (defaults to: nil)

    arbitrary user-defined data of this API key. optional, max 4096 bytes

Returns:



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

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

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

Update attributes of an API key by ID. Throws an exception if API error.

https://ngrok.com/docs/api#api-api-keys-update

Parameters:

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

    human-readable description of what uses the API key to authenticate. optional, max 255 bytes.

  • metadata (string) (defaults to: nil)

    arbitrary user-defined data of this API key. optional, max 4096 bytes

Returns:



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

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