UNPKG

@heroku-cli/schema

Version:

<!-- toc --> # Usage <!-- usage --> # Commands <!-- commands -->

2,501 lines (2,498 loc) 103 kB
/* This file was automatically generated by json-schema-to-typescript. */ /** * the entities that the subscription provides notifications for */ export type Include = string[] /** * provider actions for this specific add-on */ export type Actions = { [k: string]: unknown /** * identifier of the action to take that is sent via SSO */ action?: string /** * a unique identifier */ id?: string /** * the display text shown in Dashboard */ label?: string /** * if the action requires the user to own the app */ requires_owner?: boolean /** * absolute URL to use instead of an action */ url?: string } & { [k: string]: unknown }[] /** * config vars exposed to the owning app by this add-on */ export type AddonConfigVars = string[] /** * the compliance regimes applied to an add-on plan */ export type Compliance = ('HIPAA' | 'PCI')[] | null /** * errors associated with invalid app.json manifest file */ export type ManifestErrors = string[] /** * result of postdeploy script */ export type Postdeploy = { [k: string]: unknown /** * The exit code of the postdeploy script */ exit_code?: number /** * output of the postdeploy script */ output?: string } & ({ [k: string]: unknown /** * The exit code of the postdeploy script */ exit_code?: number /** * output of the postdeploy script */ output?: string } | null) /** * buildpacks executed for this build, in order */ export type Buildpacks = | { [k: string]: unknown /** * Buildpack Registry name of the buildpack for the app */ name?: string /** * the URL of the buildpack for the app */ url?: string }[] | null /** * release resulting from the build */ export type BuildRelease = { [k: string]: unknown /** * unique identifier of release */ id?: string } & ({ [k: string]: unknown /** * unique identifier of release */ id?: string } | null) /** * price information for this dyno size */ export type Cost = { [k: string]: unknown } | null /** * enterprise account permissions */ export type ExpandedPermissions = { [k: string]: unknown description?: string /** * permission in the enterprise account */ name?: 'billing' | 'create' | 'manage' | 'view' }[] /** * Identity Provider information the member is federated with */ export type MemberIdentityProvider = { [k: string]: unknown /** * unique identifier of this identity provider */ id?: string /** * name of the identity provider */ name?: string owner?: Owner /** * whether the identity_provider information is redacted or not */ redacted?: boolean } & ({ [k: string]: unknown /** * unique identifier of this identity provider */ id?: string /** * name of the identity provider */ name?: string owner?: Owner /** * whether the identity_provider information is redacted or not */ redacted?: boolean } | null) /** * the current user's permissions for this enterprise account */ export type Permissions = string[] /** * Identity Provider associated with the Enterprise Account */ export type IdentityProvider1 = { [k: string]: unknown /** * unique identifier of this identity provider */ id?: string /** * user-friendly unique identifier for this identity provider */ name?: string owner?: Owner } & ({ [k: string]: unknown /** * unique identifier of this identity provider */ id?: string /** * user-friendly unique identifier for this identity provider */ name?: string owner?: Owner } | null) /** * add-on that created the drain */ export type Addon = { [k: string]: unknown /** * billing application associated with this add-on */ app?: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * unique identifier of add-on */ id?: string /** * globally unique name of the add-on */ name?: string } & ({ [k: string]: unknown /** * billing application associated with this add-on */ app?: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * unique identifier of add-on */ id?: string /** * globally unique name of the add-on */ name?: string } | null) /** * application that is attached to this drain */ export type App1 = { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } & ({ [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } | null) /** * The scope of access OAuth authorization allows */ export type Scope = string[] /** * Owner of a pipeline. */ export type Owner2 = { [k: string]: unknown /** * unique identifier of a pipeline owner */ id: string /** * type of pipeline owner */ type: string } & ({ [k: string]: unknown /** * unique identifier of a pipeline owner */ id: string /** * type of pipeline owner */ type: string } | null) /** * the deploy target for the review apps of a pipeline */ export type DeployTarget = { [k: string]: unknown /** * unique identifier of deploy target */ id: string /** * type of deploy target */ type: string } & ({ [k: string]: unknown /** * unique identifier of deploy target */ id: string /** * type of deploy target */ type: string } | null) /** * domains associated with this SSL certificate */ export type Domains = string[] export type CertDomains = unknown[] /** * potential IPs from which outbound network traffic will originate */ export type Sources = string[] export type EnterpriseAccount1 = { [k: string]: unknown /** * unique identifier of the enterprise account */ id?: string /** * unique name of the enterprise account */ name?: string } & ({ [k: string]: unknown /** * unique identifier of the enterprise account */ id?: string /** * unique name of the enterprise account */ name?: string } | null) /** * Identity Provider associated with the Team */ export type IdentityProvider2 = { [k: string]: unknown /** * unique identifier of this identity provider */ id?: string /** * user-friendly unique identifier for this identity provider */ name?: string owner?: Owner } & ({ [k: string]: unknown /** * unique identifier of this identity provider */ id?: string /** * user-friendly unique identifier for this identity provider */ name?: string owner?: Owner } | null) /** * Which pipeline uuids the user has dismissed the GitHub banner for */ export type DismissedPipelinesGithubBanners = null | string[] /** * Routable CIDRs of VPN */ export type RoutableCidrs = string[] /** * The platform API empowers developers to automate, extend and combine Heroku with other services. */ export interface HerokuPlatformAPI { [k: string]: unknown account?: Account 'account-delinquency'?: AccountDelinquency 'account-feature'?: AccountFeature 'add-on'?: AddOn 'add-on-action'?: AddOnAction 'add-on-attachment'?: AddOnAttachment 'add-on-config'?: AddOnConfig 'add-on-plan-action'?: AddOnPlanAction 'add-on-region-capability'?: AddOnRegionCapability 'add-on-service'?: AddOnService 'add-on-webhook'?: AddOnWebhook 'add-on-webhook-delivery'?: AddOnWebhookDelivery 'add-on-webhook-event'?: AddOnWebhookEvent 'allowed-add-on-service'?: AllowedAddOnService app?: App 'app-feature'?: AppFeature 'app-setup'?: AppSetup 'app-transfer'?: AppTransfer 'app-webhook'?: AppWebhook 'app-webhook-delivery'?: AppWebhookDelivery 'app-webhook-event'?: AppWebhookEvent archive?: AuditTrailArchive 'audit-trail-event'?: AuditTrailEvent build?: Build 'buildpack-installation'?: BuildpackInstallations collaborator?: Collaborator 'config-var'?: ConfigVars credit?: Credit domain?: Domain dyno?: Dyno 'dyno-size'?: DynoSize 'enterprise-account'?: EnterpriseAccount 'enterprise-account-daily-usage'?: EnterpriseAccountDailyUsage 'enterprise-account-member'?: EnterpriseAccountMember 'enterprise-account-monthly-usage'?: EnterpriseAccountMonthlyUsage 'filter-apps'?: Filters formation?: Formation 'identity-provider'?: IdentityProvider 'inbound-ruleset'?: InboundRuleset invoice?: Invoice 'invoice-address'?: InvoiceAddress key?: Key 'log-drain'?: LogDrain 'log-session'?: LogSession 'oauth-authorization'?: OAuthAuthorization 'oauth-client'?: OAuthClient 'oauth-grant'?: OAuthGrant 'oauth-token'?: OAuthToken 'password-reset'?: PasswordReset peering?: Peering 'peering-info'?: PeeringInfo 'permission-entity'?: PermissionEntity pipeline?: Pipeline 'pipeline-build'?: PipelineBuild 'pipeline-config-var'?: PipelineConfigVars 'pipeline-coupling'?: PipelineCoupling 'pipeline-deployment'?: PipelineDeployment 'pipeline-promotion'?: PipelinePromotion 'pipeline-promotion-target'?: PipelinePromotionTarget 'pipeline-release'?: PipelineRelease 'pipeline-stack'?: PipelineStack 'pipeline-transfer'?: PipelineTransfer plan?: Plan 'rate-limit'?: RateLimit region?: Region release?: Release 'review-app'?: ReviewApp 'review-app-config'?: ReviewAppConfiguration slug?: Slug 'sms-number'?: SMSNumber 'sni-endpoint'?: SNIEndpoint source?: Source space?: Space 'space-app-access'?: SpaceAccess 'space-nat'?: SpaceNetworkAddressTranslation 'space-topology'?: SpaceTopology 'space-transfer'?: SpaceTransfer stack?: Stack team?: Team 'team-add-on'?: TeamAddOn 'team-app'?: TeamApp 'team-app-collaborator'?: TeamAppCollaborator 'team-app-permission'?: TeamAppPermission 'team-daily-usage'?: TeamDailyUsage 'team-delinquency'?: TeamDelinquency 'team-feature'?: TeamFeature 'team-invitation'?: TeamInvitation 'team-invoice'?: TeamInvoice 'team-member'?: TeamMember 'team-monthly-usage'?: TeamMonthlyUsage 'team-preferences'?: TeamPreferences 'team-space'?: TeamSpace 'test-case'?: TestCase 'test-node'?: TestNode 'test-run'?: TestRun 'user-preferences'?: UserPreferences 'vpn-connection'?: PrivateSpacesVPN } /** * A Heroku account becomes delinquent due to non-payment. We [suspend and delete](https://help.heroku.com/EREVRILX/what-happens-if-i-have-unpaid-heroku-invoices) delinquent accounts if their invoices remain unpaid. */ export interface AccountDelinquency { [k: string]: unknown /** * scheduled time of when we will delete your account due to delinquency */ scheduled_deletion_time?: null | string /** * scheduled time of when we will suspend your account due to delinquency */ scheduled_suspension_time?: null | string } /** * An account feature represents a Heroku labs capability that can be enabled or disabled for an account on Heroku. */ export interface AccountFeature { [k: string]: unknown /** * when account feature was created */ created_at?: string /** * description of account feature */ description?: string /** * user readable feature name */ display_name?: string /** * documentation URL of account feature */ doc_url?: string /** * whether or not account feature has been enabled */ enabled?: boolean /** * e-mail to send feedback about the feature */ feedback_email?: string /** * unique identifier of account feature */ id?: string /** * unique name of account feature */ name?: string /** * state of account feature */ state?: string /** * when account feature was updated */ updated_at?: string } /** * An account represents an individual signed up to use the Heroku platform. */ export interface Account { [k: string]: unknown /** * whether to allow third party web activity tracking */ allow_tracking?: boolean /** * whether allowed to utilize beta Heroku features */ beta?: boolean /** * country where account owner resides */ country_of_residence?: null | string /** * when account was created */ created_at?: string /** * team selected by default */ default_organization?: { [k: string]: unknown /** * unique identifier of team */ id?: string /** * unique name of team */ name?: string } | null /** * team selected by default */ default_team?: { [k: string]: unknown /** * unique identifier of team */ id?: string /** * unique name of team */ name?: string } | null /** * when account became delinquent */ delinquent_at?: null | string /** * unique email address of account */ email?: string /** * whether the user is federated and belongs to an Identity Provider */ federated?: boolean /** * unique identifier of an account */ id?: string /** * Identity Provider details for federated users. */ identity_provider?: { [k: string]: unknown /** * unique identifier of this identity provider */ id?: string /** * user-friendly unique identifier for this identity provider */ name?: string organization?: { [k: string]: unknown /** * unique name of team */ name?: string } owner?: Owner team?: { [k: string]: unknown /** * unique name of team */ name?: string } } | null /** * when account last authorized with Heroku */ last_login?: null | string /** * full name of the account owner */ name?: null | string /** * SMS number of account */ sms_number?: null | string /** * when account was suspended */ suspended_at?: null | string /** * whether two-factor auth is enabled on the account */ two_factor_authentication?: boolean /** * when account was updated */ updated_at?: string /** * whether account has been verified with billing information */ verified?: boolean } /** * entity that owns this identity provider */ export interface Owner { [k: string]: unknown /** * unique identifier of the owner */ id: string /** * name of the owner */ name?: string /** * type of the owner */ type: 'enterprise-account' | 'team' } /** * 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. */ export interface AddOnAction { [k: string]: unknown } /** * An add-on attachment represents a connection between an app and an add-on that it has been given access to. */ export interface AddOnAttachment { [k: string]: unknown /** * identity of add-on */ addon?: { /** * billing application associated with this add-on */ app: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * unique identifier of add-on */ id: string /** * globally unique name of the add-on */ name: string } /** * application that is attached to add-on */ app?: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * when add-on attachment was created */ created_at?: string /** * unique identifier of this add-on attachment */ id?: string /** * URL for add-on partners to write to an add-on's logs */ log_input_url?: null | string /** * unique name for this add-on attachment to this app */ name?: string /** * attachment namespace */ namespace?: null | string /** * when add-on attachment was updated */ updated_at?: string /** * URL for logging into web interface of add-on in attached app context */ web_url?: null | string } /** * Configuration of an Add-on */ export interface AddOnConfig { [k: string]: unknown /** * unique name of the config */ name?: string /** * value of the config */ value?: null | string } /** * Add-on Plan Actions are Provider functionality for specific add-on installations */ export interface AddOnPlanAction { [k: string]: unknown /** * identifier of the action to take that is sent via SSO */ action?: string /** * a unique identifier */ id?: string /** * the display text shown in Dashboard */ label?: string /** * if the action requires the user to own the app */ requires_owner?: boolean /** * absolute URL to use instead of an action */ url?: string } /** * 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. */ export interface AddOnRegionCapability { [k: string]: unknown addon_service?: AddOnService /** * unique identifier of this add-on-region-capability */ id?: string region?: Region /** * whether the add-on can be installed to a Space */ supports_private_networking?: boolean } /** * Add-on services represent add-ons that may be provisioned for apps. Endpoints under add-on services can be accessed without authentication. */ export interface AddOnService { [k: string]: unknown /** * npm package name of the add-on service's Heroku CLI plugin */ cli_plugin_name?: null | string /** * when add-on-service was created */ created_at?: string /** * human-readable name of the add-on service provider */ human_name?: string /** * unique identifier of this add-on-service */ id?: string /** * unique name of this add-on-service */ name?: string /** * release status for add-on service */ state?: 'alpha' | 'beta' | 'ga' | 'shutdown' /** * whether or not apps can have access to more than one instance of this add-on at the same time */ supports_multiple_installations?: boolean /** * whether or not apps can have access to add-ons billed to a different app */ supports_sharing?: boolean /** * when add-on-service was updated */ updated_at?: string } /** * A region represents a geographic location in which your application may run. */ export interface Region { [k: string]: unknown /** * country where the region exists */ country?: string /** * when region was created */ created_at?: string /** * description of region */ description?: string /** * unique identifier of region */ id?: string /** * area in the country where the region exists */ locale?: string /** * unique name of region */ name?: string /** * whether or not region is available for creating a Private Space */ private_capable?: boolean provider?: Provider /** * when region was updated */ updated_at?: string } /** * provider of underlying substrate */ export interface Provider { [k: string]: unknown /** * name of provider */ name?: string /** * region name used by provider */ region?: | 'ap-northeast-1' | 'ap-northeast-2' | 'ap-south-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ca-central-1' | 'eu-central-1' | 'eu-west-1' | 'eu-west-2' | 'sa-east-1' | 'us-east-1' | 'us-west-1' | 'us-west-2' } /** * Represents the delivery of a webhook notification, including its current status. */ export interface AddOnWebhookDelivery { [k: string]: unknown } /** * Represents a webhook event that occurred. */ export interface AddOnWebhookEvent { [k: string]: unknown } /** * Represents the details of a webhook subscription */ export interface AddOnWebhook { /** * when the webhook was created */ created_at: string /** * the webhook's unique identifier */ id: string include: Include /** * if `notify`, Heroku makes a single, fire-and-forget delivery attempt. If `sync`, Heroku attempts multiple deliveries until the request is successful or a limit is reached */ level: 'notify' | 'sync' /** * when the webhook was updated */ updated_at: string /** * the URL where the webhook's notification requests are sent */ url: string } /** * Add-ons represent add-ons that have been provisioned and attached to one or more apps. */ export interface AddOn { actions: Actions /** * identity of add-on service */ addon_service: | { [k: string]: unknown /** * unique identifier of this add-on-service */ id?: string /** * unique name of this add-on-service */ name?: string } | AddOnService /** * billing application associated with this add-on */ app: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * billed price */ billed_price: { [k: string]: unknown /** * price in cents per unit of plan */ cents?: number /** * price is negotiated in a contract outside of monthly add-on billing */ contract?: boolean /** * unit of price for plan */ unit?: string } | null /** * billing entity associated with this add-on */ billing_entity: { [k: string]: unknown /** * unique identifier of the billing entity */ id?: string /** * name of the billing entity */ name?: string /** * type of Object of the billing entity; new types allowed at any time. */ type?: 'app' | 'team' } config_vars: AddonConfigVars /** * when add-on was created */ created_at: string /** * unique identifier of add-on */ id: string /** * globally unique name of the add-on */ name: string /** * identity of add-on plan */ plan: | { [k: string]: unknown /** * unique identifier of this plan */ id?: string /** * unique name of this plan */ name?: string } | Plan /** * id of this add-on with its provider */ provider_id: string /** * A provision message */ provision_message?: string /** * state in the add-on's lifecycle */ state: 'deprovisioned' | 'provisioned' | 'provisioning' /** * when add-on was updated */ updated_at: string /** * URL for logging into web interface of add-on (e.g. a dashboard) */ web_url: null | string } /** * Plans represent different configurations of add-ons that may be added to apps. Endpoints under add-on services can be accessed without authentication. */ export interface Plan { [k: string]: unknown /** * identity of add-on service */ addon_service?: { [k: string]: unknown /** * unique identifier of this add-on-service */ id?: string /** * unique name of this add-on-service */ name?: string } compliance?: Compliance /** * when plan was created */ created_at?: string /** * whether this plan is the default for its add-on service */ default?: boolean /** * description of plan */ description?: string /** * human readable name of the add-on plan */ human_name?: string /** * unique identifier of this plan */ id?: string /** * whether this plan is installable to a Private Spaces app */ installable_inside_private_network?: boolean /** * whether this plan is installable to a Common Runtime app */ installable_outside_private_network?: boolean /** * unique name of this plan */ name?: string /** * price */ price?: { [k: string]: unknown /** * price in cents per unit of plan */ cents?: number /** * price is negotiated in a contract outside of monthly add-on billing */ contract?: boolean /** * unit of price for plan */ unit?: string } /** * whether this plan is the default for apps in Private Spaces */ space_default?: boolean /** * release status for plan */ state?: string /** * when plan was updated */ updated_at?: string /** * whether this plan is publicly visible */ visible?: boolean } /** * Entities that have been allowed to be used by a Team */ export interface AllowedAddOnService { [k: string]: unknown /** * when the add-on service was allowed */ added_at?: string added_by?: AddedBy addon_service?: AddonService /** * unique identifier for this allowed add-on service record */ id?: string } /** * the user which allowed the add-on service */ export interface AddedBy { [k: string]: unknown /** * unique email address of account */ email?: string /** * unique identifier of an account */ id?: string } /** * the add-on service allowed for use */ export interface AddonService { [k: string]: unknown /** * human-readable name of the add-on service provider */ human_name?: string /** * unique identifier of this add-on-service */ id?: string /** * unique name of this add-on-service */ name?: string } /** * An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku. */ export interface AppFeature { [k: string]: unknown /** * when app feature was created */ created_at?: string /** * description of app feature */ description?: string /** * user readable feature name */ display_name?: string /** * documentation URL of app feature */ doc_url?: string /** * whether or not app feature has been enabled */ enabled?: boolean /** * e-mail to send feedback about the feature */ feedback_email?: string /** * unique identifier of app feature */ id?: string /** * unique name of app feature */ name?: string /** * state of app feature */ state?: string /** * when app feature was updated */ updated_at?: string } /** * An app setup represents an app on Heroku that is setup using an environment, addons, and scripts described in an app.json manifest file. */ export interface AppSetup { [k: string]: unknown /** * identity of app */ app?: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * identity and status of build */ build?: { [k: string]: unknown /** * unique identifier of build */ id?: string /** * Build process output will be available from this URL as a stream. The stream is available as either `text/plain` or `text/event-stream`. Clients should be prepared to handle disconnects and can resume the stream by sending a `Range` header (for `text/plain`) or a `Last-Event-Id` header (for `text/event-stream`). */ output_stream_url?: string /** * status of build */ status?: 'failed' | 'pending' | 'succeeded' } | null /** * when app setup was created */ created_at?: string /** * reason that app setup has failed */ failure_message?: null | string /** * unique identifier of app setup */ id?: string manifest_errors?: ManifestErrors postdeploy?: Postdeploy /** * fully qualified success url */ resolved_success_url?: null | string /** * the overall status of app setup */ status?: 'failed' | 'pending' | 'succeeded' /** * when app setup was updated */ updated_at?: string } /** * An app transfer represents a two party interaction for transferring ownership of an app. */ export interface AppTransfer { [k: string]: unknown /** * app involved in the transfer */ app?: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * when app transfer was created */ created_at?: string /** * unique identifier of app transfer */ id?: string /** * identity of the owner of the transfer */ owner?: { [k: string]: unknown /** * unique email address of account */ email?: string /** * unique identifier of an account */ id?: string } /** * identity of the recipient of the transfer */ recipient?: { [k: string]: unknown /** * unique email address of account */ email?: string /** * unique identifier of an account */ id?: string } /** * the current state of an app transfer */ state?: 'accepted' | 'declined' | 'pending' /** * when app transfer was updated */ updated_at?: string } /** * Represents the delivery of a webhook notification, including its current status. */ export interface AppWebhookDelivery { [k: string]: unknown /** * when the delivery was created */ created_at?: string /** * identity of event */ event?: { [k: string]: unknown /** * the event's unique identifier */ id?: string /** * the type of entity that the event is related to */ include?: string } /** * the delivery's unique identifier */ id?: string /** * last attempt of a delivery */ last_attempt?: { [k: string]: unknown /** * http response code received during attempt */ code?: null | number /** * when attempt was created */ created_at?: string /** * error class encountered during attempt */ error_class?: null | string /** * unique identifier of attempt */ id?: string /** * status of an attempt */ status?: 'failed' | 'scheduled' | 'succeeded' /** * when attempt was updated */ updated_at?: string } | null /** * when delivery will be attempted again */ next_attempt_at?: null | string /** * number of times a delivery has been attempted */ num_attempts?: number /** * the delivery's status */ status?: 'failed' | 'pending' | 'retrying' | 'scheduled' | 'succeeded' /** * when the delivery was last updated */ updated_at?: string /** * identity of webhook */ webhook?: { [k: string]: unknown /** * the webhook's unique identifier */ id?: string /** * if `notify`, Heroku makes a single, fire-and-forget delivery attempt. If `sync`, Heroku attempts multiple deliveries until the request is successful or a limit is reached */ level?: 'notify' | 'sync' } } /** * Represents a webhook event that occurred. */ export interface AppWebhookEvent { [k: string]: unknown /** * when event was created */ created_at?: string /** * the event's unique identifier */ id?: string /** * the type of entity that the event is related to */ include?: string payload?: Payload /** * when the event was last updated */ updated_at?: string } /** * payload of event */ export interface Payload { [k: string]: unknown /** * the type of event that occurred */ action?: string actor?: Actor data?: Data previous_data?: PreviousData /** * the type of resource associated with the event */ resource?: string /** * the version of the details provided for the event */ version?: string } /** * user that caused event */ export interface Actor { [k: string]: unknown /** * unique email address of account */ email?: string /** * unique identifier of an account */ id?: string } /** * the current details of the event */ export interface Data { [k: string]: unknown } /** * previous details of the event (if any) */ export interface PreviousData { [k: string]: unknown } /** * Represents the details of a webhook subscription */ export interface AppWebhook {} /** * An app represents the program that you would like to deploy and run on Heroku. */ export interface App { [k: string]: unknown /** * ACM status of this app */ acm?: boolean /** * when app was archived */ archived_at?: null | string /** * identity of the stack that will be used for new builds */ build_stack?: { [k: string]: unknown /** * unique identifier of stack */ id?: string /** * unique name of stack */ name?: string } /** * description from buildpack of app */ buildpack_provided_description?: null | string /** * when app was created */ created_at?: string /** * git repo URL of app */ git_url?: string /** * unique identifier of app */ id?: string /** * describes whether a Private Spaces app is externally routable or not */ internal_routing?: boolean | null /** * maintenance status of app */ maintenance?: boolean /** * unique name of app */ name?: string /** * identity of team */ organization?: { [k: string]: unknown /** * unique identifier of team */ id?: string /** * unique name of team */ name?: string } | null /** * identity of app owner */ owner?: { [k: string]: unknown /** * unique email address of account */ email?: string /** * unique identifier of an account */ id?: string } /** * identity of app region */ region?: { [k: string]: unknown /** * unique identifier of region */ id?: string /** * unique name of region */ name?: string } /** * when app was released */ released_at?: null | string /** * git repo size in bytes of app */ repo_size?: null | number /** * slug size in bytes of app */ slug_size?: null | number /** * identity of space */ space?: { [k: string]: unknown /** * unique identifier of space */ id?: string /** * unique name of space */ name?: string /** * true if this space has shield enabled */ shield?: boolean } | null /** * identity of app stack */ stack?: { [k: string]: unknown /** * unique identifier of stack */ id?: string /** * unique name of stack */ name?: string } /** * identity of team */ team?: { [k: string]: unknown /** * unique identifier of team */ id?: string /** * unique name of team */ name?: string } | null /** * when app was updated */ updated_at?: string /** * web URL of app */ web_url?: null | string } /** * An audit trail archive represents a monthly json zipped file containing events */ export interface AuditTrailArchive { [k: string]: unknown /** * checksum for the archive */ checksum?: string /** * when archive was created */ created_at?: string /** * month of the archive */ month?: '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12' /** * size of the archive in bytes */ size?: number /** * url where to download the archive */ url?: string /** * year of the archive */ year?: number } /** * An audit trail event represents some action on the platform */ export interface AuditTrailEvent { [k: string]: unknown /** * action for the event */ action?: string actor?: Actor1 app?: AuditTrailApp /** * when event was created */ created_at?: string data?: Data1 enterprise_account?: AuditTrailEnterpriseAccount /** * unique identifier of event */ id?: string owner?: Owner1 request?: Request team?: AuditTrailTeam /** * type of event */ type?: string } /** * user who caused event */ export interface Actor1 { [k: string]: unknown email?: string id?: string } /** * app upon which event took place */ export interface AuditTrailApp { [k: string]: unknown id?: string name?: string } /** * owner of the app targeted by the event */ export interface Owner1 { [k: string]: unknown email?: string id?: string } /** * enterprise account on which the event happened */ export interface AuditTrailEnterpriseAccount { [k: string]: unknown id?: string name?: string } /** * team on which the event happened */ export interface AuditTrailTeam { [k: string]: unknown id?: string name?: string } /** * information about where the action was triggered */ export interface Request { [k: string]: unknown ip_address?: string } /** * data specific to the event */ export interface Data1 { [k: string]: unknown } /** * A build represents the process of transforming a code tarball into a slug */ export interface Build { [k: string]: unknown /** * app that the build belongs to */ app?: { [k: string]: unknown /** * unique identifier of app */ id?: string } buildpacks?: Buildpacks /** * when build was created */ created_at: string /** * unique identifier of build */ id: string /** * Build process output will be available from this URL as a stream. The stream is available as either `text/plain` or `text/event-stream`. Clients should be prepared to handle disconnects and can resume the stream by sending a `Range` header (for `text/plain`) or a `Last-Event-Id` header (for `text/event-stream`). */ output_stream_url?: string release?: BuildRelease /** * slug created by this build */ slug?: { [k: string]: unknown /** * unique identifier of slug */ id?: string } | null source_blob: SourceBlob /** * stack of build */ stack?: string /** * status of build */ status: 'failed' | 'pending' | 'succeeded' /** * when build was updated */ updated_at: string /** * user that started the build */ user: { [k: string]: unknown /** * unique email address of account */ email?: string /** * unique identifier of an account */ id?: string } } /** * location of gzipped tarball of source code used to create build */ export interface SourceBlob { [k: string]: unknown /** * an optional checksum of the gzipped tarball for verifying its integrity */ checksum?: null | string /** * URL where gzipped tar archive of source code for build was downloaded. */ url?: string /** * Version of the gzipped tarball. */ version?: null | string /** * Version description of the gzipped tarball. */ version_description?: null | string } /** * A buildpack installation represents a buildpack that will be run against an app. */ export interface BuildpackInstallations { [k: string]: unknown /** * buildpack */ buildpack?: { [k: string]: unknown /** * either the Buildpack Registry name or a URL of the buildpack for the app */ name?: string /** * location of the buildpack for the app. Either a url (unofficial buildpacks) or an internal urn (heroku official buildpacks). */ url?: string } /** * determines the order in which the buildpacks will execute */ ordinal?: number } /** * A collaborator represents an account that has been given access to an app on Heroku. */ export interface Collaborator { /** * app collaborator belongs to */ app: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * when collaborator was created */ created_at: string /** * unique identifier of collaborator */ id: string permissions?: TeamAppPermission[] /** * role in the team */ role?: 'admin' | 'collaborator' | 'member' | 'owner' | null /** * when collaborator was updated */ updated_at: string /** * identity of collaborated account */ user: { [k: string]: unknown /** * unique email address of account */ email?: string /** * whether the user is federated and belongs to an Identity Provider */ federated?: boolean /** * unique identifier of an account */ id?: string } } /** * A team app permission is a behavior that is assigned to a user in a team app. */ export interface TeamAppPermission { [k: string]: unknown /** * A description of what the app permission allows. */ description?: string /** * The name of the app permission. */ name?: string } /** * Config Vars allow you to manage the configuration information provided to an app on Heroku. */ export interface ConfigVars { /** * This interface was referenced by `ConfigVars`'s JSON-Schema definition * via the `patternProperty` "^\w+$". */ [k: string]: string } /** * A credit represents value that will be used up before further charges are assigned to an account. */ export interface Credit { [k: string]: unknown /** * total value of credit in cents */ amount?: number /** * remaining value of credit in cents */ balance?: number /** * when credit was created */ created_at?: string /** * when credit will expire */ expires_at?: string /** * unique identifier of credit */ id?: string /** * a name for credit */ title?: string /** * when credit was updated */ updated_at?: string } /** * Domains define what web routes should be routed to an app on Heroku. */ export interface Domain { [k: string]: unknown /** * status of this record's ACM */ acm_status?: null | string /** * reason for the status of this record's ACM */ acm_status_reason?: null | string /** * app that owns the domain */ app?: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * canonical name record, the address to point a domain at */ cname?: null | string /** * when domain was created */ created_at?: string /** * full hostname */ hostname?: string /** * unique identifier of this domain */ id?: string /** * type of domain name */ kind?: 'custom' | 'heroku' /** * sni endpoint the domain is associated with */ sni_endpoint?: { [k: string]: unknown /** * unique identifier of this SNI endpoint */ id?: string /** * unique name for SNI endpoint */ name?: string } | null /** * status of this record's cname */ status?: string /** * when domain was updated */ updated_at?: string } /** * Dyno sizes are the values and details of sizes that can be assigned to dynos. This information can also be found at : [https://devcenter.heroku.com/articles/dyno-types](https://devcenter.heroku.com/articles/dyno-types). */ export interface DynoSize { [k: string]: unknown /** * minimum vCPUs, non-dedicated may get more depending on load */ compute?: number cost?: Cost /** * whether this dyno will be dedicated to one user */ dedicated?: boolean /** * @deprecated * deprecated. See precise_dyno_units instead */ dyno_units?: number /** * unique identifier of this dyno size */ id?: string /** * amount of RAM in GB */ memory?: number /** * the name of this dyno-size */ name?: string /** * unit of consumption for Heroku Enterprise customers to 2 decimal places */ precise_dyno_units?: number /** * whether this dyno can only be provisioned in a private space */ private_space_only?: boolean } /** * 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](https://devcenter.heroku.com/articles/dyno-types). */ export interface Dyno { [k: string]: unknown /** * app formation belongs to */ app?: { [k: string]: unknown /** * unique identifier of app */ id?: string /** * unique name of app */ name?: string } /** * a URL to stream output from for attached processes or null for non-attached processes */ attach_url?: null | string /** * command used to start this process */ command?: string /** * when dyno was created */ created_at?: string /** * unique identifier of this dyno */ id?: string /** * the name of this process on this dyno */ name?: string /** * app release of the dyno */ release?: { [k: string]: unknown /** * unique identifier of release */ id?: string /** * unique version assigned to the release */ version?: number } /** * dyno size */ size?: string /** * current status of process (either: crashed, down, idle, starting, or up) */ state?: string /** * type of process */ type?: string /** * when process last changed state */ updated_at?: string } /** * Usage for an enterprise account at a daily resolution. */ export interface EnterpriseAccountDailyUsage { [k: string]: unknown /** * total add-on credits used */ addons?: number /** * total add-on credits used for first party add-ons */ data?: number /** * date of the usage */ date?: string /** * dynos used */ dynos?: number /** * enterprise account identifier */ id?: string /** * name of the enterprise account */ name?: string /** * total add-on credits used for third party add-ons */ partner?: number /** * space credits used */ space?: number /** * usage by team */ teams?: { [k: string]: unknown /** * total add-on credits used */ addons?: number /** * app usage in the team */ apps?: AppUsageDaily[] /** * total add-on credits used for first party add-ons */ data?: number /** * dynos used */ dynos?: number /** * team identifier */ id?: string /** * name of the team */ name?: string /** * total add-on credits used for third party add-ons */ partner?: number /** * space credits used */ space?: number }[] } /** * Usage for an app at a daily resolution. */ export interface AppUsageDaily { [k: string]: unknown /** * total add-on credits used */ addons?: number /** * unique name of app */ app_name?: string /** * total add-on credits used for first party add-ons */ data?: number /** * dynos used */ dynos?: number /** * total add-on credits used for third party add-ons */ partner?: number } /** * Enterprise account members are users with access to an enterprise account. */ export interface EnterpriseAccountMember { [k: string]: unknown enterprise_account?: { [k: string]: unknown /** * unique identifier of the enterprise account */ id?: string /** * unique name of the enterprise account */ name?: string } /** * unique identifier of the member */ id?: string identity_provider?: MemberIdentityProvider permissions?: ExpandedPermissions /** * whether the Enterprise Account member has two factor authentication enabled */ two_factor_authentication?: boolean /** * user information for the membership */ user?: { [k: string]: unknown /** * unique email address of account */ email?: string /** * unique identifier of an account */ id?: string } } /** * Usage for an enterprise account at a monthly resolution. */ export interface EnterpriseAccountMonthlyUsage { [k: string]: unknown /** * total add-on credits used */ addons?: number /** * average connect rows synced */ connect?: number /** * total add-on credits used for first party add-ons */ data?: number /** * dynos used */ dynos?: number /** * enterprise account identifier */ id?: string /** * year and month of the usage */ month?: string /** * name of the enterprise account */ name?: string /** * total add-on credits used for third party add-ons */ partner?: number /** * space credits used */ space?: number /** * usage by team */ teams?: { [k: string]: unknown /** * total add-on credits used */ addons?: number /** * app usage in the team */ apps?: AppUsageMonthly[] /** * average connect rows synced */ connect?: number /** * total add-on credits used for first party add-ons */ data?: number /** * dynos used */ dynos?: number /** * team identifier */ id?: string /** * name of the team */ name?: string /** * total add-on credits used for third party add-ons */ partner?: number /** * space credits used */ space?: number }[] } /** * Usage for an app at a monthly resolution. */ export interface AppUsageMonthly { [k: string]: unknown /** * total add-on credits used */ addons?: number /** * unique name of app */ app_name?: string /** * total add-on credits used for first party add-ons */ data?: number /** * dynos used */ dynos?: number /** * total add-on credits used for third party add-ons */ partner?: number } /** * Enterprise accounts allow companies to manage their development teams and billing. */ export interface EnterpriseAccount { [k: string]: unknown /** * when the enterprise account was created */ created_at?: string /** * unique identi