Class: PlatformAPI::Client

Inherits:
Object
  • Object
show all
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

Constructor Details

#initialize(client) ⇒ Client

Returns a new instance of Client.



88
89
90
# File 'lib/platform-api/client.rb', line 88

def initialize(client)
  @client = client
end

Instance Method Details

#accountAccount

An account represents an individual signed up to use the Heroku platform.

Returns:



102
103
104
# File 'lib/platform-api/client.rb', line 102

def 
  @account_resource ||= Account.new(@client)
end

#account_featureAccountFeature

An account feature represents a Heroku labs capability that can be enabled or disabled for an account on Heroku.

Returns:



95
96
97
# File 'lib/platform-api/client.rb', line 95

def 
  @account_feature_resource ||= AccountFeature.new(@client)
end

#addonAddon

Add-ons represent add-ons that have been provisioned and attached to one or more apps.

Returns:



137
138
139
# File 'lib/platform-api/client.rb', line 137

def addon
  @addon_resource ||= Addon.new(@client)
end

#addon_actionAddonAction

Add-on Actions are Provider functionality for specific add-on installations

Returns:



109
110
111
# File 'lib/platform-api/client.rb', line 109

def addon_action
  @addon_action_resource ||= AddonAction.new(@client)
end

#addon_attachmentAddonAttachment

An add-on attachment represents a connection between an app and an add-on that it has been given access to.

Returns:



116
117
118
# File 'lib/platform-api/client.rb', line 116

def addon_attachment
  @addon_attachment_resource ||= AddonAttachment.new(@client)
end

#addon_region_capabilityAddonRegionCapability

Add-on region capabilities represent the relationship between an Add-on Service and a specific Region



123
124
125
# File 'lib/platform-api/client.rb', line 123

def addon_region_capability
  @addon_region_capability_resource ||= AddonRegionCapability.new(@client)
end

#addon_serviceAddonService

Add-on services represent add-ons that may be provisioned for apps. Endpoints under add-on services can be accessed without authentication.

Returns:



130
131
132
# File 'lib/platform-api/client.rb', line 130

def addon_service
  @addon_service_resource ||= AddonService.new(@client)
end

#appApp

An app represents the program that you would like to deploy and run on Heroku.

Returns:



165
166
167
# File 'lib/platform-api/client.rb', line 165

def app
  @app_resource ||= App.new(@client)
end

#app_featureAppFeature

An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.

Returns:



144
145
146
# File 'lib/platform-api/client.rb', line 144

def app_feature
  @app_feature_resource ||= AppFeature.new(@client)
end

#app_setupAppSetup

An app setup represents an app on Heroku that is setup using an environment, addons, and scripts described in an app.json manifest file.

Returns:



151
152
153
# File 'lib/platform-api/client.rb', line 151

def app_setup
  @app_setup_resource ||= AppSetup.new(@client)
end

#app_transferAppTransfer

An app transfer represents a two party interaction for transferring ownership of an app.

Returns:



158
159
160
# File 'lib/platform-api/client.rb', line 158

def app_transfer
  @app_transfer_resource ||= AppTransfer.new(@client)
end

#buildBuild

A build represents the process of transforming a code tarball into a slug

Returns:



179
180
181
# File 'lib/platform-api/client.rb', line 179

def build
  @build_resource ||= Build.new(@client)
end

#build_resultBuildResult

A build result contains the output from a build.

Returns:



172
173
174
# File 'lib/platform-api/client.rb', line 172

def build_result
  @build_result_resource ||= BuildResult.new(@client)
end

#buildpack_installationBuildpackInstallation

A buildpack installation represents a buildpack that will be run against an app.



186
187
188
# File 'lib/platform-api/client.rb', line 186

def buildpack_installation
  @buildpack_installation_resource ||= BuildpackInstallation.new(@client)
end

#collaboratorCollaborator

A collaborator represents an account that has been given access to an app on Heroku.

Returns:



193
194
195
# File 'lib/platform-api/client.rb', line 193

def collaborator
  @collaborator_resource ||= Collaborator.new(@client)
end

#config_varConfigVar

Config Vars allow you to manage the configuration information provided to an app on Heroku.

Returns:



