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.com/docs/api#authentication)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  (https://dashboard.ngrok.com/api/keys)API Keys page on your
ngrok.com dashboard.

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.



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

def initialize(client:)
  @client = client
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



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

def client
  @client
end

Instance Method Details

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

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

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

Returns:



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

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

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

Delete an API key by ID

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



56
57
58
59
60
61
62
63
64
# File 'lib/ngrokapi/services/api_keys_client.rb', line 56

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.

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



74
75
76
77
78
79
80
81
82
# File 'lib/ngrokapi/services/api_keys_client.rb', line 74

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.

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

Parameters:

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

    a resource identifier

Returns:



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

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

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

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

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

Parameters:

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

    a resource identifier

Returns:



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

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, result: result)
end

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

List all API keys owned by this account

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:



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/ngrokapi/services/api_keys_client.rb', line 132

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

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

Update attributes of an API key by ID.

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:



160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
# File 'lib/ngrokapi/services/api_keys_client.rb', line 160

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, result: 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.

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:



186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# File 'lib/ngrokapi/services/api_keys_client.rb', line 186

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, result: result)
end