Class: PlatformAPI::Client
- Inherits:
-
Object
- Object
- PlatformAPI::Client
- Defined in:
- lib/platform-api/client.rb
Overview
The platform API empowers developers to automate, extend and combine Heroku with other services.
Instance Method Summary collapse
-
#account ⇒ Account
An account represents an individual signed up to use the Heroku platform.
-
#account_feature ⇒ AccountFeature
An account feature represents a Heroku labs capability that can be enabled or disabled for an account on Heroku.
-
#addon ⇒ Addon
Add-ons represent add-ons that have been provisioned for an app.
-
#addon_service ⇒ AddonService
Add-on services represent add-ons that may be provisioned for apps.
-
#app ⇒ App
An app represents the program that you would like to deploy and run on Heroku.
-
#app_feature ⇒ AppFeature
An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.
-
#app_transfer ⇒ AppTransfer
An app transfer represents a two party interaction for transferring ownership of an app.
-
#build ⇒ Build
A build represents the process of transforming a code tarball into a slug.
-
#build_result ⇒ BuildResult
A build result contains the output from a build.
-
#collaborator ⇒ Collaborator
A collaborator represents an account that has been given access to an app on Heroku.
-
#config_var ⇒ ConfigVar
Config Vars allow you to manage the configuration information provided to an app on Heroku.
-
#domain ⇒ Domain
Domains define what web routes should be routed to an app on Heroku.
-
#dyno ⇒ Dyno
Dynos encapsulate running processes of an app on Heroku.
-
#formation ⇒ Formation
The formation of processes that should be maintained for an app.
-
#initialize(client) ⇒ Client
constructor
A new instance of Client.
-
#key ⇒ Key
Keys represent public SSH keys associated with an account and are used to authorize accounts as they are performing git operations.
-
#log_drain ⇒ LogDrain
Log drains provide a way to forward your Heroku logs to an external syslog server for long-term archiving.
-
#log_session ⇒ LogSession
A log session is a reference to the http based log stream for an app.
-
#oauth_authorization ⇒ OauthAuthorization
OAuth authorizations represent clients that a Heroku user has authorized to automate, customize or extend their usage of the platform.
-
#oauth_client ⇒ OauthClient
OAuth clients are applications that Heroku users can authorize to automate, customize or extend their usage of the platform.
-
#oauth_grant ⇒ OauthGrant
OAuth grants are used to obtain authorizations on behalf of a user.
-
#oauth_token ⇒ OauthToken
OAuth tokens provide access for authorized clients to act on behalf of a Heroku user to automate, customize or extend their usage of the platform.
-
#organization ⇒ Organization
Organizations allow you to manage access to a shared group of applications across your development team.
-
#organization_app ⇒ OrganizationApp
An organization app encapsulates the organization specific functionality of Heroku apps.
-
#organization_app_collaborator ⇒ OrganizationAppCollaborator
An organization collaborator represents an account that has been given access to an organization app on Heroku.
-
#organization_member ⇒ OrganizationMember
An organization member is an individual with access to an organization.
-
#plan ⇒ Plan
Plans represent different configurations of add-ons that may be added to apps.
-
#rate_limit ⇒ RateLimit
Rate Limit represents the number of request tokens each account holds.
-
#region ⇒ Region
A region represents a geographic location in which your application may run.
-
#release ⇒ Release
A release represents a combination of code, config vars and add-ons for an app on Heroku.
-
#slug ⇒ Slug
A slug is a snapshot of your application code that is ready to run on the platform.
-
#ssl_endpoint ⇒ SSLEndpoint
SSL Endpoint is a public address serving custom SSL cert for HTTPS traffic to a Heroku app.
-
#stack ⇒ Stack
Stacks are the different application execution environments available in the Heroku platform.
Constructor Details
#initialize(client) ⇒ Client
Returns a new instance of Client.
83 84 85 |
# File 'lib/platform-api/client.rb', line 83 def initialize(client) @client = client end |
Instance Method Details
#account ⇒ Account
An account represents an individual signed up to use the Heroku platform.
97 98 99 |
# File 'lib/platform-api/client.rb', line 97 def account @account_resource ||= Account.new(@client) end |
#account_feature ⇒ AccountFeature
An account feature represents a Heroku labs capability that can be enabled or disabled for an account on Heroku.
90 91 92 |
# File 'lib/platform-api/client.rb', line 90 def account_feature @account_feature_resource ||= AccountFeature.new(@client) end |
#addon ⇒ Addon
Add-ons represent add-ons that have been provisioned for an app.
111 112 113 |
# File 'lib/platform-api/client.rb', line 111 def addon @addon_resource ||= Addon.new(@client) end |
#addon_service ⇒ AddonService
Add-on services represent add-ons that may be provisioned for apps.
104 105 106 |
# File 'lib/platform-api/client.rb', line 104 def addon_service @addon_service_resource ||= AddonService.new(@client) end |
#app ⇒ App
An app represents the program that you would like to deploy and run on Heroku.
132 133 134 |
# File 'lib/platform-api/client.rb', line 132 def app @app_resource ||= App.new(@client) end |
#app_feature ⇒ AppFeature
An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.
118 119 120 |
# File 'lib/platform-api/client.rb', line 118 def app_feature @app_feature_resource ||= AppFeature.new(@client) end |
#app_transfer ⇒ AppTransfer
An app transfer represents a two party interaction for transferring ownership of an app.
125 126 127 |
# File 'lib/platform-api/client.rb', line 125 def app_transfer @app_transfer_resource ||= AppTransfer.new(@client) end |
#build ⇒ Build
A build represents the process of transforming a code tarball into a slug
146 147 148 |
# File 'lib/platform-api/client.rb', line 146 def build @build_resource ||= Build.new(@client) end |
#build_result ⇒ BuildResult
A build result contains the output from a build.
139 140 141 |
# File 'lib/platform-api/client.rb', line 139 def build_result @build_result_resource ||= BuildResult.new(@client) end |
#collaborator ⇒ Collaborator
A collaborator represents an account that has been given access to an app on Heroku.
153 154 155 |
# File 'lib/platform-api/client.rb', line 153 def collaborator @collaborator_resource ||= Collaborator.new(@client) end |
#config_var ⇒ ConfigVar
Config Vars allow you to manage the configuration information provided to an app on Heroku.
160 161 162 |
# File 'lib/platform-api/client.rb', line 160 def config_var @config_var_resource ||= ConfigVar.new(@client) end |
#domain ⇒ Domain
Domains define what web routes should be routed to an app on Heroku.
167 168 169 |
# File 'lib/platform-api/client.rb', line 167 def domain @domain_resource ||= Domain.new(@client) end |
#dyno ⇒ Dyno
Dynos encapsulate running processes of an app on Heroku.
174 175 176 |
# File 'lib/platform-api/client.rb', line 174 def dyno @dyno_resource ||= Dyno.new(@client) end |
#formation ⇒ Formation
The formation of processes that should be maintained for an app. Update the formation to scale processes or change dyno sizes. Available process type names and commands are defined by the process_types attribute for the slug currently released on an app.
181 182 183 |
# File 'lib/platform-api/client.rb', line 181 def formation @formation_resource ||= Formation.new(@client) end |
#key ⇒ Key
Keys represent public SSH keys associated with an account and are used to authorize accounts as they are performing git operations.
188 189 190 |
# File 'lib/platform-api/client.rb', line 188 def key @key_resource ||= Key.new(@client) end |
#log_drain ⇒ LogDrain
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 addons will add a log drain when they are provisioned to an app. These drains can only be removed by removing the add-on.
195 196 197 |
# File 'lib/platform-api/client.rb', line 195 def log_drain @log_drain_resource ||= LogDrain.new(@client) end |
#log_session ⇒ LogSession
A log session is a reference to the http based log stream for an app.
202 203 204 |
# File 'lib/platform-api/client.rb', line 202 def log_session @log_session_resource ||= LogSession.new(@client) end |
#oauth_authorization ⇒ OauthAuthorization
OAuth authorizations represent clients that a Heroku user has authorized to automate, customize or extend their usage of the platform. For more information please refer to the Heroku OAuth documentation
209 210 211 |
# File 'lib/platform-api/client.rb', line 209 def @oauth_authorization_resource ||= OauthAuthorization.new(@client) end |
#oauth_client ⇒ OauthClient
OAuth clients are applications that Heroku users can authorize to automate, customize or extend their usage of the platform. For more information please refer to the Heroku OAuth documentation.
216 217 218 |
# File 'lib/platform-api/client.rb', line 216 def oauth_client @oauth_client_resource ||= OauthClient.new(@client) end |
#oauth_grant ⇒ OauthGrant
OAuth grants are used to obtain authorizations on behalf of a user. For more information please refer to the Heroku OAuth documentation
223 224 225 |
# File 'lib/platform-api/client.rb', line 223 def oauth_grant @oauth_grant_resource ||= OauthGrant.new(@client) end |
#oauth_token ⇒ OauthToken
OAuth tokens provide access for authorized clients to act on behalf of a Heroku user to automate, customize or extend their usage of the platform. For more information please refer to the Heroku OAuth documentation
230 231 232 |
# File 'lib/platform-api/client.rb', line 230 def oauth_token @oauth_token_resource ||= OauthToken.new(@client) end |
#organization ⇒ Organization
Organizations allow you to manage access to a shared group of applications across your development team.
258 259 260 |
# File 'lib/platform-api/client.rb', line 258 def organization @organization_resource ||= Organization.new(@client) end |
#organization_app ⇒ OrganizationApp
An organization app encapsulates the organization specific functionality of Heroku apps.
244 245 246 |
# File 'lib/platform-api/client.rb', line 244 def organization_app @organization_app_resource ||= OrganizationApp.new(@client) end |
#organization_app_collaborator ⇒ OrganizationAppCollaborator
An organization collaborator represents an account that has been given access to an organization app on Heroku.
237 238 239 |
# File 'lib/platform-api/client.rb', line 237 def organization_app_collaborator @organization_app_collaborator_resource ||= OrganizationAppCollaborator.new(@client) end |
#organization_member ⇒ OrganizationMember
An organization member is an individual with access to an organization.
251 252 253 |
# File 'lib/platform-api/client.rb', line 251 def organization_member @organization_member_resource ||= OrganizationMember.new(@client) end |
#plan ⇒ Plan
Plans represent different configurations of add-ons that may be added to apps.
265 266 267 |
# File 'lib/platform-api/client.rb', line 265 def plan @plan_resource ||= Plan.new(@client) end |
#rate_limit ⇒ RateLimit
Rate Limit represents the number of request tokens each account holds. Requests to this endpoint do not count towards the rate limit.
272 273 274 |
# File 'lib/platform-api/client.rb', line 272 def rate_limit @rate_limit_resource ||= RateLimit.new(@client) end |
#region ⇒ Region
A region represents a geographic location in which your application may run.
279 280 281 |
# File 'lib/platform-api/client.rb', line 279 def region @region_resource ||= Region.new(@client) end |
#release ⇒ Release
A release represents a combination of code, config vars and add-ons for an app on Heroku.
286 287 288 |
# File 'lib/platform-api/client.rb', line 286 def release @release_resource ||= Release.new(@client) end |
#slug ⇒ Slug
A slug is a snapshot of your application code that is ready to run on the platform.
293 294 295 |
# File 'lib/platform-api/client.rb', line 293 def slug @slug_resource ||= Slug.new(@client) end |
#ssl_endpoint ⇒ SSLEndpoint
SSL Endpoint is a public address serving custom SSL cert for HTTPS traffic to a Heroku app. Note that an app must have the ssl:endpoint addon installed before it can provision an SSL Endpoint using these APIs.
300 301 302 |
# File 'lib/platform-api/client.rb', line 300 def ssl_endpoint @ssl_endpoint_resource ||= SSLEndpoint.new(@client) end |