200
201
202
# File 'lib/platform-api/client.rb', line 200

def config_var
  @config_var_resource ||= ConfigVar.new(@client)
end

#creditCredit

A credit represents value that will be used up before further charges are assigned to an account.

Returns:



207
208
209
# File 'lib/platform-api/client.rb', line 207

def credit
  @credit_resource ||= Credit.new(@client)
end

#domainDomain

Domains define what web routes should be routed to an app on Heroku.

Returns:



214
215
216
# File 'lib/platform-api/client.rb', line 214

def domain
  @domain_resource ||= Domain.new(@client)
end

#dynoDyno

Dynos encapsulate running processes of an app on Heroku. Detailed information about dyno sizes can be found at: https://devcenter.heroku.com/articles/dyno-types.

Returns:



221
222
223
# File 'lib/platform-api/client.rb', line 221

def dyno
  @dyno_resource ||= Dyno.new(@client)
end

#eventEvent

An event represents an action performed on another API resource.

Returns:



228
229
230
# File 'lib/platform-api/client.rb', line 228

def event
  @event_resource ||= Event.new(@client)
end

#failed_eventFailedEvent

A failed event represents a failure of an action performed on another API resource.

Returns:



235
236
237
# File 'lib/platform-api/client.rb', line 235

def failed_event
  @failed_event_resource ||= FailedEvent.new(@client)
end

#filter_appsFilterApps

Filters are special endpoints to allow for API consumers to specify a subset of resources to consume in order to reduce the number of requests that are performed. Each filter endpoint endpoint is responsible for determining its supported request format. The endpoints are over POST in order to handle large request bodies without hitting request uri query length limitations, but the requests themselves are idempotent and will not have side effects.

Returns:



242
243
244
# File 'lib/platform-api/client.rb', line 242

def filter_apps
  @filter_apps_resource ||= FilterApps.new(@client)
end

#formationFormation

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.

Returns:



249
250
251
# File 'lib/platform-api/client.rb', line 249

def formation
  @formation_resource ||= Formation.new(@client)
end

#inbound_rulesetInboundRuleset

An inbound-ruleset is a collection of rules that specify what hosts can or cannot connect to an application.

Returns:



256
257
258
# File 'lib/platform-api/client.rb', line 256

def inbound_ruleset
  @inbound_ruleset_resource ||= InboundRuleset.new(@client)
end

#invitationInvitation

An invitation represents an invite sent to a user to use the Heroku platform.

Returns:



263
264
265
# File 'lib/platform-api/client.rb', line 263

def invitation
  @invitation_resource ||= Invitation.new(@client)
end

#invoiceInvoice

An invoice is an itemized bill of goods for an account which includes pricing and charges.

Returns:



277
278
279
# File 'lib/platform-api/client.rb', line 277

def invoice
  @invoice_resource ||= Invoice.new(@client)
end

#invoice_addressInvoiceAddress

An invoice address represents the address that should be listed on an invoice.

Returns:



270
271
272
# File 'lib/platform-api/client.rb', line 270

def invoice_address
  @invoice_address_resource ||= InvoiceAddress.new(@client)
end

#keyKey

Keys represent public SSH keys associated with an account and are used to authorize accounts as they are performing git operations.

Returns:



284
285
286
# File 'lib/platform-api/client.rb', line 284

def key
  @key_resource ||= Key.new(@client)
end

#log_drainLogDrain

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.

Returns:



291
292
293
# File 'lib/platform-api/client.rb', line 291

def log_drain
  @log_drain_resource ||= LogDrain.new(@client)
end

#log_sessionLogSession

A log session is a reference to the http based log stream for an app.

Returns:



298
299
300
# File 'lib/platform-api/client.rb', line 298

def log_session
  @log_session_resource ||= LogSession.new(@client)
end

#oauth_authorizationOauthAuthorization

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

Returns:



305
306
307
# File 'lib/platform-api/client.rb', line 305

def oauth_authorization
  @oauth_authorization_resource ||= OauthAuthorization.new(@client)
end

#oauth_clientOauthClient

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.

Returns:



312
313
314
# File 'lib/platform-api/client.rb', line 312

def oauth_client
  @oauth_client_resource ||= OauthClient.new(@client)
end

