Class: PlatformAPI::LogDrain

Inherits:
Object
  • Object
show all
Defined in:
lib/platform-api/client.rb

Overview

Log drains provide a way to forward your Heroku logs to an external syslog server for long-term archiving. This external service must be configured to receive syslog packets from Heroku, whereupon its URL can be added to an app using this API. Some add-ons will add a log drain when they are provisioned to an app. These drains can only be removed by removing the add-on.

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ LogDrain

Returns a new instance of LogDrain.



2087
2088
2089
# File 'lib/platform-api/client.rb', line 2087

def initialize(client)
  @client = client
end

Instance Method Details

#create(app_id_or_app_name, body = {}) ⇒ Object

Create a new log drain.

Parameters:

  • app_id_or_app_name:

    unique identifier of app or unique name of app

  • body:

    the object to pass as the request payload



2095
2096
2097
# File 'lib/platform-api/client.rb', line 2095

def create(app_id_or_app_name, body = {})
  @client.log_drain.create(app_id_or_app_name, body)
end

#delete(app_id_or_app_name, log_drain_id_or_log_drain_url_or_log_drain_token) ⇒ Object

Delete an existing log drain. Log drains added by add-ons can only be removed by removing the add-on.

Parameters:

  • app_id_or_app_name:

    unique identifier of app or unique name of app

  • log_drain_id_or_log_drain_url_or_log_drain_token:

    unique identifier of this log drain or url associated with the log drain or token associated with the log drain



2112
2113
2114
# File 'lib/platform-api/client.rb', line 2112

def delete(app_id_or_app_name, log_drain_id_or_log_drain_url_or_log_drain_token)
  @client.log_drain.delete(app_id_or_app_name, log_drain_id_or_log_drain_url_or_log_drain_token)
end

#info(app_id_or_app_name, log_drain_id_or_log_drain_url_or_log_drain_token) ⇒ Object

Info for existing log drain.

Parameters:

  • app_id_or_app_name:

    unique identifier of app or unique name of app

  • log_drain_id_or_log_drain_url_or_log_drain_token:

    unique identifier of this log drain or url associated with the log drain or token associated with the log drain



2120
2121
2122
# File 'lib/platform-api/client.rb', line 2120

def info(app_id_or_app_name, log_drain_id_or_log_drain_url_or_log_drain_token)
  @client.log_drain.info(app_id_or_app_name, log_drain_id_or_log_drain_url_or_log_drain_token)
end

#list(app_id_or_app_name) ⇒ Object

List existing log drains.

Parameters:

  • app_id_or_app_name:

    unique identifier of app or unique name of app



2134
2135
2136
# File 'lib/platform-api/client.rb', line 2134

def list(app_id_or_app_name)
  @client.log_drain.list(app_id_or_app_name)
end

#list_by_addon(addon_id_or_addon_name) ⇒ Object

List existing log drains for an add-on.

Parameters:

  • addon_id_or_addon_name:

    unique identifier of add-on or globally unique name of the add-on



2127
2128
2129
# File 'lib/platform-api/client.rb', line 2127

def list_by_addon(addon_id_or_addon_name)
  @client.log_drain.list_by_addon(addon_id_or_addon_name)
end

#update(addon_id_or_addon_name, log_drain_id_or_log_drain_url_or_log_drain_token, body = {}) ⇒ Object

Update an add-on owned log drain.

Parameters:

  • addon_id_or_addon_name:

    unique identifier of add-on or globally unique name of the add-on

  • log_drain_id_or_log_drain_url_or_log_drain_token:

    unique identifier of this log drain or url associated with the log drain or token associated with the log drain

  • body:

    the object to pass as the request payload



2104
2105
2106
# File 'lib/platform-api/client.rb', line 2104

def update(addon_id_or_addon_name, log_drain_id_or_log_drain_url_or_log_drain_token, body = {})
  @client.log_drain.update(addon_id_or_addon_name, log_drain_id_or_log_drain_url_or_log_drain_token, body)
end