class PlatformAPI::Client
The platform API empowers developers to automate, extend and combine Heroku with other services.
Public Class Methods
# File lib/platform-api/client.rb, line 97 def initialize(client) @client = client end
Public Instance Methods
An account represents an individual signed up to use the Heroku platform.
@return [Account]
# File lib/platform-api/client.rb, line 111 def account @account_resource ||= Account.new(@client) end
An account feature represents a Heroku labs capability that can be enabled or disabled for an account on Heroku.
@return [AccountFeature]
# File lib/platform-api/client.rb, line 104 def account_feature @account_feature_resource ||= AccountFeature.new(@client) end
Add-ons represent add-ons that have been provisioned and attached to one or more apps.
@return [Addon]
# File lib/platform-api/client.rb, line 181 def addon @addon_resource ||= Addon.new(@client) end
Add-on Actions are lifecycle operations for add-on provisioning and deprovisioning. They allow add-on providers to (de)provision add-ons in the background and then report back when (de)provisioning is complete.
@return [AddonAction]
# File lib/platform-api/client.rb, line 118 def addon_action @addon_action_resource ||= AddonAction.new(@client) end
An add-on attachment represents a connection between an app and an add-on that it has been given access to.
@return [AddonAttachment]
# File lib/platform-api/client.rb, line 125 def addon_attachment @addon_attachment_resource ||= AddonAttachment.new(@client) end
Configuration of an Add-on
@return [AddonConfig]
# File lib/platform-api/client.rb, line 132 def addon_config @addon_config_resource ||= AddonConfig.new(@client) end
Add-on Plan
Actions are Provider functionality for specific add-on installations
@return [AddonPlanAction]
# File lib/platform-api/client.rb, line 139 def addon_plan_action @addon_plan_action_resource ||= AddonPlanAction.new(@client) end
Add-on region capabilities represent the relationship between an Add-on Service and a specific Region
. Only Beta and GA add-ons are returned by these endpoints.
@return [AddonRegionCapability]
# File lib/platform-api/client.rb, line 146 def addon_region_capability @addon_region_capability_resource ||= AddonRegionCapability.new(@client) end
Add-on services represent add-ons that may be provisioned for apps. Endpoints under add-on services can be accessed without authentication.
@return [AddonService]
# File lib/platform-api/client.rb, line 153 def addon_service @addon_service_resource ||= AddonService.new(@client) end
Represents the details of a webhook subscription
@return [AddonWebhook]
# File lib/platform-api/client.rb, line 174 def addon_webhook @addon_webhook_resource ||= AddonWebhook.new(@client) end
Represents the delivery of a webhook notification, including its current status.
@return [AddonWebhookDelivery]
# File lib/platform-api/client.rb, line 160 def addon_webhook_delivery @addon_webhook_delivery_resource ||= AddonWebhookDelivery.new(@client) end
Represents a webhook event that occurred.
@return [AddonWebhookEvent]
# File lib/platform-api/client.rb, line 167 def addon_webhook_event @addon_webhook_event_resource ||= AddonWebhookEvent.new(@client) end
Entities that have been allowed to be used by a Team
@return [AllowedAddonService]
# File lib/platform-api/client.rb, line 188 def allowed_addon_service @allowed_addon_service_resource ||= AllowedAddonService.new(@client) end
An app represents the program that you would like to deploy and run on Heroku.
@return [App]
# File lib/platform-api/client.rb, line 244 def app @app_resource ||= App.new(@client) end
An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.
@return [AppFeature]
# File lib/platform-api/client.rb, line 195 def app_feature @app_feature_resource ||= AppFeature.new(@client) end
App
formation set describes the combination of process types with their quantities and sizes as well as application process tier
@return [AppFormationSet]
# File lib/platform-api/client.rb, line 202 def app_formation_set @app_formation_set_resource ||= AppFormationSet.new(@client) end
An app setup represents an app on Heroku that is setup using an environment, addons, and scripts described in an app.json manifest file.
@return [AppSetup]
# File lib/platform-api/client.rb, line 209 def app_setup @app_setup_resource ||= AppSetup.new(@client) end
An app transfer represents a two party interaction for transferring ownership of an app.
@return [AppTransfer]
# File lib/platform-api/client.rb, line 216 def app_transfer @app_transfer_resource ||= AppTransfer.new(@client) end
Represents the details of a webhook subscription
@return [AppWebhook]
# File lib/platform-api/client.rb, line 237 def app_webhook @app_webhook_resource ||= AppWebhook.new(@client) end
Represents the delivery of a webhook notification, including its current status.
@return [AppWebhookDelivery]
# File lib/platform-api/client.rb, line 223 def app_webhook_delivery @app_webhook_delivery_resource ||= AppWebhookDelivery.new(@client) end
Represents a webhook event that occurred.
@return [AppWebhookEvent]
# File lib/platform-api/client.rb, line 230 def app_webhook_event @app_webhook_event_resource ||= AppWebhookEvent.new(@client) end
An audit trail archive represents a monthly json zipped file containing events
@return [Archive]
# File lib/platform-api/client.rb, line 251 def archive @archive_resource ||= Archive.new(@client) end
An audit trail event represents some action on the platform
@return [AuditTrailEvent]
# File lib/platform-api/client.rb, line 258 def audit_trail_event @audit_trail_event_resource ||= AuditTrailEvent.new(@client) end
A build represents the process of transforming a code tarball into a slug
@return [Build]
# File lib/platform-api/client.rb, line 265 def build @build_resource ||= Build.new(@client) end
A buildpack installation represents a buildpack that will be run against an app.
@return [BuildpackInstallation]
# File lib/platform-api/client.rb, line 272 def buildpack_installation @buildpack_installation_resource ||= BuildpackInstallation.new(@client) end
A collaborator represents an account that has been given access to an app on Heroku.
@return [Collaborator]
# File lib/platform-api/client.rb, line 279 def collaborator @collaborator_resource ||= Collaborator.new(@client) end
Config Vars allow you to manage the configuration information provided to an app on Heroku.
@return [ConfigVar]
# File lib/platform-api/client.rb, line 286 def config_var @config_var_resource ||= ConfigVar.new(@client) end
A credit represents value that will be used up before further charges are assigned to an account.
@return [Credit]
# File lib/platform-api/client.rb, line 293 def credit @credit_resource ||= Credit.new(@client) end
Domains define what web routes should be routed to an app on Heroku.
@return [Domain]
# File lib/platform-api/client.rb, line 300 def domain @domain_resource ||= Domain.new(@client) end
Dynos encapsulate running processes of an app on Heroku. Detailed information about dyno sizes can be found at: [devcenter.heroku.com/articles/dyno-types](https://devcenter.heroku.com/articles/dyno-types).
@return [Dyno]
# File lib/platform-api/client.rb, line 314 def dyno @dyno_resource ||= Dyno.new(@client) end
Dyno
sizes are the values and details of sizes that can be assigned to dynos. This information can also be found at : [devcenter.heroku.com/articles/dyno-types](https://devcenter.heroku.com/articles/dyno-types).
@return [DynoSize]
# File lib/platform-api/client.rb, line 307 def dyno_size @dyno_size_resource ||= DynoSize.new(@client) end
Enterprise accounts allow companies to manage their development teams and billing.
@return [EnterpriseAccount]
# File lib/platform-api/client.rb, line 342 def enterprise_account @enterprise_account_resource ||= EnterpriseAccount.new(@client) end
Enterprise account members are users with access to an enterprise account.
@return [EnterpriseAccountMember]
# File lib/platform-api/client.rb, line 321 def enterprise_account_member @enterprise_account_member_resource ||= EnterpriseAccountMember.new(@client) end
Usage for an enterprise account at a daily resolution.
@return [EnterpriseAccountUsageDaily]
# File lib/platform-api/client.rb, line 328 def enterprise_account_usage_daily @enterprise_account_usage_daily_resource ||= EnterpriseAccountUsageDaily.new(@client) end
Usage for an enterprise account at a monthly resolution.
@return [EnterpriseAccountUsageMonthly]
# File lib/platform-api/client.rb, line 335 def enterprise_account_usage_monthly @enterprise_account_usage_monthly_resource ||= EnterpriseAccountUsageMonthly.new(@client) end
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.
@return [FilterApps]
# File lib/platform-api/client.rb, line 349 def filter_apps @filter_apps_resource ||= FilterApps.new(@client) end
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](slug
) currently released on an app.
@return [Formation]
# File lib/platform-api/client.rb, line 356 def formation @formation_resource ||= Formation.new(@client) end
Identity Providers represent the SAML configuration of an Team
.
@return [IdentityProvider]
# File lib/platform-api/client.rb, line 363 def identity_provider @identity_provider_resource ||= IdentityProvider.new(@client) end
An inbound-ruleset is a collection of rules that specify what hosts can or cannot connect to an application.
@return [InboundRuleset]
# File lib/platform-api/client.rb, line 370 def inbound_ruleset @inbound_ruleset_resource ||= InboundRuleset.new(@client) end
An invoice is an itemized bill of goods for an account which includes pricing and charges.
@return [Invoice]
# File lib/platform-api/client.rb, line 384 def invoice @invoice_resource ||= Invoice.new(@client) end
An invoice address represents the address that should be listed on an invoice.
@return [InvoiceAddress]
# File lib/platform-api/client.rb, line 377 def invoice_address @invoice_address_resource ||= InvoiceAddress.new(@client) end
Keys represent public SSH keys associated with an account and are used to authorize accounts as they are performing git operations.
@return [Key]
# File lib/platform-api/client.rb, line 391 def key @key_resource ||= Key.new(@client) end
[Log drains](devcenter.heroku.com/articles/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.
@return [LogDrain]
# File lib/platform-api/client.rb, line 398 def log_drain @log_drain_resource ||= LogDrain.new(@client) end
A log session is a reference to the http based log stream for an app.
@return [LogSession]
# File lib/platform-api/client.rb, line 405 def log_session @log_session_resource ||= LogSession.new(@client) end
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](devcenter.heroku.com/articles/oauth).
@return [OauthClient]
# File lib/platform-api/client.rb, line 419 def oauth_client @oauth_client_resource ||= OauthClient.new(@client) end
OAuth grants are used to obtain authorizations on behalf of a user. For more information please refer to the [Heroku OAuth documentation](devcenter.heroku.com/articles/oauth)
@return [OauthGrant]
# File lib/platform-api/client.rb, line 426 def oauth_grant @oauth_grant_resource ||= OauthGrant.new(@client) end
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](devcenter.heroku.com/articles/oauth)
@return [OauthToken]
# File lib/platform-api/client.rb, line 433 def oauth_token @oauth_token_resource ||= OauthToken.new(@client) end
An outbound-ruleset is a collection of rules that specify what hosts Dynos are allowed to communicate with.
@return [OutboundRuleset]
# File lib/platform-api/client.rb, line 440 def outbound_ruleset @outbound_ruleset_resource ||= OutboundRuleset.new(@client) end
A password reset represents a in-process password reset attempt.
@return [PasswordReset]
# File lib/platform-api/client.rb, line 447 def password_reset @password_reset_resource ||= PasswordReset.new(@client) end
[Peering](devcenter.heroku.com/articles/private-space-peering) provides a way to peer your Private Space
VPC to another AWS VPC.
@return [Peering]
# File lib/platform-api/client.rb, line 461 def peering @peering_resource ||= Peering.new(@client) end
[Peering Info](devcenter.heroku.com/articles/private-space-peering) gives you the information necessary to peer an AWS VPC to a Private Space
.
@return [PeeringInfo]
# File lib/platform-api/client.rb, line 454 def peering_info @peering_info_resource ||= PeeringInfo.new(@client) end
An owned entity including users' permissions.
@return [PermissionEntity]
# File lib/platform-api/client.rb, line 468 def permission_entity @permission_entity_resource ||= PermissionEntity.new(@client) end
A pipeline allows grouping of apps into different stages.
@return [Pipeline]
# File lib/platform-api/client.rb, line 538 def pipeline @pipeline_resource ||= Pipeline.new(@client) end
Information about latest builds of apps in a pipeline.
@return [PipelineBuild]
# File lib/platform-api/client.rb, line 475 def pipeline_build @pipeline_build_resource ||= PipelineBuild.new(@client) end
Pipeline
Config Vars allow you to manage the configuration information provided to a pipeline.
@return [PipelineConfigVar]
# File lib/platform-api/client.rb, line 482 def pipeline_config_var @pipeline_config_var_resource ||= PipelineConfigVar.new(@client) end
Information about an app's coupling to a pipeline
@return [PipelineCoupling]
# File lib/platform-api/client.rb, line 489 def pipeline_coupling @pipeline_coupling_resource ||= PipelineCoupling.new(@client) end
Information about latest deployments of apps in a pipeline.
@return [PipelineDeployment]
# File lib/platform-api/client.rb, line 496 def pipeline_deployment @pipeline_deployment_resource ||= PipelineDeployment.new(@client) end
Promotions allow you to move code from an app in a pipeline to all targets
@return [PipelinePromotion]
# File lib/platform-api/client.rb, line 510 def pipeline_promotion @pipeline_promotion_resource ||= PipelinePromotion.new(@client) end
Promotion targets represent an individual app being promoted to
@return [PipelinePromotionTarget]
# File lib/platform-api/client.rb, line 503 def pipeline_promotion_target @pipeline_promotion_target_resource ||= PipelinePromotionTarget.new(@client) end
Information about latest releases of apps in a pipeline.
@return [PipelineRelease]
# File lib/platform-api/client.rb, line 517 def pipeline_release @pipeline_release_resource ||= PipelineRelease.new(@client) end
A pipeline's stack is determined by the apps in the pipeline. This is used during creation of CI and Review Apps that have no stack defined in app.json
@return [PipelineStack]
# File lib/platform-api/client.rb, line 524 def pipeline_stack @pipeline_stack_resource ||= PipelineStack.new(@client) end
A pipeline transfer is the process of changing pipeline ownership along with the contained apps.
@return [PipelineTransfer]
# File lib/platform-api/client.rb, line 531 def pipeline_transfer @pipeline_transfer_resource ||= PipelineTransfer.new(@client) end
Plans represent different configurations of add-ons that may be added to apps. Endpoints under add-on services can be accessed without authentication.
@return [Plan]
# File lib/platform-api/client.rb, line 545 def plan @plan_resource ||= Plan.new(@client) end
Rate Limit represents the number of request tokens each account holds. Requests to this endpoint do not count towards the rate limit.
@return [RateLimit]
# File lib/platform-api/client.rb, line 552 def rate_limit @rate_limit_resource ||= RateLimit.new(@client) end
A region represents a geographic location in which your application may run.
@return [Region]
# File lib/platform-api/client.rb, line 559 def region @region_resource ||= Region.new(@client) end
A release represents a combination of code, config vars and add-ons for an app on Heroku.
@return [Release]
# File lib/platform-api/client.rb, line 566 def release @release_resource ||= Release.new(@client) end
An ephemeral app to review a set of changes
@return [ReviewApp]
# File lib/platform-api/client.rb, line 573 def review_app @review_app_resource ||= ReviewApp.new(@client) end
Review apps can be configured for pipelines.
@return [ReviewAppConfig]
# File lib/platform-api/client.rb, line 580 def review_app_config @review_app_config_resource ||= ReviewAppConfig.new(@client) end
A slug is a snapshot of your application code that is ready to run on the platform.
@return [Slug]
# File lib/platform-api/client.rb, line 587 def slug @slug_resource ||= Slug.new(@client) end
SMS numbers are used for recovery on accounts with two-factor authentication enabled.
@return [SmsNumber]
# File lib/platform-api/client.rb, line 594 def sms_number @sms_number_resource ||= SmsNumber.new(@client) end
SNI Endpoint is a public address serving a custom SSL cert for HTTPS traffic, using the SNI TLS extension, to a Heroku app.
@return [SniEndpoint]
# File lib/platform-api/client.rb, line 601 def sni_endpoint @sni_endpoint_resource ||= SniEndpoint.new(@client) end
A source is a location for uploading and downloading an application's source code.
@return [Source]
# File lib/platform-api/client.rb, line 608 def source @source_resource ||= Source.new(@client) end
A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.
@return [Space]
# File lib/platform-api/client.rb, line 643 def space @space_resource ||= Space.new(@client) end
Space
access represents the permissions a particular user has on a particular space.
@return [SpaceAppAccess]
# File lib/platform-api/client.rb, line 615 def space_app_access @space_app_access_resource ||= SpaceAppAccess.new(@client) end
Network address translation (NAT) for stable outbound IP addresses from a space
@return [SpaceNat]
# File lib/platform-api/client.rb, line 622 def space_nat @space_nat_resource ||= SpaceNat.new(@client) end
Space
Topology provides you with a mechanism for viewing all the running dynos, formations and applications for a space. This is the same data thats used to power our DNS Service Discovery.
@return [SpaceTopology]
# File lib/platform-api/client.rb, line 629 def space_topology @space_topology_resource ||= SpaceTopology.new(@client) end
Transfer spaces between enterprise teams with the same Enterprise Account
.
@return [SpaceTransfer]
# File lib/platform-api/client.rb, line 636 def space_transfer @space_transfer_resource ||= SpaceTransfer.new(@client) end
[SSL Endpoint](devcenter.heroku.com/articles/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` add-on installed before it can provision an SSL Endpoint using these APIs.
@return [SSLEndpoint]
# File lib/platform-api/client.rb, line 650 def ssl_endpoint @ssl_endpoint_resource ||= SSLEndpoint.new(@client) end
Stacks are the different application execution environments available in the Heroku platform.
@return [Stack]
# File lib/platform-api/client.rb, line 657 def stack @stack_resource ||= Stack.new(@client) end
Teams allow you to manage access to a shared group of applications and other resources.
@return [Team]
# File lib/platform-api/client.rb, line 748 def team @team_resource ||= Team.new(@client) end
@return [TeamAddon]
# File lib/platform-api/client.rb, line 664 def team_addon @team_addon_resource ||= TeamAddon.new(@client) end
A team app encapsulates the team specific functionality of Heroku apps.
@return [TeamApp]
# File lib/platform-api/client.rb, line 685 def team_app @team_app_resource ||= TeamApp.new(@client) end
A team collaborator represents an account that has been given access to a team app on Heroku.
@return [TeamAppCollaborator]
# File lib/platform-api/client.rb, line 671 def team_app_collaborator @team_app_collaborator_resource ||= TeamAppCollaborator.new(@client) end
A team app permission is a behavior that is assigned to a user in a team app.
@return [TeamAppPermission]
# File lib/platform-api/client.rb, line 678 def team_app_permission @team_app_permission_resource ||= TeamAppPermission.new(@client) end
A team feature represents a feature enabled on a team account.
@return [TeamFeature]
# File lib/platform-api/client.rb, line 692 def team_feature @team_feature_resource ||= TeamFeature.new(@client) end
A team invitation represents an invite to a team.
@return [TeamInvitation]
# File lib/platform-api/client.rb, line 699 def team_invitation @team_invitation_resource ||= TeamInvitation.new(@client) end
A team member is an individual with access to a team.
@return [TeamMember]
# File lib/platform-api/client.rb, line 713 def team_member @team_member_resource ||= TeamMember.new(@client) end
Tracks a Team's Preferences
@return [TeamPreferences]
# File lib/platform-api/client.rb, line 720 def team_preferences @team_preferences_resource ||= TeamPreferences.new(@client) end
A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.
@return [TeamSpace]
# File lib/platform-api/client.rb, line 727 def team_space @team_space_resource ||= TeamSpace.new(@client) end
Usage for an enterprise team at a daily resolution.
@return [TeamUsageDaily]
# File lib/platform-api/client.rb, line 734 def team_usage_daily @team_usage_daily_resource ||= TeamUsageDaily.new(@client) end
Usage for an enterprise team at a monthly resolution.
@return [TeamUsageMonthly]
# File lib/platform-api/client.rb, line 741 def team_usage_monthly @team_usage_monthly_resource ||= TeamUsageMonthly.new(@client) end
A single test case belonging to a test run
@return [TestCase]
# File lib/platform-api/client.rb, line 755 def test_case @test_case_resource ||= TestCase.new(@client) end
A single test node belonging to a test run
@return [TestNode]
# File lib/platform-api/client.rb, line 762 def test_node @test_node_resource ||= TestNode.new(@client) end
An execution or trial of one or more tests
@return [TestRun]
# File lib/platform-api/client.rb, line 769 def test_run @test_run_resource ||= TestRun.new(@client) end
Tracks a user's preferences and message dismissals
@return [UserPreferences]
# File lib/platform-api/client.rb, line 776 def user_preferences @user_preferences_resource ||= UserPreferences.new(@client) end
[VPN](devcenter.heroku.com/articles/private-space-vpn-connection) provides a way to connect your Private Spaces to your network via VPN.
@return [VpnConnection]
# File lib/platform-api/client.rb, line 783 def vpn_connection @vpn_connection_resource ||= VpnConnection.new(@client) end
Entities that have been whitelisted to be used by a Team
. Deprecated in favor of [Allowed Add-on Service](allowed-add-on-service) endpoints.
@return [WhitelistedAddonService]
# File lib/platform-api/client.rb, line 790 def whitelisted_addon_service @whitelisted_addon_service_resource ||= WhitelistedAddonService.new(@client) end