#oauth_grantOauthGrant

OAuth grants are used to obtain authorizations on behalf of a user. For more information please refer to the Heroku OAuth documentation

Returns:



319
320
321
# File 'lib/platform-api/client.rb', line 319

def oauth_grant
  @oauth_grant_resource ||= OauthGrant.new(@client)
end

#oauth_tokenOauthToken

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

Returns:



326
327
328
# File 'lib/platform-api/client.rb', line 326

def oauth_token
  @oauth_token_resource ||= OauthToken.new(@client)
end

#organizationOrganization

Organizations allow you to manage access to a shared group of applications across your development team.

Returns:



382
383
384
# File 'lib/platform-api/client.rb', line 382

def organization
  @organization_resource ||= Organization.new(@client)
end

#organization_addonOrganizationAddon

A list of add-ons the Organization uses across all apps

Returns:



333
334
335
# File 'lib/platform-api/client.rb', line 333

def organization_addon
  @organization_addon_resource ||= OrganizationAddon.new(@client)
end

#organization_appOrganizationApp

An organization app encapsulates the organization specific functionality of Heroku apps.

Returns:



347
348
349
# File 'lib/platform-api/client.rb', line 347

def organization_app
  @organization_app_resource ||= OrganizationApp.new(@client)
end

#organization_app_collaboratorOrganizationAppCollaborator

An organization collaborator represents an account that has been given access to an organization app on Heroku.



340
341
342
# File 'lib/platform-api/client.rb', line 340

def organization_app_collaborator
  @organization_app_collaborator_resource ||= OrganizationAppCollaborator.new(@client)
end

#organization_invoiceOrganizationInvoice

An organization invoice is an itemized bill of goods for an organization which includes pricing and charges.

Returns:



354
355
356
# File 'lib/platform-api/client.rb', line 354

def organization_invoice
  @organization_invoice_resource ||= OrganizationInvoice.new(@client)
end

#organization_memberOrganizationMember

An organization member is an individual with access to an organization.

Returns:



361
362
363
# File 'lib/platform-api/client.rb', line 361

def organization_member
  @organization_member_resource ||= OrganizationMember.new(@client)
end

#organization_payment_methodOrganizationPaymentMethod

The on file payment method for an account



368
369
370
# File 'lib/platform-api/client.rb', line 368

def organization_payment_method
  @organization_payment_method_resource ||= OrganizationPaymentMethod.new(@client)
end

#organization_preferencesOrganizationPreferences

Tracks an organization's preferences



375
376
377
# File 'lib/platform-api/client.rb', line 375

def organization_preferences
  @organization_preferences_resource ||= OrganizationPreferences.new(@client)
end

#otp_secretOtpSecret

This renders a secret that clients can use to build a one-time password to be supplied as a 2nd factor of authentication.

Returns:



389
390
391
# File 'lib/platform-api/client.rb', line 389

def otp_secret
  @otp_secret_resource ||= OtpSecret.new(@client)
end

#password_resetPasswordReset

A password reset represents a in-process password reset attempt.

Returns:



396
397
398
# File 'lib/platform-api/client.rb', line 396

def password_reset
  @password_reset_resource ||= PasswordReset.new(@client)
end

#paymentPayment

A payment represents money collected for an account

Returns:



410
411
412
# File 'lib/platform-api/client.rb', line 410

def payment
  @payment_resource ||= Payment.new(@client)
end

#payment_methodPaymentMethod

The on file payment method for an account

Returns:



403
404
405
# File 'lib/platform-api/client.rb', line 403

def payment_method
  @payment_method_resource ||= PaymentMethod.new(@client)
end

#pipelinePipeline

A pipeline allows grouping of apps into different stages.

Returns:



438
439
440
# File 'lib/platform-api/client.rb', line 438

def pipeline
  @pipeline_resource ||= Pipeline.new(@client)
end

#pipeline_couplingPipelineCoupling

Information about an app's coupling to a pipeline

Returns:



417
418
419
# File 'lib/platform-api/client.rb', line 417

def pipeline_coupling
  @pipeline_coupling_resource ||= PipelineCoupling.new(@client)
end

#pipeline_promotionPipelinePromotion

Promotions allow you to move code from an app in a pipeline to all targets

Returns:



431
432
433
# File 'lib/platform-api/client.rb', line 431

def pipeline_promotion
  @pipeline_promotion_resource ||= PipelinePromotion.new(@client)
end

#pipeline_promotion_targetPipelinePromotionTarget

Promotion targets represent an individual app being promoted to



424
425
426
# File 'lib/platform-api/client.rb', line 424

def pipeline_promotion_target
  @pipeline_promotion_target_resource ||= PipelinePromotionTarget.new(@client)
end

#planPlan

Plans represent different configurations of add-ons that may be added to apps. Endpoints under add-on services can be accessed without authentication.

Returns:



445
446
447
# File 'lib/platform-api/client.rb', line 445

def plan
  @plan_resource ||= Plan.new(@client)
end

#rate_limitRateLimit

Rate Limit represents the number of request tokens each account holds. Requests to this endpoint do not count towards the rate limit.

Returns:



452
453
454
# File 'lib/platform-api/client.rb', line 452

def rate_limit
  @rate_limit_resource ||= RateLimit.new(@client)
end

#recovery_codeRecoveryCode

Recovery codes grant access to accounts with two-factor authentication enabled.

Returns:



459
460
461
# File 'lib/platform-api/client.rb', line 459

def recovery_code
  @recovery_code_resource ||= RecoveryCode.new(@client)
end

#regionRegion

A region represents a geographic location in which your application may run.

Returns:



466
467
468
# File 'lib/platform-api/client.rb', line 466

def region
  @region_resource ||= Region.new(@client)
end

#releaseRelease

A release represents a combination of code, config vars and add-ons for an app on Heroku.

Returns:



473
474
475
# File 'lib/platform-api/client.rb', line 473

def release
  @release_resource ||= Release.new(@client)
end

#slugSlug

A slug is a snapshot of your application code that is ready to run on the platform.

Returns:



480
481
482
# File 'lib/platform-api/client.rb', line 480

def slug
  @slug_resource ||= Slug.new(@client)
end

#sms_numberSmsNumber

SMS numbers are used for recovery on accounts with two-factor authentication enabled.

Returns:



487
488
489
# File 'lib/platform-api/client.rb', line 487

def sms_number
  @sms_number_resource ||= SmsNumber.new(@client)
end

#sourceSource

A source is a location for uploading and downloading an application's source code.

Returns:



494
495
496
# File 'lib/platform-api/client.rb', line 494

def source
  @source_resource ||= Source.new(@client)
end

#spaceSpace

A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.

Returns:



515
516
517
# File 'lib/platform-api/client.rb', line 515

def space
  @space_resource ||= Space.new(@client)
end

#space_app_accessSpaceAppAccess

Space access represents the permissions a particular user has on a particular space.

Returns:



501
502
503
# File 'lib/platform-api/client.rb', line 501

def space_app_access
  @space_app_access_resource ||= SpaceAppAccess.new(@client)
end

#space_natSpaceNat

Network address translation (NAT) for stable outbound IP addresses from a space

Returns:



508
509
510
# File 'lib/platform-api/client.rb', line 508

def space_nat
  @space_nat_resource ||= SpaceNat.new(@client)
end

#ssl_endpointSSLEndpoint

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.

Returns:



522
523
524
# File 'lib/platform-api/client.rb', line 522

def ssl_endpoint
  @ssl_endpoint_resource ||= SSLEndpoint.new(@client)
end

#stackStack

Stacks are the different application execution environments available in the Heroku platform.

Returns:



529
530
531
# File 'lib/platform-api/client.rb', line 529

def stack
  @stack_resource ||= Stack.new(@client)
end

#user_preferencesUserPreferences

Tracks a user's preferences and message dismissals

Returns:



536
537
538
# File 'lib/platform-api/client.rb', line 536

def user_preferences
  @user_preferences_resource ||= UserPreferences.new(@client)
end

#whitelisted_addon_serviceWhitelistedAddonService

Entities that have been whitelisted to be used by an Organization



543
544
545
# File 'lib/platform-api/client.rb', line 543

def whitelisted_addon_service
  @whitelisted_addon_service_resource ||= WhitelistedAddonService.new(@client)
end