v5

package module
v5.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2022 License: MIT Imports: 18 Imported by: 32

Documentation

Overview

Generated service client for heroku API.

To be able to interact with this API, you have to create a new service:

s := heroku.NewService(nil)

The Service struct has all the methods you need to interact with heroku API.

Index

Constants

View Source
const (
	Version          = "v5"
	DefaultUserAgent = "heroku/" + Version + " (" + runtime.GOOS + "; " + runtime.GOARCH + ")"
	DefaultURL       = "https://api.heroku.com"
)

Variables

View Source
var DefaultClient = &http.Client{
	Transport: DefaultTransport,
}
View Source
var DefaultTransport = &Transport{}

Functions

func Bool

func Bool(v bool) *bool

Bool allocates a new int value returns a pointer to it.

func Float64

func Float64(v float64) *float64

Float64 allocates a new float64 value returns a pointer to it.

func Int

func Int(v int) *int

Int allocates a new int value returns a pointer to it.

func String

func String(v string) *string

String allocates a new string value returns a pointer to it.

Types

type Account

type Account struct {
	AllowTracking       bool      `json:"allow_tracking" url:"allow_tracking,key"`             // whether to allow third party web activity tracking
	Beta                bool      `json:"beta" url:"beta,key"`                                 // whether allowed to utilize beta Heroku features
	CountryOfResidence  *string   `json:"country_of_residence" url:"country_of_residence,key"` // country where account owner resides
	CreatedAt           time.Time `json:"created_at" url:"created_at,key"`                     // when account was created
	DefaultOrganization *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of team
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"default_organization" url:"default_organization,key"` // team selected by default
	DefaultTeam *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of team
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"default_team" url:"default_team,key"` // team selected by default
	DelinquentAt     *time.Time `json:"delinquent_at" url:"delinquent_at,key"` // when account became delinquent
	Email            string     `json:"email" url:"email,key"`                 // unique email address of account
	Federated        bool       `json:"federated" url:"federated,key"`         // whether the user is federated and belongs to an Identity Provider
	ID               string     `json:"id" url:"id,key"`                       // unique identifier of an account
	IdentityProvider *struct {
		ID           string `json:"id" url:"id,key"`     // unique identifier of this identity provider
		Name         string `json:"name" url:"name,key"` // user-friendly unique identifier for this identity provider
		Organization struct {
			Name string `json:"name" url:"name,key"` // unique name of team
		} `json:"organization" url:"organization,key"`
		Owner struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of the owner
			Name string `json:"name" url:"name,key"` // name of the owner
			Type string `json:"type" url:"type,key"` // type of the owner
		} `json:"owner" url:"owner,key"` // entity that owns this identity provider
		Team struct {
			Name string `json:"name" url:"name,key"` // unique name of team
		} `json:"team" url:"team,key"`
	} `json:"identity_provider" url:"identity_provider,key"` // Identity Provider details for federated users.
	LastLogin               *time.Time `json:"last_login" url:"last_login,key"`                               // when account last authorized with Heroku
	Name                    *string    `json:"name" url:"name,key"`                                           // full name of the account owner
	SmsNumber               *string    `json:"sms_number" url:"sms_number,key"`                               // SMS number of account
	SuspendedAt             *time.Time `json:"suspended_at" url:"suspended_at,key"`                           // when account was suspended
	TwoFactorAuthentication bool       `json:"two_factor_authentication" url:"two_factor_authentication,key"` // whether two-factor auth is enabled on the account
	UpdatedAt               time.Time  `json:"updated_at" url:"updated_at,key"`                               // when account was updated
	Verified                bool       `json:"verified" url:"verified,key"`                                   // whether account has been verified with billing information
}

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

type AccountFeature

type AccountFeature struct {
	CreatedAt     time.Time `json:"created_at" url:"created_at,key"`         // when account feature was created
	Description   string    `json:"description" url:"description,key"`       // description of account feature
	DisplayName   string    `json:"display_name" url:"display_name,key"`     // user readable feature name
	DocURL        string    `json:"doc_url" url:"doc_url,key"`               // documentation URL of account feature
	Enabled       bool      `json:"enabled" url:"enabled,key"`               // whether or not account feature has been enabled
	FeedbackEmail string    `json:"feedback_email" url:"feedback_email,key"` // e-mail to send feedback about the feature
	ID            string    `json:"id" url:"id,key"`                         // unique identifier of account feature
	Name          string    `json:"name" url:"name,key"`                     // unique name of account feature
	State         string    `json:"state" url:"state,key"`                   // state of account feature
	UpdatedAt     time.Time `json:"updated_at" url:"updated_at,key"`         // when account feature was updated
}

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

type AccountFeatureListResult

type AccountFeatureListResult []AccountFeature

type AccountFeatureUpdateOpts

type AccountFeatureUpdateOpts struct {
	Enabled bool `json:"enabled" url:"enabled,key"` // whether or not account feature has been enabled
}

type AccountUpdateByUserOpts

type AccountUpdateByUserOpts struct {
	AllowTracking *bool   `json:"allow_tracking,omitempty" url:"allow_tracking,omitempty,key"` // whether to allow third party web activity tracking
	Beta          *bool   `json:"beta,omitempty" url:"beta,omitempty,key"`                     // whether allowed to utilize beta Heroku features
	Name          *string `json:"name,omitempty" url:"name,omitempty,key"`                     // full name of the account owner
}

type AccountUpdateOpts

type AccountUpdateOpts struct {
	AllowTracking *bool   `json:"allow_tracking,omitempty" url:"allow_tracking,omitempty,key"` // whether to allow third party web activity tracking
	Beta          *bool   `json:"beta,omitempty" url:"beta,omitempty,key"`                     // whether allowed to utilize beta Heroku features
	Name          *string `json:"name,omitempty" url:"name,omitempty,key"`                     // full name of the account owner
}

type AddOn

type AddOn struct {
	Actions      []struct{} `json:"actions" url:"actions,key"` // provider actions for this specific add-on
	AddonService struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this add-on-service
		Name string `json:"name" url:"name,key"` // unique name of this add-on-service
	} `json:"addon_service" url:"addon_service,key"` // identity of add-on service
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // billing application associated with this add-on
	BilledPrice *struct {
		Cents    int    `json:"cents" url:"cents,key"`       // price in cents per unit of plan
		Contract bool   `json:"contract" url:"contract,key"` // price is negotiated in a contract outside of monthly add-on billing
		Unit     string `json:"unit" url:"unit,key"`         // unit of price for plan
	} `json:"billed_price" url:"billed_price,key"` // billed price
	BillingEntity struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of the billing entity
		Name string `json:"name" url:"name,key"` // name of the billing entity
		Type string `json:"type" url:"type,key"` // type of Object of the billing entity; new types allowed at any time.
	} `json:"billing_entity" url:"billing_entity,key"` // billing entity associated with this add-on
	ConfigVars []string  `json:"config_vars" url:"config_vars,key"` // config vars exposed to the owning app by this add-on
	CreatedAt  time.Time `json:"created_at" url:"created_at,key"`   // when add-on was created
	ID         string    `json:"id" url:"id,key"`                   // unique identifier of add-on
	Name       string    `json:"name" url:"name,key"`               // globally unique name of the add-on
	Plan       struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this plan
		Name string `json:"name" url:"name,key"` // unique name of this plan
	} `json:"plan" url:"plan,key"` // identity of add-on plan
	ProviderID string    `json:"provider_id" url:"provider_id,key"` // id of this add-on with its provider
	State      string    `json:"state" url:"state,key"`             // state in the add-on's lifecycle
	UpdatedAt  time.Time `json:"updated_at" url:"updated_at,key"`   // when add-on was updated
	WebURL     *string   `json:"web_url" url:"web_url,key"`         // URL for logging into web interface of add-on (e.g. a dashboard)
}

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

type AddOnAction

type AddOnAction struct{}

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.

type AddOnActionDeprovisionResult

type AddOnActionDeprovisionResult struct {
	Actions      []struct{} `json:"actions" url:"actions,key"` // provider actions for this specific add-on
	AddonService struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this add-on-service
		Name string `json:"name" url:"name,key"` // unique name of this add-on-service
	} `json:"addon_service" url:"addon_service,key"` // identity of add-on service
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // billing application associated with this add-on
	BilledPrice *struct {
		Cents    int    `json:"cents" url:"cents,key"`       // price in cents per unit of plan
		Contract bool   `json:"contract" url:"contract,key"` // price is negotiated in a contract outside of monthly add-on billing
		Unit     string `json:"unit" url:"unit,key"`         // unit of price for plan
	} `json:"billed_price" url:"billed_price,key"` // billed price
	BillingEntity struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of the billing entity
		Name string `json:"name" url:"name,key"` // name of the billing entity
		Type string `json:"type" url:"type,key"` // type of Object of the billing entity; new types allowed at any time.
	} `json:"billing_entity" url:"billing_entity,key"` // billing entity associated with this add-on
	ConfigVars []string  `json:"config_vars" url:"config_vars,key"` // config vars exposed to the owning app by this add-on
	CreatedAt  time.Time `json:"created_at" url:"created_at,key"`   // when add-on was created
	ID         string    `json:"id" url:"id,key"`                   // unique identifier of add-on
	Name       string    `json:"name" url:"name,key"`               // globally unique name of the add-on
	Plan       struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this plan
		Name string `json:"name" url:"name,key"` // unique name of this plan
	} `json:"plan" url:"plan,key"` // identity of add-on plan
	ProviderID string    `json:"provider_id" url:"provider_id,key"` // id of this add-on with its provider
	State      string    `json:"state" url:"state,key"`             // state in the add-on's lifecycle
	UpdatedAt  time.Time `json:"updated_at" url:"updated_at,key"`   // when add-on was updated
	WebURL     *string   `json:"web_url" url:"web_url,key"`         // URL for logging into web interface of add-on (e.g. a dashboard)
}

type AddOnActionProvisionResult

type AddOnActionProvisionResult struct {
	Actions      []struct{} `json:"actions" url:"actions,key"` // provider actions for this specific add-on
	AddonService struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this add-on-service
		Name string `json:"name" url:"name,key"` // unique name of this add-on-service
	} `json:"addon_service" url:"addon_service,key"` // identity of add-on service
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // billing application associated with this add-on
	BilledPrice *struct {
		Cents    int    `json:"cents" url:"cents,key"`       // price in cents per unit of plan
		Contract bool   `json:"contract" url:"contract,key"` // price is negotiated in a contract outside of monthly add-on billing
		Unit     string `json:"unit" url:"unit,key"`         // unit of price for plan
	} `json:"billed_price" url:"billed_price,key"` // billed price
	BillingEntity struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of the billing entity
		Name string `json:"name" url:"name,key"` // name of the billing entity
		Type string `json:"type" url:"type,key"` // type of Object of the billing entity; new types allowed at any time.
	} `json:"billing_entity" url:"billing_entity,key"` // billing entity associated with this add-on
	ConfigVars []string  `json:"config_vars" url:"config_vars,key"` // config vars exposed to the owning app by this add-on
	CreatedAt  time.Time `json:"created_at" url:"created_at,key"`   // when add-on was created
	ID         string    `json:"id" url:"id,key"`                   // unique identifier of add-on
	Name       string    `json:"name" url:"name,key"`               // globally unique name of the add-on
	Plan       struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this plan
		Name string `json:"name" url:"name,key"` // unique name of this plan
	} `json:"plan" url:"plan,key"` // identity of add-on plan
	ProviderID string    `json:"provider_id" url:"provider_id,key"` // id of this add-on with its provider
	State      string    `json:"state" url:"state,key"`             // state in the add-on's lifecycle
	UpdatedAt  time.Time `json:"updated_at" url:"updated_at,key"`   // when add-on was updated
	WebURL     *string   `json:"web_url" url:"web_url,key"`         // URL for logging into web interface of add-on (e.g. a dashboard)
}

type AddOnAttachment

type AddOnAttachment struct {
	Addon struct {
		App struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of app
			Name string `json:"name" url:"name,key"` // unique name of app
		} `json:"app" url:"app,key"` // billing application associated with this add-on
		ID   string `json:"id" url:"id,key"`     // unique identifier of add-on
		Name string `json:"name" url:"name,key"` // globally unique name of the add-on
	} `json:"addon" url:"addon,key"` // identity of add-on
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // application that is attached to add-on
	CreatedAt   time.Time `json:"created_at" url:"created_at,key"`       // when add-on attachment was created
	ID          string    `json:"id" url:"id,key"`                       // unique identifier of this add-on attachment
	LogInputURL *string   `json:"log_input_url" url:"log_input_url,key"` // URL for add-on partners to write to an add-on's logs
	Name        string    `json:"name" url:"name,key"`                   // unique name for this add-on attachment to this app
	Namespace   *string   `json:"namespace" url:"namespace,key"`         // attachment namespace
	UpdatedAt   time.Time `json:"updated_at" url:"updated_at,key"`       // when add-on attachment was updated
	WebURL      *string   `json:"web_url" url:"web_url,key"`             // URL for logging into web interface of add-on in attached app context
}

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

type AddOnAttachmentCreateOpts

type AddOnAttachmentCreateOpts struct {
	Addon     string  `json:"addon" url:"addon,key"`                             // unique identifier of add-on
	App       string  `json:"app" url:"app,key"`                                 // unique identifier of app
	Confirm   *string `json:"confirm,omitempty" url:"confirm,omitempty,key"`     // name of owning app for confirmation
	Name      *string `json:"name,omitempty" url:"name,omitempty,key"`           // unique name for this add-on attachment to this app
	Namespace *string `json:"namespace,omitempty" url:"namespace,omitempty,key"` // attachment namespace
}

type AddOnAttachmentListByAddOnResult

type AddOnAttachmentListByAddOnResult []AddOnAttachment

type AddOnAttachmentListByAppResult

type AddOnAttachmentListByAppResult []AddOnAttachment

type AddOnAttachmentListResult

type AddOnAttachmentListResult []AddOnAttachment

type AddOnAttachmentResolutionOpts

type AddOnAttachmentResolutionOpts struct {
	AddonAttachment string  `json:"addon_attachment" url:"addon_attachment,key"`               // unique name for this add-on attachment to this app
	AddonService    *string `json:"addon_service,omitempty" url:"addon_service,omitempty,key"` // unique name of this add-on-service
	App             *string `json:"app,omitempty" url:"app,omitempty,key"`                     // unique name of app
}

type AddOnAttachmentResolutionResult

type AddOnAttachmentResolutionResult []AddOnAttachment

type AddOnConfig

type AddOnConfig struct {
	Name  string  `json:"name" url:"name,key"`   // unique name of the config
	Value *string `json:"value" url:"value,key"` // value of the config
}

Configuration of an Add-on

type AddOnConfigListResult

type AddOnConfigListResult []AddOnConfig

type AddOnConfigUpdateOpts

type AddOnConfigUpdateOpts struct {
	Config []*struct {
		Name  *string `json:"name,omitempty" url:"name,omitempty,key"`   // unique name of the config
		Value *string `json:"value,omitempty" url:"value,omitempty,key"` // value of the config
	} `json:"config,omitempty" url:"config,omitempty,key"`
}

type AddOnConfigUpdateResult

type AddOnConfigUpdateResult []AddOnConfig

type AddOnCreateOpts

type AddOnCreateOpts struct {
	Attachment *struct {
		Name *string `json:"name,omitempty" url:"name,omitempty,key"` // unique name for this add-on attachment to this app
	} `json:"attachment,omitempty" url:"attachment,omitempty,key"` // name for add-on's initial attachment
	Config  map[string]string `json:"config,omitempty" url:"config,omitempty,key"`   // custom add-on provisioning options
	Confirm *string           `json:"confirm,omitempty" url:"confirm,omitempty,key"` // name of billing entity for confirmation
	Name    *string           `json:"name,omitempty" url:"name,omitempty,key"`       // globally unique name of the add-on
	Plan    string            `json:"plan" url:"plan,key"`                           // unique identifier of this plan
}

type AddOnListByAppResult

type AddOnListByAppResult []AddOn

type AddOnListByTeamResult

type AddOnListByTeamResult []AddOn

type AddOnListByUserResult

type AddOnListByUserResult []AddOn

type AddOnListResult

type AddOnListResult []AddOn

type AddOnPlanAction

type AddOnPlanAction struct {
	Action        string `json:"action" url:"action,key"`                 // identifier of the action to take that is sent via SSO
	ID            string `json:"id" url:"id,key"`                         // a unique identifier
	Label         string `json:"label" url:"label,key"`                   // the display text shown in Dashboard
	RequiresOwner bool   `json:"requires_owner" url:"requires_owner,key"` // if the action requires the user to own the app
	URL           string `json:"url" url:"url,key"`                       // absolute URL to use instead of an action
}

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

type AddOnRegionCapability

type AddOnRegionCapability struct {
	AddonService struct {
		CliPluginName                 *string   `json:"cli_plugin_name" url:"cli_plugin_name,key"`                                 // npm package name of the add-on service's Heroku CLI plugin
		CreatedAt                     time.Time `json:"created_at" url:"created_at,key"`                                           // when add-on-service was created
		HumanName                     string    `json:"human_name" url:"human_name,key"`                                           // human-readable name of the add-on service provider
		ID                            string    `json:"id" url:"id,key"`                                                           // unique identifier of this add-on-service
		Name                          string    `json:"name" url:"name,key"`                                                       // unique name of this add-on-service
		State                         string    `json:"state" url:"state,key"`                                                     // release status for add-on service
		SupportsMultipleInstallations bool      `json:"supports_multiple_installations" url:"supports_multiple_installations,key"` // whether or not apps can have access to more than one instance of this
		// add-on at the same time
		SupportsSharing bool `json:"supports_sharing" url:"supports_sharing,key"` // whether or not apps can have access to add-ons billed to a different
		// app
		UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when add-on-service was updated
	} `json:"addon_service" url:"addon_service,key"` // Add-on services represent add-ons that may be provisioned for apps.
	// Endpoints under add-on services can be accessed without
	// authentication.
	ID     string `json:"id" url:"id,key"` // unique identifier of this add-on-region-capability
	Region struct {
		Country        string    `json:"country" url:"country,key"`                 // country where the region exists
		CreatedAt      time.Time `json:"created_at" url:"created_at,key"`           // when region was created
		Description    string    `json:"description" url:"description,key"`         // description of region
		ID             string    `json:"id" url:"id,key"`                           // unique identifier of region
		Locale         string    `json:"locale" url:"locale,key"`                   // area in the country where the region exists
		Name           string    `json:"name" url:"name,key"`                       // unique name of region
		PrivateCapable bool      `json:"private_capable" url:"private_capable,key"` // whether or not region is available for creating a Private Space
		Provider       struct {
			Name   string `json:"name" url:"name,key"`     // name of provider
			Region string `json:"region" url:"region,key"` // region name used by provider
		} `json:"provider" url:"provider,key"` // provider of underlying substrate
		UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when region was updated
	} `json:"region" url:"region,key"` // A region represents a geographic location in which your application
	// may run.
	SupportsPrivateNetworking bool `json:"supports_private_networking" url:"supports_private_networking,key"` // whether the add-on can be installed to a Space
}

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.

type AddOnRegionCapabilityListByAddOnServiceResult

type AddOnRegionCapabilityListByAddOnServiceResult []AddOnRegionCapability

type AddOnRegionCapabilityListByRegionResult

type AddOnRegionCapabilityListByRegionResult []AddOnRegionCapability

type AddOnRegionCapabilityListResult

type AddOnRegionCapabilityListResult []AddOnRegionCapability

type AddOnResolutionOpts

type AddOnResolutionOpts struct {
	Addon        string  `json:"addon" url:"addon,key"`                                     // globally unique name of the add-on
	AddonService *string `json:"addon_service,omitempty" url:"addon_service,omitempty,key"` // unique name of this add-on-service
	App          *string `json:"app,omitempty" url:"app,omitempty,key"`                     // unique name of app
}

type AddOnResolutionResult

type AddOnResolutionResult []AddOn

type AddOnService

type AddOnService struct {
	CliPluginName                 *string   `json:"cli_plugin_name" url:"cli_plugin_name,key"`                                 // npm package name of the add-on service's Heroku CLI plugin
	CreatedAt                     time.Time `json:"created_at" url:"created_at,key"`                                           // when add-on-service was created
	HumanName                     string    `json:"human_name" url:"human_name,key"`                                           // human-readable name of the add-on service provider
	ID                            string    `json:"id" url:"id,key"`                                                           // unique identifier of this add-on-service
	Name                          string    `json:"name" url:"name,key"`                                                       // unique name of this add-on-service
	State                         string    `json:"state" url:"state,key"`                                                     // release status for add-on service
	SupportsMultipleInstallations bool      `json:"supports_multiple_installations" url:"supports_multiple_installations,key"` // whether or not apps can have access to more than one instance of this
	// add-on at the same time
	SupportsSharing bool `json:"supports_sharing" url:"supports_sharing,key"` // whether or not apps can have access to add-ons billed to a different
	// app
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when add-on-service was updated
}

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

type AddOnServiceListResult

type AddOnServiceListResult []AddOnService

type AddOnUpdateOpts

type AddOnUpdateOpts struct {
	Name *string `json:"name,omitempty" url:"name,omitempty,key"` // globally unique name of the add-on
	Plan string  `json:"plan" url:"plan,key"`                     // unique identifier of this plan
}

type AddOnWebhook

type AddOnWebhook struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

Represents the details of a webhook subscription

type AddOnWebhookCreateOpts

type AddOnWebhookCreateOpts struct {
	Authorization *string `json:"authorization,omitempty" url:"authorization,omitempty,key"` // a custom `Authorization` header that Heroku will include with all
	// webhook notifications
	Include []string `json:"include" url:"include,key"` // the entities that the subscription provides notifications for
	Level   string   `json:"level" url:"level,key"`     // 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
	Secret *string `json:"secret,omitempty" url:"secret,omitempty,key"` // a value that Heroku will use to sign all webhook notification
	// requests (the signature is included in the request’s
	// `Heroku-Webhook-Hmac-SHA256` header)
	URL string `json:"url" url:"url,key"` // the URL where the webhook's notification requests are sent
}

type AddOnWebhookCreateResult

type AddOnWebhookCreateResult struct {
	Addon struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of add-on
		Name string `json:"name" url:"name,key"` // globally unique name of the add-on
	} `json:"addon" url:"addon,key"` // identity of add-on. Only used for add-on partner webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AddOnWebhookDeleteResult

type AddOnWebhookDeleteResult struct {
	Addon struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of add-on
		Name string `json:"name" url:"name,key"` // globally unique name of the add-on
	} `json:"addon" url:"addon,key"` // identity of add-on. Only used for add-on partner webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AddOnWebhookDelivery

type AddOnWebhookDelivery struct{}

Represents the delivery of a webhook notification, including its current status.

type AddOnWebhookDeliveryInfoResult

type AddOnWebhookDeliveryInfoResult struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the delivery was created
	Event     struct {
		ID      string `json:"id" url:"id,key"`           // the event's unique identifier
		Include string `json:"include" url:"include,key"` // the type of entity that the event is related to
	} `json:"event" url:"event,key"` // identity of event
	ID          string `json:"id" url:"id,key"` // the delivery's unique identifier
	LastAttempt *struct {
		Code       *int      `json:"code" url:"code,key"`               // http response code received during attempt
		CreatedAt  time.Time `json:"created_at" url:"created_at,key"`   // when attempt was created
		ErrorClass *string   `json:"error_class" url:"error_class,key"` // error class encountered during attempt
		ID         string    `json:"id" url:"id,key"`                   // unique identifier of attempt
		Status     string    `json:"status" url:"status,key"`           // status of an attempt
		UpdatedAt  time.Time `json:"updated_at" url:"updated_at,key"`   // when attempt was updated
	} `json:"last_attempt" url:"last_attempt,key"` // last attempt of a delivery
	NextAttemptAt *time.Time `json:"next_attempt_at" url:"next_attempt_at,key"` // when delivery will be attempted again
	NumAttempts   int        `json:"num_attempts" url:"num_attempts,key"`       // number of times a delivery has been attempted
	Status        string     `json:"status" url:"status,key"`                   // the delivery's status
	UpdatedAt     time.Time  `json:"updated_at" url:"updated_at,key"`           // when the delivery was last updated
	Webhook       struct {
		ID    string `json:"id" url:"id,key"`       // the webhook's unique identifier
		Level string `json:"level" url:"level,key"` // if `notify`, Heroku makes a single, fire-and-forget delivery attempt.

	} `json:"webhook" url:"webhook,key"` // identity of webhook
}

type AddOnWebhookDeliveryListResult

type AddOnWebhookDeliveryListResult []struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the delivery was created
	Event     struct {
		ID      string `json:"id" url:"id,key"`           // the event's unique identifier
		Include string `json:"include" url:"include,key"` // the type of entity that the event is related to
	} `json:"event" url:"event,key"` // identity of event
	ID          string `json:"id" url:"id,key"` // the delivery's unique identifier
	LastAttempt *struct {
		Code       *int      `json:"code" url:"code,key"`               // http response code received during attempt
		CreatedAt  time.Time `json:"created_at" url:"created_at,key"`   // when attempt was created
		ErrorClass *string   `json:"error_class" url:"error_class,key"` // error class encountered during attempt
		ID         string    `json:"id" url:"id,key"`                   // unique identifier of attempt
		Status     string    `json:"status" url:"status,key"`           // status of an attempt
		UpdatedAt  time.Time `json:"updated_at" url:"updated_at,key"`   // when attempt was updated
	} `json:"last_attempt" url:"last_attempt,key"` // last attempt of a delivery
	NextAttemptAt *time.Time `json:"next_attempt_at" url:"next_attempt_at,key"` // when delivery will be attempted again
	NumAttempts   int        `json:"num_attempts" url:"num_attempts,key"`       // number of times a delivery has been attempted
	Status        string     `json:"status" url:"status,key"`                   // the delivery's status
	UpdatedAt     time.Time  `json:"updated_at" url:"updated_at,key"`           // when the delivery was last updated
	Webhook       struct {
		ID    string `json:"id" url:"id,key"`       // the webhook's unique identifier
		Level string `json:"level" url:"level,key"` // if `notify`, Heroku makes a single, fire-and-forget delivery attempt.

	} `json:"webhook" url:"webhook,key"` // identity of webhook
}

type AddOnWebhookEvent

type AddOnWebhookEvent struct{}

Represents a webhook event that occurred.

type AddOnWebhookEventInfoResult

type AddOnWebhookEventInfoResult struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when event was created
	ID        string    `json:"id" url:"id,key"`                 // the event's unique identifier
	Include   string    `json:"include" url:"include,key"`       // the type of entity that the event is related to
	Payload   struct {
		Action string `json:"action" url:"action,key"` // the type of event that occurred
		Actor  struct {
			Email string `json:"email" url:"email,key"` // unique email address of account
			ID    string `json:"id" url:"id,key"`       // unique identifier of an account
		} `json:"actor" url:"actor,key"` // user that caused event
		Data         struct{} `json:"data" url:"data,key"`                   // the current details of the event
		PreviousData struct{} `json:"previous_data" url:"previous_data,key"` // previous details of the event (if any)
		Resource     string   `json:"resource" url:"resource,key"`           // the type of resource associated with the event
		Version      string   `json:"version" url:"version,key"`             // the version of the details provided for the event
	} `json:"payload" url:"payload,key"` // payload of event
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the event was last updated
}

type AddOnWebhookEventListResult

type AddOnWebhookEventListResult []struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when event was created
	ID        string    `json:"id" url:"id,key"`                 // the event's unique identifier
	Include   string    `json:"include" url:"include,key"`       // the type of entity that the event is related to
	Payload   struct {
		Action string `json:"action" url:"action,key"` // the type of event that occurred
		Actor  struct {
			Email string `json:"email" url:"email,key"` // unique email address of account
			ID    string `json:"id" url:"id,key"`       // unique identifier of an account
		} `json:"actor" url:"actor,key"` // user that caused event
		Data         struct{} `json:"data" url:"data,key"`                   // the current details of the event
		PreviousData struct{} `json:"previous_data" url:"previous_data,key"` // previous details of the event (if any)
		Resource     string   `json:"resource" url:"resource,key"`           // the type of resource associated with the event
		Version      string   `json:"version" url:"version,key"`             // the version of the details provided for the event
	} `json:"payload" url:"payload,key"` // payload of event
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the event was last updated
}

type AddOnWebhookInfoResult

type AddOnWebhookInfoResult struct {
	Addon struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of add-on
		Name string `json:"name" url:"name,key"` // globally unique name of the add-on
	} `json:"addon" url:"addon,key"` // identity of add-on. Only used for add-on partner webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AddOnWebhookListResult

type AddOnWebhookListResult []struct {
	Addon struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of add-on
		Name string `json:"name" url:"name,key"` // globally unique name of the add-on
	} `json:"addon" url:"addon,key"` // identity of add-on. Only used for add-on partner webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AddOnWebhookUpdateOpts

type AddOnWebhookUpdateOpts struct {
	Authorization *string `json:"authorization,omitempty" url:"authorization,omitempty,key"` // a custom `Authorization` header that Heroku will include with all
	// webhook notifications
	Include []*string `json:"include,omitempty" url:"include,omitempty,key"` // the entities that the subscription provides notifications for
	Level   *string   `json:"level,omitempty" url:"level,omitempty,key"`     // 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
	Secret *string `json:"secret,omitempty" url:"secret,omitempty,key"` // a value that Heroku will use to sign all webhook notification
	// requests (the signature is included in the request’s
	// `Heroku-Webhook-Hmac-SHA256` header)
	URL *string `json:"url,omitempty" url:"url,omitempty,key"` // the URL where the webhook's notification requests are sent
}

type AddOnWebhookUpdateResult

type AddOnWebhookUpdateResult struct {
	Addon struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of add-on
		Name string `json:"name" url:"name,key"` // globally unique name of the add-on
	} `json:"addon" url:"addon,key"` // identity of add-on. Only used for add-on partner webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AllowedAddOnService added in v5.2.1

type AllowedAddOnService struct {
	AddedAt time.Time `json:"added_at" url:"added_at,key"` // when the add-on service was allowed
	AddedBy struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"added_by" url:"added_by,key"` // the user which allowed the add-on service
	AddonService struct {
		HumanName string `json:"human_name" url:"human_name,key"` // human-readable name of the add-on service provider
		ID        string `json:"id" url:"id,key"`                 // unique identifier of this add-on-service
		Name      string `json:"name" url:"name,key"`             // unique name of this add-on-service
	} `json:"addon_service" url:"addon_service,key"` // the add-on service allowed for use
	ID string `json:"id" url:"id,key"` // unique identifier for this allowed add-on service record
}

Entities that have been allowed to be used by a Team

type AllowedAddOnServiceCreateByTeamOpts added in v5.2.1

type AllowedAddOnServiceCreateByTeamOpts struct {
	AddonService *string `json:"addon_service,omitempty" url:"addon_service,omitempty,key"` // name of the add-on service to allow
}

type AllowedAddOnServiceCreateByTeamResult added in v5.2.1

type AllowedAddOnServiceCreateByTeamResult []AllowedAddOnService

type AllowedAddOnServiceListByTeamResult added in v5.2.1

type AllowedAddOnServiceListByTeamResult []AllowedAddOnService

type App

type App struct {
	Acm        bool       `json:"acm" url:"acm,key"`                 // ACM status of this app
	ArchivedAt *time.Time `json:"archived_at" url:"archived_at,key"` // when app was archived
	BuildStack struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"build_stack" url:"build_stack,key"` // identity of the stack that will be used for new builds
	BuildpackProvidedDescription *string   `json:"buildpack_provided_description" url:"buildpack_provided_description,key"` // description from buildpack of app
	CreatedAt                    time.Time `json:"created_at" url:"created_at,key"`                                         // when app was created
	GitURL                       string    `json:"git_url" url:"git_url,key"`                                               // git repo URL of app
	ID                           string    `json:"id" url:"id,key"`                                                         // unique identifier of app
	InternalRouting              *bool     `json:"internal_routing" url:"internal_routing,key"`                             // describes whether a Private Spaces app is externally routable or not
	Maintenance                  bool      `json:"maintenance" url:"maintenance,key"`                                       // maintenance status of app
	Name                         string    `json:"name" url:"name,key"`                                                     // unique name of app
	Organization                 *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of team
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"organization" url:"organization,key"` // identity of team
	Owner struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"owner" url:"owner,key"` // identity of app owner
	Region struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of region
		Name string `json:"name" url:"name,key"` // unique name of region
	} `json:"region" url:"region,key"` // identity of app region
	ReleasedAt *time.Time `json:"released_at" url:"released_at,key"` // when app was released
	RepoSize   *int       `json:"repo_size" url:"repo_size,key"`     // git repo size in bytes of app
	SlugSize   *int       `json:"slug_size" url:"slug_size,key"`     // slug size in bytes of app
	Space      *struct {
		ID     string `json:"id" url:"id,key"`         // unique identifier of space
		Name   string `json:"name" url:"name,key"`     // unique name of space
		Shield bool   `json:"shield" url:"shield,key"` // true if this space has shield enabled
	} `json:"space" url:"space,key"` // identity of space
	Stack struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"stack" url:"stack,key"` // identity of app stack
	Team *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of team
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"team" url:"team,key"` // identity of team
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when app was updated
	WebURL    string    `json:"web_url" url:"web_url,key"`       // web URL of app
}

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

type AppCreateOpts

type AppCreateOpts struct {
	FeatureFlags []*string `json:"feature_flags,omitempty" url:"feature_flags,omitempty,key"` // unique name of app feature
	Name         *string   `json:"name,omitempty" url:"name,omitempty,key"`                   // unique name of app
	Region       *string   `json:"region,omitempty" url:"region,omitempty,key"`               // unique identifier of region
	Stack        *string   `json:"stack,omitempty" url:"stack,omitempty,key"`                 // unique name of stack
}

type AppFeature

type AppFeature struct {
	CreatedAt     time.Time `json:"created_at" url:"created_at,key"`         // when app feature was created
	Description   string    `json:"description" url:"description,key"`       // description of app feature
	DisplayName   string    `json:"display_name" url:"display_name,key"`     // user readable feature name
	DocURL        string    `json:"doc_url" url:"doc_url,key"`               // documentation URL of app feature
	Enabled       bool      `json:"enabled" url:"enabled,key"`               // whether or not app feature has been enabled
	FeedbackEmail string    `json:"feedback_email" url:"feedback_email,key"` // e-mail to send feedback about the feature
	ID            string    `json:"id" url:"id,key"`                         // unique identifier of app feature
	Name          string    `json:"name" url:"name,key"`                     // unique name of app feature
	State         string    `json:"state" url:"state,key"`                   // state of app feature
	UpdatedAt     time.Time `json:"updated_at" url:"updated_at,key"`         // when app feature was updated
}

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

type AppFeatureListResult

type AppFeatureListResult []AppFeature

type AppFeatureUpdateOpts

type AppFeatureUpdateOpts struct {
	Enabled bool `json:"enabled" url:"enabled,key"` // whether or not app feature has been enabled
}

type AppFormationSet

type AppFormationSet struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app being described by the formation-set
	Description string    `json:"description" url:"description,key"`   // a string representation of the formation set
	ProcessTier string    `json:"process_tier" url:"process_tier,key"` // application process tier
	UpdatedAt   time.Time `json:"updated_at" url:"updated_at,key"`     // last time fomation-set was updated
}

App formation set describes the combination of process types with their quantities and sizes as well as application process tier

type AppListOwnedAndCollaboratedResult

type AppListOwnedAndCollaboratedResult []App

type AppListResult

type AppListResult []App

type AppSetup

type AppSetup struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // identity of app
	Build *struct {
		ID              string `json:"id" url:"id,key"`                               // unique identifier of build
		OutputStreamURL string `json:"output_stream_url" url:"output_stream_url,key"` // 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`).
		Status string `json:"status" url:"status,key"` // status of build
	} `json:"build" url:"build,key"` // identity and status of build
	CreatedAt      time.Time `json:"created_at" url:"created_at,key"`           // when app setup was created
	FailureMessage *string   `json:"failure_message" url:"failure_message,key"` // reason that app setup has failed
	ID             string    `json:"id" url:"id,key"`                           // unique identifier of app setup
	ManifestErrors []string  `json:"manifest_errors" url:"manifest_errors,key"` // errors associated with invalid app.json manifest file
	Postdeploy     *struct {
		ExitCode int    `json:"exit_code" url:"exit_code,key"` // The exit code of the postdeploy script
		Output   string `json:"output" url:"output,key"`       // output of the postdeploy script
	} `json:"postdeploy" url:"postdeploy,key"` // result of postdeploy script
	ResolvedSuccessURL *string   `json:"resolved_success_url" url:"resolved_success_url,key"` // fully qualified success url
	Status             string    `json:"status" url:"status,key"`                             // the overall status of app setup
	UpdatedAt          time.Time `json:"updated_at" url:"updated_at,key"`                     // when app setup was updated
}

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

type AppSetupCreateOpts

type AppSetupCreateOpts struct {
	App *struct {
		Locked       *bool   `json:"locked,omitempty" url:"locked,omitempty,key"`             // are other team members forbidden from joining this app.
		Name         *string `json:"name,omitempty" url:"name,omitempty,key"`                 // unique name of app
		Organization *string `json:"organization,omitempty" url:"organization,omitempty,key"` // unique name of team
		Personal     *bool   `json:"personal,omitempty" url:"personal,omitempty,key"`         // force creation of the app in the user account even if a default team
		// is set.
		Region *string `json:"region,omitempty" url:"region,omitempty,key"` // unique name of region
		Space  *string `json:"space,omitempty" url:"space,omitempty,key"`   // unique name of space
		Stack  *string `json:"stack,omitempty" url:"stack,omitempty,key"`   // unique name of stack
	} `json:"app,omitempty" url:"app,omitempty,key"` // optional parameters for created app
	Overrides *struct {
		Buildpacks []*struct {
			URL *string `json:"url,omitempty" url:"url,omitempty,key"` // location of the buildpack
		} `json:"buildpacks,omitempty" url:"buildpacks,omitempty,key"` // overrides the buildpacks specified in the app.json manifest file
		Env map[string]string `json:"env,omitempty" url:"env,omitempty,key"` // overrides of the env specified in the app.json manifest file
	} `json:"overrides,omitempty" url:"overrides,omitempty,key"` // overrides of keys in the app.json manifest file
	SourceBlob struct {
		Checksum *string `json:"checksum,omitempty" url:"checksum,omitempty,key"` // an optional checksum of the gzipped tarball for verifying its
		// integrity
		URL *string `json:"url,omitempty" url:"url,omitempty,key"` // URL of gzipped tarball of source code containing app.json manifest
		// file
		Version *string `json:"version,omitempty" url:"version,omitempty,key"` // Version of the gzipped tarball.
	} `json:"source_blob" url:"source_blob,key"` // gzipped tarball of source code containing app.json manifest file
}

type AppTransfer

type AppTransfer struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app involved in the transfer
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when app transfer was created
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of app transfer
	Owner     struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"owner" url:"owner,key"` // identity of the owner of the transfer
	Recipient struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"recipient" url:"recipient,key"` // identity of the recipient of the transfer
	State     string    `json:"state" url:"state,key"`           // the current state of an app transfer
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when app transfer was updated
}

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

type AppTransferCreateOpts

type AppTransferCreateOpts struct {
	App       string `json:"app" url:"app,key"`                           // unique identifier of app
	Recipient string `json:"recipient" url:"recipient,key"`               // unique email address of account
	Silent    *bool  `json:"silent,omitempty" url:"silent,omitempty,key"` // whether to suppress email notification when transferring apps
}

type AppTransferListResult

type AppTransferListResult []AppTransfer

type AppTransferUpdateOpts

type AppTransferUpdateOpts struct {
	State string `json:"state" url:"state,key"` // the current state of an app transfer
}

type AppUpdateOpts

type AppUpdateOpts struct {
	BuildStack  *string `json:"build_stack,omitempty" url:"build_stack,omitempty,key"` // unique name of stack
	Maintenance *bool   `json:"maintenance,omitempty" url:"maintenance,omitempty,key"` // maintenance status of app
	Name        *string `json:"name,omitempty" url:"name,omitempty,key"`               // unique name of app
}

type AppWebhook

type AppWebhook struct{}

Represents the details of a webhook subscription

type AppWebhookCreateOpts

type AppWebhookCreateOpts struct {
	Authorization *string `json:"authorization,omitempty" url:"authorization,omitempty,key"` // a custom `Authorization` header that Heroku will include with all
	// webhook notifications
	Include []string `json:"include" url:"include,key"` // the entities that the subscription provides notifications for
	Level   string   `json:"level" url:"level,key"`     // 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
	Secret *string `json:"secret,omitempty" url:"secret,omitempty,key"` // a value that Heroku will use to sign all webhook notification
	// requests (the signature is included in the request’s
	// `Heroku-Webhook-Hmac-SHA256` header)
	URL string `json:"url" url:"url,key"` // the URL where the webhook's notification requests are sent
}

type AppWebhookCreateResult

type AppWebhookCreateResult struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // identity of app. Only used for customer webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AppWebhookDeleteResult

type AppWebhookDeleteResult struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // identity of app. Only used for customer webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AppWebhookDelivery

type AppWebhookDelivery struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the delivery was created
	Event     struct {
		ID      string `json:"id" url:"id,key"`           // the event's unique identifier
		Include string `json:"include" url:"include,key"` // the type of entity that the event is related to
	} `json:"event" url:"event,key"` // identity of event
	ID          string `json:"id" url:"id,key"` // the delivery's unique identifier
	LastAttempt *struct {
		Code       *int      `json:"code" url:"code,key"`               // http response code received during attempt
		CreatedAt  time.Time `json:"created_at" url:"created_at,key"`   // when attempt was created
		ErrorClass *string   `json:"error_class" url:"error_class,key"` // error class encountered during attempt
		ID         string    `json:"id" url:"id,key"`                   // unique identifier of attempt
		Status     string    `json:"status" url:"status,key"`           // status of an attempt
		UpdatedAt  time.Time `json:"updated_at" url:"updated_at,key"`   // when attempt was updated
	} `json:"last_attempt" url:"last_attempt,key"` // last attempt of a delivery
	NextAttemptAt *time.Time `json:"next_attempt_at" url:"next_attempt_at,key"` // when delivery will be attempted again
	NumAttempts   int        `json:"num_attempts" url:"num_attempts,key"`       // number of times a delivery has been attempted
	Status        string     `json:"status" url:"status,key"`                   // the delivery's status
	UpdatedAt     time.Time  `json:"updated_at" url:"updated_at,key"`           // when the delivery was last updated
	Webhook       struct {
		ID    string `json:"id" url:"id,key"`       // the webhook's unique identifier
		Level string `json:"level" url:"level,key"` // if `notify`, Heroku makes a single, fire-and-forget delivery attempt.

	} `json:"webhook" url:"webhook,key"` // identity of webhook
}

Represents the delivery of a webhook notification, including its current status.

type AppWebhookDeliveryListResult

type AppWebhookDeliveryListResult []AppWebhookDelivery

type AppWebhookEvent

type AppWebhookEvent struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when event was created
	ID        string    `json:"id" url:"id,key"`                 // the event's unique identifier
	Include   string    `json:"include" url:"include,key"`       // the type of entity that the event is related to
	Payload   struct {
		Action string `json:"action" url:"action,key"` // the type of event that occurred
		Actor  struct {
			Email string `json:"email" url:"email,key"` // unique email address of account
			ID    string `json:"id" url:"id,key"`       // unique identifier of an account
		} `json:"actor" url:"actor,key"` // user that caused event
		Data         struct{} `json:"data" url:"data,key"`                   // the current details of the event
		PreviousData struct{} `json:"previous_data" url:"previous_data,key"` // previous details of the event (if any)
		Resource     string   `json:"resource" url:"resource,key"`           // the type of resource associated with the event
		Version      string   `json:"version" url:"version,key"`             // the version of the details provided for the event
	} `json:"payload" url:"payload,key"` // payload of event
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the event was last updated
}

Represents a webhook event that occurred.

type AppWebhookEventListResult

type AppWebhookEventListResult []AppWebhookEvent

type AppWebhookInfoResult

type AppWebhookInfoResult struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // identity of app. Only used for customer webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AppWebhookListResult

type AppWebhookListResult []struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // identity of app. Only used for customer webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type AppWebhookUpdateOpts

type AppWebhookUpdateOpts struct {
	Authorization *string `json:"authorization,omitempty" url:"authorization,omitempty,key"` // a custom `Authorization` header that Heroku will include with all
	// webhook notifications
	Include []*string `json:"include,omitempty" url:"include,omitempty,key"` // the entities that the subscription provides notifications for
	Level   *string   `json:"level,omitempty" url:"level,omitempty,key"`     // 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
	Secret *string `json:"secret,omitempty" url:"secret,omitempty,key"` // a value that Heroku will use to sign all webhook notification
	// requests (the signature is included in the request’s
	// `Heroku-Webhook-Hmac-SHA256` header)
	URL *string `json:"url,omitempty" url:"url,omitempty,key"` // the URL where the webhook's notification requests are sent
}

type AppWebhookUpdateResult

type AppWebhookUpdateResult struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // identity of app. Only used for customer webhooks.
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when the webhook was created
	ID        string    `json:"id" url:"id,key"`                 // the webhook's unique identifier
	Include   []string  `json:"include" url:"include,key"`       // the entities that the subscription provides notifications for
	Level     string    `json:"level" url:"level,key"`           // 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
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the webhook was updated
	URL       string    `json:"url" url:"url,key"`               // the URL where the webhook's notification requests are sent
}

type Archive added in v5.2.0

type Archive struct {
	Checksum  string    `json:"checksum" url:"checksum,key"`     // checksum for the archive
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when archive was created
	Month     string    `json:"month" url:"month,key"`           // month of the archive
	Size      int       `json:"size" url:"size,key"`             // size of the archive in bytes
	URL       string    `json:"url" url:"url,key"`               // url where to download the archive
	Year      int       `json:"year" url:"year,key"`             // year of the archive
}

An audit trail archive represents a monthly json zipped file containing events

type AuditTrailEvent added in v5.2.1

type AuditTrailEvent struct {
	Action string `json:"action" url:"action,key"` // action for the event
	Actor  struct {
		Email string `json:"email" url:"email,key"`
		ID    string `json:"id" url:"id,key"`
	} `json:"actor" url:"actor,key"` // user who caused event
	App struct {
		ID   string `json:"id" url:"id,key"`
		Name string `json:"name" url:"name,key"`
	} `json:"app" url:"app,key"` // app upon which event took place
	CreatedAt         time.Time `json:"created_at" url:"created_at,key"` // when event was created
	Data              struct{}  `json:"data" url:"data,key"`             // data specific to the event
	EnterpriseAccount struct {
		ID   string `json:"id" url:"id,key"`
		Name string `json:"name" url:"name,key"`
	} `json:"enterprise_account" url:"enterprise_account,key"` // enterprise account on which the event happened
	ID    string `json:"id" url:"id,key"` // unique identifier of event
	Owner struct {
		Email string `json:"email" url:"email,key"`
		ID    string `json:"id" url:"id,key"`
	} `json:"owner" url:"owner,key"` // owner of the app targeted by the event
	Request struct {
		IPAddress string `json:"ip_address" url:"ip_address,key"`
	} `json:"request" url:"request,key"` // information about where the action was triggered
	Team struct {
		ID   string `json:"id" url:"id,key"`
		Name string `json:"name" url:"name,key"`
	} `json:"team" url:"team,key"` // team on which the event happened
	Type string `json:"type" url:"type,key"` // type of event
}

An audit trail event represents some action on the platform

type Build

type Build struct {
	App struct {
		ID string `json:"id" url:"id,key"` // unique identifier of app
	} `json:"app" url:"app,key"` // app that the build belongs to
	Buildpacks []struct {
		Name string `json:"name" url:"name,key"` // Buildpack Registry name of the buildpack for the app
		URL  string `json:"url" url:"url,key"`   // the URL of the buildpack for the app
	} `json:"buildpacks" url:"buildpacks,key"` // buildpacks executed for this build, in order
	CreatedAt       time.Time `json:"created_at" url:"created_at,key"`               // when build was created
	ID              string    `json:"id" url:"id,key"`                               // unique identifier of build
	OutputStreamURL string    `json:"output_stream_url" url:"output_stream_url,key"` // 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`).
	Release *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of release
	} `json:"release" url:"release,key"` // release resulting from the build
	Slug *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of slug
	} `json:"slug" url:"slug,key"` // slug created by this build
	SourceBlob struct {
		Checksum *string `json:"checksum" url:"checksum,key"` // an optional checksum of the gzipped tarball for verifying its
		// integrity
		URL string `json:"url" url:"url,key"` // URL where gzipped tar archive of source code for build was
		// downloaded.
		Version *string `json:"version" url:"version,key"` // Version of the gzipped tarball.
	} `json:"source_blob" url:"source_blob,key"` // location of gzipped tarball of source code used to create build
	Stack     string    `json:"stack" url:"stack,key"`           // stack of build
	Status    string    `json:"status" url:"status,key"`         // status of build
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when build was updated
	User      struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"user" url:"user,key"` // user that started the build
}

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

type BuildCreateOpts

type BuildCreateOpts struct {
	Buildpacks []*struct {
		Name *string `json:"name,omitempty" url:"name,omitempty,key"` // Buildpack Registry name of the buildpack for the app
		URL  *string `json:"url,omitempty" url:"url,omitempty,key"`   // the URL of the buildpack for the app
	} `json:"buildpacks,omitempty" url:"buildpacks,omitempty,key"` // buildpacks executed for this build, in order
	SourceBlob struct {
		Checksum *string `json:"checksum,omitempty" url:"checksum,omitempty,key"` // an optional checksum of the gzipped tarball for verifying its
		// integrity
		URL *string `json:"url,omitempty" url:"url,omitempty,key"` // URL where gzipped tar archive of source code for build was
		// downloaded.
		Version *string `json:"version,omitempty" url:"version,omitempty,key"` // Version of the gzipped tarball.
	} `json:"source_blob" url:"source_blob,key"` // location of gzipped tarball of source code used to create build
}

type BuildListResult

type BuildListResult []Build

type BuildpackInstallation

type BuildpackInstallation struct {
	Buildpack struct {
		Name string `json:"name" url:"name,key"` // either the Buildpack Registry name or a URL of the buildpack for the
		// app
		URL string `json:"url" url:"url,key"` // location of the buildpack for the app. Either a url (unofficial

	} `json:"buildpack" url:"buildpack,key"` // buildpack
	Ordinal int `json:"ordinal" url:"ordinal,key"` // determines the order in which the buildpacks will execute
}

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

type BuildpackInstallationListResult

type BuildpackInstallationListResult []BuildpackInstallation

type BuildpackInstallationUpdateOpts

type BuildpackInstallationUpdateOpts struct {
	Updates []struct {
		Buildpack string `json:"buildpack" url:"buildpack,key"` // location of the buildpack for the app. Either a url (unofficial

	} `json:"updates" url:"updates,key"` // The buildpack attribute can accept a name, a url, or a urn.
}

type BuildpackInstallationUpdateResult

type BuildpackInstallationUpdateResult []BuildpackInstallation

type Collaborator

type Collaborator struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app collaborator belongs to
	CreatedAt   time.Time `json:"created_at" url:"created_at,key"` // when collaborator was created
	ID          string    `json:"id" url:"id,key"`                 // unique identifier of collaborator
	Permissions []struct {
		Description string `json:"description" url:"description,key"` // A description of what the app permission allows.
		Name        string `json:"name" url:"name,key"`               // The name of the app permission.
	} `json:"permissions" url:"permissions,key"`
	Role      *string   `json:"role" url:"role,key"`             // role in the team
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when collaborator was updated
	User      struct {
		Email     string `json:"email" url:"email,key"`         // unique email address of account
		Federated bool   `json:"federated" url:"federated,key"` // whether the user is federated and belongs to an Identity Provider
		ID        string `json:"id" url:"id,key"`               // unique identifier of an account
	} `json:"user" url:"user,key"` // identity of collaborated account
}

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

type CollaboratorCreateOpts

type CollaboratorCreateOpts struct {
	Silent *bool  `json:"silent,omitempty" url:"silent,omitempty,key"` // whether to suppress email invitation when creating collaborator
	User   string `json:"user" url:"user,key"`                         // unique email address of account
}

type CollaboratorListResult

type CollaboratorListResult []Collaborator

type ConfigVar

type ConfigVar map[string]string

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

type ConfigVarInfoForAppReleaseResult

type ConfigVarInfoForAppReleaseResult map[string]*string

type ConfigVarInfoForAppResult

type ConfigVarInfoForAppResult map[string]*string

type ConfigVarUpdateResult

type ConfigVarUpdateResult map[string]*string

type Credit

type Credit struct {
	Amount    float64   `json:"amount" url:"amount,key"`         // total value of credit in cents
	Balance   float64   `json:"balance" url:"balance,key"`       // remaining value of credit in cents
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when credit was created
	ExpiresAt time.Time `json:"expires_at" url:"expires_at,key"` // when credit will expire
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of credit
	Title     string    `json:"title" url:"title,key"`           // a name for credit
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when credit was updated
}

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

type CreditCreateOpts

type CreditCreateOpts struct {
	Code1 *string `json:"code1,omitempty" url:"code1,omitempty,key"` // first code from a discount card
	Code2 *string `json:"code2,omitempty" url:"code2,omitempty,key"` // second code from a discount card
}

type CreditListResult

type CreditListResult []Credit

type Domain

type Domain struct {
	AcmStatus       *string `json:"acm_status" url:"acm_status,key"`               // status of this record's ACM
	AcmStatusReason *string `json:"acm_status_reason" url:"acm_status_reason,key"` // reason for the status of this record's ACM
	App             struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app that owns the domain
	CName       *string   `json:"cname" url:"cname,key"`           // canonical name record, the address to point a domain at
	CreatedAt   time.Time `json:"created_at" url:"created_at,key"` // when domain was created
	Hostname    string    `json:"hostname" url:"hostname,key"`     // full hostname
	ID          string    `json:"id" url:"id,key"`                 // unique identifier of this domain
	Kind        string    `json:"kind" url:"kind,key"`             // type of domain name
	SniEndpoint *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this SNI endpoint
		Name string `json:"name" url:"name,key"` // unique name for SNI endpoint
	} `json:"sni_endpoint" url:"sni_endpoint,key"` // sni endpoint the domain is associated with
	Status    string    `json:"status" url:"status,key"`         // status of this record's cname
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when domain was updated
}

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

type DomainCreateOpts

type DomainCreateOpts struct {
	Hostname    string  `json:"hostname" url:"hostname,key"`         // full hostname
	SniEndpoint *string `json:"sni_endpoint" url:"sni_endpoint,key"` // null or unique identifier or name for SNI endpoint
}

type DomainListResult

type DomainListResult []Domain

type DomainUpdateOpts added in v5.2.1

type DomainUpdateOpts struct {
	SniEndpoint *string `json:"sni_endpoint" url:"sni_endpoint,key"` // null or unique identifier or name for SNI endpoint
}

type Dyno

type Dyno struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app formation belongs to
	AttachURL *string `json:"attach_url" url:"attach_url,key"` // a URL to stream output from for attached processes or null for
	// non-attached processes
	Command   string    `json:"command" url:"command,key"`       // command used to start this process
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when dyno was created
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of this dyno
	Name      string    `json:"name" url:"name,key"`             // the name of this process on this dyno
	Release   struct {
		ID      string `json:"id" url:"id,key"`           // unique identifier of release
		Version int    `json:"version" url:"version,key"` // unique version assigned to the release
	} `json:"release" url:"release,key"` // app release of the dyno
	Size  string `json:"size" url:"size,key"`   // dyno size (default: "standard-1X")
	State string `json:"state" url:"state,key"` // current status of process (either: crashed, down, idle, starting, or
	// up)
	Type      string    `json:"type" url:"type,key"`             // type of process
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when process last changed state
}

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.h eroku.com/articles/dyno-types).

type DynoCreateOpts

type DynoCreateOpts struct {
	Attach     *bool             `json:"attach,omitempty" url:"attach,omitempty,key"`             // whether to stream output or not
	Command    string            `json:"command" url:"command,key"`                               // command used to start this process
	Env        map[string]string `json:"env,omitempty" url:"env,omitempty,key"`                   // custom environment to add to the dyno config vars
	ForceNoTty *bool             `json:"force_no_tty,omitempty" url:"force_no_tty,omitempty,key"` // force an attached one-off dyno to not run in a tty
	Size       *string           `json:"size,omitempty" url:"size,omitempty,key"`                 // dyno size (default: "standard-1X")
	TimeToLive *int              `json:"time_to_live,omitempty" url:"time_to_live,omitempty,key"` // seconds until dyno expires, after which it will soon be killed, max
	// 86400 seconds (24 hours)
	Type *string `json:"type,omitempty" url:"type,omitempty,key"` // type of process
}

type DynoListResult

type DynoListResult []Dyno

type DynoRestartAllResult

type DynoRestartAllResult struct{}

type DynoRestartResult

type DynoRestartResult struct{}

type DynoSize

type DynoSize struct {
	Compute          int       `json:"compute" url:"compute,key"`                       // minimum vCPUs, non-dedicated may get more depending on load
	Cost             *struct{} `json:"cost" url:"cost,key"`                             // price information for this dyno size
	Dedicated        bool      `json:"dedicated" url:"dedicated,key"`                   // whether this dyno will be dedicated to one user
	DynoUnits        int       `json:"dyno_units" url:"dyno_units,key"`                 // unit of consumption for Heroku Enterprise customers
	ID               string    `json:"id" url:"id,key"`                                 // unique identifier of this dyno size
	Memory           float64   `json:"memory" url:"memory,key"`                         // amount of RAM in GB
	Name             string    `json:"name" url:"name,key"`                             // the name of this dyno-size
	PrivateSpaceOnly bool      `json:"private_space_only" url:"private_space_only,key"` // whether this dyno can only be provisioned in a private space
}

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.h eroku.com/articles/dyno-types).

type DynoSizeListResult

type DynoSizeListResult []DynoSize

type DynoStopResult

type DynoStopResult struct{}

type EnterpriseAccount added in v5.2.0

type EnterpriseAccount struct {
	CreatedAt        time.Time `json:"created_at" url:"created_at,key"` // when the enterprise account was created
	ID               string    `json:"id" url:"id,key"`                 // unique identifier of the enterprise account
	IdentityProvider *struct {
		ID    string `json:"id" url:"id,key"`     // unique identifier of this identity provider
		Name  string `json:"name" url:"name,key"` // user-friendly unique identifier for this identity provider
		Owner struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of the owner
			Name string `json:"name" url:"name,key"` // name of the owner
			Type string `json:"type" url:"type,key"` // type of the owner
		} `json:"owner" url:"owner,key"` // entity that owns this identity provider
	} `json:"identity_provider" url:"identity_provider,key"` // Identity Provider associated with the Enterprise Account
	Name        string    `json:"name" url:"name,key"`               // unique name of the enterprise account
	Permissions []string  `json:"permissions" url:"permissions,key"` // the current user's permissions for this enterprise account
	Trial       bool      `json:"trial" url:"trial,key"`             // whether the enterprise account is a trial or not
	UpdatedAt   time.Time `json:"updated_at" url:"updated_at,key"`   // when the enterprise account was updated
}

Enterprise accounts allow companies to manage their development teams and billing.

type EnterpriseAccountDailyUsage added in v5.3.0

type EnterpriseAccountDailyUsage struct {
	Addons  float64 `json:"addons" url:"addons,key"`   // total add-on credits used
	Data    float64 `json:"data" url:"data,key"`       // total add-on credits used for first party add-ons
	Date    string  `json:"date" url:"date,key"`       // date of the usage
	Dynos   float64 `json:"dynos" url:"dynos,key"`     // dynos used
	ID      string  `json:"id" url:"id,key"`           // enterprise account identifier
	Name    string  `json:"name" url:"name,key"`       // name of the enterprise account
	Partner float64 `json:"partner" url:"partner,key"` // total add-on credits used for third party add-ons
	Space   float64 `json:"space" url:"space,key"`     // space credits used
	Teams   []struct {
		Addons float64 `json:"addons" url:"addons,key"` // total add-on credits used
		Apps   []struct {
			Addons  float64 `json:"addons" url:"addons,key"`     // total add-on credits used
			AppName string  `json:"app_name" url:"app_name,key"` // unique name of app
			Data    float64 `json:"data" url:"data,key"`         // total add-on credits used for first party add-ons
			Dynos   float64 `json:"dynos" url:"dynos,key"`       // dynos used
			Partner float64 `json:"partner" url:"partner,key"`   // total add-on credits used for third party add-ons
		} `json:"apps" url:"apps,key"` // app usage in the team
		Data    float64 `json:"data" url:"data,key"`       // total add-on credits used for first party add-ons
		Dynos   float64 `json:"dynos" url:"dynos,key"`     // dynos used
		ID      string  `json:"id" url:"id,key"`           // team identifier
		Name    string  `json:"name" url:"name,key"`       // name of the team
		Partner float64 `json:"partner" url:"partner,key"` // total add-on credits used for third party add-ons
		Space   float64 `json:"space" url:"space,key"`     // space credits used
	} `json:"teams" url:"teams,key"` // usage by team
}

Usage for an enterprise account at a daily resolution.

type EnterpriseAccountDailyUsageInfoOpts added in v5.4.0

type EnterpriseAccountDailyUsageInfoOpts struct {
	End   *string `json:"end,omitempty" url:"end,omitempty,key"` // range end date
	Start string  `json:"start" url:"start,key"`                 // range start date
}

type EnterpriseAccountDailyUsageInfoResult added in v5.3.0

type EnterpriseAccountDailyUsageInfoResult []EnterpriseAccountDailyUsage

type EnterpriseAccountListResult added in v5.2.0

type EnterpriseAccountListResult []EnterpriseAccount

type EnterpriseAccountMember added in v5.2.0

type EnterpriseAccountMember struct {
	EnterpriseAccount struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of the enterprise account
		Name string `json:"name" url:"name,key"` // unique name of the enterprise account
	} `json:"enterprise_account" url:"enterprise_account,key"`
	ID               string `json:"id" url:"id,key"` // unique identifier of the member
	IdentityProvider *struct {
		ID    string `json:"id" url:"id,key"`     // unique identifier of this identity provider
		Name  string `json:"name" url:"name,key"` // name of the identity provider
		Owner struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of the owner
			Name string `json:"name" url:"name,key"` // name of the owner
			Type string `json:"type" url:"type,key"` // type of the owner
		} `json:"owner" url:"owner,key"` // entity that owns this identity provider
		Redacted bool `json:"redacted" url:"redacted,key"` // whether the identity_provider information is redacted or not
	} `json:"identity_provider" url:"identity_provider,key"` // Identity Provider information the member is federated with
	Permissions []struct {
		Description string `json:"description" url:"description,key"`
		Name        string `json:"name" url:"name,key"` // permission in the enterprise account
	} `json:"permissions" url:"permissions,key"` // enterprise account permissions
	TwoFactorAuthentication bool `json:"two_factor_authentication" url:"two_factor_authentication,key"` // whether the Enterprise Account member has two factor authentication
	// enabled
	User struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"user" url:"user,key"` // user information for the membership
}

Enterprise account members are users with access to an enterprise account.

type EnterpriseAccountMemberCreateOpts added in v5.2.0

type EnterpriseAccountMemberCreateOpts struct {
	Federated   *bool    `json:"federated,omitempty" url:"federated,omitempty,key"` // whether membership is being created as part of SSO JIT
	Permissions []string `json:"permissions" url:"permissions,key"`                 // permissions for enterprise account
	User        string   `json:"user" url:"user,key"`                               // unique email address of account
}

type EnterpriseAccountMemberListResult added in v5.2.0

type EnterpriseAccountMemberListResult []EnterpriseAccountMember

type EnterpriseAccountMemberUpdateOpts added in v5.2.0

type EnterpriseAccountMemberUpdateOpts struct {
	Permissions []string `json:"permissions" url:"permissions,key"` // permissions for enterprise account
}

type EnterpriseAccountMonthlyUsage added in v5.3.0

type EnterpriseAccountMonthlyUsage struct {
	Addons  float64 `json:"addons" url:"addons,key"`   // total add-on credits used
	Connect float64 `json:"connect" url:"connect,key"` // average connect rows synced
	Data    float64 `json:"data" url:"data,key"`       // total add-on credits used for first party add-ons
	Dynos   float64 `json:"dynos" url:"dynos,key"`     // dynos used
	ID      string  `json:"id" url:"id,key"`           // enterprise account identifier
	Month   string  `json:"month" url:"month,key"`     // year and month of the usage
	Name    string  `json:"name" url:"name,key"`       // name of the enterprise account
	Partner float64 `json:"partner" url:"partner,key"` // total add-on credits used for third party add-ons
	Space   float64 `json:"space" url:"space,key"`     // space credits used
	Teams   []struct {
		Addons float64 `json:"addons" url:"addons,key"` // total add-on credits used
		Apps   []struct {
			Addons  float64 `json:"addons" url:"addons,key"`     // total add-on credits used
			AppName string  `json:"app_name" url:"app_name,key"` // unique name of app
			Data    float64 `json:"data" url:"data,key"`         // total add-on credits used for first party add-ons
			Dynos   float64 `json:"dynos" url:"dynos,key"`       // dynos used
			Partner float64 `json:"partner" url:"partner,key"`   // total add-on credits used for third party add-ons
		} `json:"apps" url:"apps,key"` // app usage in the team
		Connect float64 `json:"connect" url:"connect,key"` // average connect rows synced
		Data    float64 `json:"data" url:"data,key"`       // total add-on credits used for first party add-ons
		Dynos   float64 `json:"dynos" url:"dynos,key"`     // dynos used
		ID      string  `json:"id" url:"id,key"`           // team identifier
		Name    string  `json:"name" url:"name,key"`       // name of the team
		Partner float64 `json:"partner" url:"partner,key"` // total add-on credits used for third party add-ons
		Space   float64 `json:"space" url:"space,key"`     // space credits used
	} `json:"teams" url:"teams,key"` // usage by team
}

Usage for an enterprise account at a monthly resolution.

type EnterpriseAccountMonthlyUsageInfoOpts added in v5.4.0

type EnterpriseAccountMonthlyUsageInfoOpts struct {
	End   *string `json:"end,omitempty" url:"end,omitempty,key"` // range end date
	Start string  `json:"start" url:"start,key"`                 // range start date
}

type EnterpriseAccountMonthlyUsageInfoResult added in v5.3.0

type EnterpriseAccountMonthlyUsageInfoResult []EnterpriseAccountMonthlyUsage

type EnterpriseAccountUpdateOpts added in v5.2.0

type EnterpriseAccountUpdateOpts struct {
	Name *string `json:"name,omitempty" url:"name,omitempty,key"` // unique name of the enterprise account
}

type Error

type Error struct {
	ID  string
	URL string
	// StatusCode is the HTTP status code returned from the remote server.
	StatusCode int
	// contains filtered or unexported fields
}

type FilterApps

type FilterApps struct{}

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.

type FilterAppsAppsOpts

type FilterAppsAppsOpts struct {
	In *struct {
		ID []*string `json:"id,omitempty" url:"id,omitempty,key"`
	} `json:"in,omitempty" url:"in,omitempty,key"`
}

type FilterAppsAppsResult

type FilterAppsAppsResult []struct {
	ArchivedAt *time.Time `json:"archived_at" url:"archived_at,key"` // when app was archived
	BuildStack struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"build_stack" url:"build_stack,key"` // identity of the stack that will be used for new builds
	BuildpackProvidedDescription *string   `json:"buildpack_provided_description" url:"buildpack_provided_description,key"` // description from buildpack of app
	CreatedAt                    time.Time `json:"created_at" url:"created_at,key"`                                         // when app was created
	GitURL                       string    `json:"git_url" url:"git_url,key"`                                               // git repo URL of app
	ID                           string    `json:"id" url:"id,key"`                                                         // unique identifier of app
	InternalRouting              *bool     `json:"internal_routing" url:"internal_routing,key"`                             // describes whether a Private Spaces app is externally routable or not
	Joined                       bool      `json:"joined" url:"joined,key"`                                                 // is the current member a collaborator on this app.
	Locked                       bool      `json:"locked" url:"locked,key"`                                                 // are other team members forbidden from joining this app.
	Maintenance                  bool      `json:"maintenance" url:"maintenance,key"`                                       // maintenance status of app
	Name                         string    `json:"name" url:"name,key"`                                                     // unique name of app
	Owner                        *struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"owner" url:"owner,key"` // identity of app owner
	Region struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of region
		Name string `json:"name" url:"name,key"` // unique name of region
	} `json:"region" url:"region,key"` // identity of app region
	ReleasedAt *time.Time `json:"released_at" url:"released_at,key"` // when app was released
	RepoSize   *int       `json:"repo_size" url:"repo_size,key"`     // git repo size in bytes of app
	SlugSize   *int       `json:"slug_size" url:"slug_size,key"`     // slug size in bytes of app
	Space      *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of space
		Name string `json:"name" url:"name,key"` // unique name of space
	} `json:"space" url:"space,key"` // identity of space
	Stack struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"stack" url:"stack,key"` // identity of app stack
	Team *struct {
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"team" url:"team,key"` // team that owns this app
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when app was updated
	WebURL    string    `json:"web_url" url:"web_url,key"`       // web URL of app
}

type Formation

type Formation struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app formation belongs to
	Command   string    `json:"command" url:"command,key"`       // command to use to launch this process
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when process type was created
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of this process type
	Quantity  int       `json:"quantity" url:"quantity,key"`     // number of processes to maintain
	Size      string    `json:"size" url:"size,key"`             // dyno size (default: "standard-1X")
	Type      string    `json:"type" url:"type,key"`             // type of process to maintain
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when dyno type was updated
}

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.

type FormationBatchUpdateOpts

type FormationBatchUpdateOpts struct {
	Updates []struct {
		Quantity *int    `json:"quantity,omitempty" url:"quantity,omitempty,key"` // number of processes to maintain
		Size     *string `json:"size,omitempty" url:"size,omitempty,key"`         // dyno size (default: "standard-1X")
		Type     string  `json:"type" url:"type,key"`                             // type of process to maintain
	} `json:"updates" url:"updates,key"` // Array with formation updates. Each element must have "type", the id

}

type FormationBatchUpdateResult

type FormationBatchUpdateResult []Formation

type FormationListResult

type FormationListResult []Formation

type FormationUpdateOpts

type FormationUpdateOpts struct {
	Quantity *int    `json:"quantity,omitempty" url:"quantity,omitempty,key"` // number of processes to maintain
	Size     *string `json:"size,omitempty" url:"size,omitempty,key"`         // dyno size (default: "standard-1X")
}

type IdentityProvider

type IdentityProvider struct {
	Certificate  string    `json:"certificate" url:"certificate,key"` // raw contents of the public certificate (eg: .crt or .pem file)
	CreatedAt    time.Time `json:"created_at" url:"created_at,key"`   // when provider record was created
	EntityID     string    `json:"entity_id" url:"entity_id,key"`     // URL identifier provided by the identity provider
	ID           string    `json:"id" url:"id,key"`                   // unique identifier of this identity provider
	Organization *struct {
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"organization" url:"organization,key"` // team associated with this identity provider
	Owner struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of the owner
		Name string `json:"name" url:"name,key"` // name of the owner
		Type string `json:"type" url:"type,key"` // type of the owner
	} `json:"owner" url:"owner,key"` // entity that owns this identity provider
	SloTargetURL string    `json:"slo_target_url" url:"slo_target_url,key"` // single log out URL for this identity provider
	SsoTargetURL string    `json:"sso_target_url" url:"sso_target_url,key"` // single sign on URL for this identity provider
	UpdatedAt    time.Time `json:"updated_at" url:"updated_at,key"`         // when the identity provider record was updated
}

Identity Providers represent the SAML configuration of an Enterprise Account or Team.

type IdentityProviderCreateByTeamOpts

type IdentityProviderCreateByTeamOpts struct {
	Certificate  string  `json:"certificate" url:"certificate,key"`                           // raw contents of the public certificate (eg: .crt or .pem file)
	EntityID     string  `json:"entity_id" url:"entity_id,key"`                               // URL identifier provided by the identity provider
	SloTargetURL *string `json:"slo_target_url,omitempty" url:"slo_target_url,omitempty,key"` // single log out URL for this identity provider
	SsoTargetURL string  `json:"sso_target_url" url:"sso_target_url,key"`                     // single sign on URL for this identity provider
}

type IdentityProviderListByTeamResult

type IdentityProviderListByTeamResult []IdentityProvider

type IdentityProviderUpdateByTeamOpts

type IdentityProviderUpdateByTeamOpts struct {
	Certificate  *string `json:"certificate,omitempty" url:"certificate,omitempty,key"`       // raw contents of the public certificate (eg: .crt or .pem file)
	EntityID     *string `json:"entity_id,omitempty" url:"entity_id,omitempty,key"`           // URL identifier provided by the identity provider
	SloTargetURL *string `json:"slo_target_url,omitempty" url:"slo_target_url,omitempty,key"` // single log out URL for this identity provider
	SsoTargetURL *string `json:"sso_target_url,omitempty" url:"sso_target_url,omitempty,key"` // single sign on URL for this identity provider
}

type InboundRuleset

type InboundRuleset struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when inbound-ruleset was created
	CreatedBy string    `json:"created_by" url:"created_by,key"` // unique email address of account
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of an inbound-ruleset
	Rules     []struct {
		Action string `json:"action" url:"action,key"` // states whether the connection is allowed or denied
		Source string `json:"source" url:"source,key"` // is the request’s source in CIDR notation
	} `json:"rules" url:"rules,key"`
	Space struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of space
		Name string `json:"name" url:"name,key"` // unique name of space
	} `json:"space" url:"space,key"` // identity of space
}

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

type InboundRulesetCreateOpts

type InboundRulesetCreateOpts struct {
	Rules []*struct {
		Action string `json:"action" url:"action,key"` // states whether the connection is allowed or denied
		Source string `json:"source" url:"source,key"` // is the request’s source in CIDR notation
	} `json:"rules,omitempty" url:"rules,omitempty,key"`
}

type InboundRulesetListResult

type InboundRulesetListResult []InboundRuleset

type Invoice

type Invoice struct {
	ChargesTotal float64   `json:"charges_total" url:"charges_total,key"` // total charges on this invoice
	CreatedAt    time.Time `json:"created_at" url:"created_at,key"`       // when invoice was created
	CreditsTotal float64   `json:"credits_total" url:"credits_total,key"` // total credits on this invoice
	ID           string    `json:"id" url:"id,key"`                       // unique identifier of this invoice
	Number       int       `json:"number" url:"number,key"`               // human readable invoice number
	PeriodEnd    string    `json:"period_end" url:"period_end,key"`       // the ending date that the invoice covers
	PeriodStart  string    `json:"period_start" url:"period_start,key"`   // the starting date that this invoice covers
	State        int       `json:"state" url:"state,key"`                 // payment status for this invoice (pending, successful, failed)
	Total        float64   `json:"total" url:"total,key"`                 // combined total of charges and credits on this invoice
	UpdatedAt    time.Time `json:"updated_at" url:"updated_at,key"`       // when invoice was updated
}

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

type InvoiceAddress

type InvoiceAddress struct {
	Address1          string `json:"address_1" url:"address_1,key"`                     // invoice street address line 1
	Address2          string `json:"address_2" url:"address_2,key"`                     // invoice street address line 2
	City              string `json:"city" url:"city,key"`                               // invoice city
	Country           string `json:"country" url:"country,key"`                         // country
	HerokuID          string `json:"heroku_id" url:"heroku_id,key"`                     // heroku_id identifier reference
	Other             string `json:"other" url:"other,key"`                             // metadata / additional information to go on invoice
	PostalCode        string `json:"postal_code" url:"postal_code,key"`                 // invoice zip code
	State             string `json:"state" url:"state,key"`                             // invoice state
	UseInvoiceAddress bool   `json:"use_invoice_address" url:"use_invoice_address,key"` // flag to use the invoice address for an account or not
}

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

type InvoiceAddressUpdateOpts

type InvoiceAddressUpdateOpts struct {
	Address1          *string `json:"address_1,omitempty" url:"address_1,omitempty,key"`                     // invoice street address line 1
	Address2          *string `json:"address_2,omitempty" url:"address_2,omitempty,key"`                     // invoice street address line 2
	City              *string `json:"city,omitempty" url:"city,omitempty,key"`                               // invoice city
	Country           *string `json:"country,omitempty" url:"country,omitempty,key"`                         // country
	Other             *string `json:"other,omitempty" url:"other,omitempty,key"`                             // metadata / additional information to go on invoice
	PostalCode        *string `json:"postal_code,omitempty" url:"postal_code,omitempty,key"`                 // invoice zip code
	State             *string `json:"state,omitempty" url:"state,omitempty,key"`                             // invoice state
	UseInvoiceAddress *bool   `json:"use_invoice_address,omitempty" url:"use_invoice_address,omitempty,key"` // flag to use the invoice address for an account or not
}

type InvoiceListResult

type InvoiceListResult []Invoice

type Key

type Key struct {
	Comment     string    `json:"comment" url:"comment,key"`         // comment on the key
	CreatedAt   time.Time `json:"created_at" url:"created_at,key"`   // when key was created
	Email       string    `json:"email" url:"email,key"`             // deprecated. Please refer to 'comment' instead
	Fingerprint string    `json:"fingerprint" url:"fingerprint,key"` // a unique identifying string based on contents
	ID          string    `json:"id" url:"id,key"`                   // unique identifier of this key
	PublicKey   string    `json:"public_key" url:"public_key,key"`   // full public_key as uploaded
	UpdatedAt   time.Time `json:"updated_at" url:"updated_at,key"`   // when key was updated
}

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

type KeyListResult

type KeyListResult []Key

type ListRange

type ListRange struct {
	Field      string
	Max        int
	Descending bool
	FirstID    string
	LastID     string
}

ListRange describes a range.

func (*ListRange) SetHeader

func (lr *ListRange) SetHeader(req *http.Request)

SetHeader set headers on the given Request.

type LogDrain

type LogDrain struct {
	Addon *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of add-on
		Name string `json:"name" url:"name,key"` // globally unique name of the add-on
	} `json:"addon" url:"addon,key"` // add-on that created the drain
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when log drain was created
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of this log drain
	Token     string    `json:"token" url:"token,key"`           // token associated with the log drain
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when log drain was updated
	URL       string    `json:"url" url:"url,key"`               // url associated with the log drain
}

[Log drains](https://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.

type LogDrainCreateOpts

type LogDrainCreateOpts struct {
	URL string `json:"url" url:"url,key"` // url associated with the log drain
}

type LogDrainListByAddOnResult

type LogDrainListByAddOnResult []LogDrain

type LogDrainListResult

type LogDrainListResult []LogDrain

type LogDrainUpdateOpts

type LogDrainUpdateOpts struct {
	URL string `json:"url" url:"url,key"` // url associated with the log drain
}

type LogSession

type LogSession struct {
	CreatedAt  time.Time `json:"created_at" url:"created_at,key"`   // when log connection was created
	ID         string    `json:"id" url:"id,key"`                   // unique identifier of this log session
	LogplexURL string    `json:"logplex_url" url:"logplex_url,key"` // URL for log streaming session
	UpdatedAt  time.Time `json:"updated_at" url:"updated_at,key"`   // when log session was updated
}

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

type LogSessionCreateOpts

type LogSessionCreateOpts struct {
	Dyno   *string `json:"dyno,omitempty" url:"dyno,omitempty,key"`     // dyno to limit results to
	Lines  *int    `json:"lines,omitempty" url:"lines,omitempty,key"`   // number of log lines to stream at once
	Source *string `json:"source,omitempty" url:"source,omitempty,key"` // log source to limit results to
	Tail   *bool   `json:"tail,omitempty" url:"tail,omitempty,key"`     // whether to stream ongoing logs
}

type OAuthAuthorization

type OAuthAuthorization struct {
	AccessToken *struct {
		ExpiresIn *int `json:"expires_in" url:"expires_in,key"` // seconds until OAuth token expires; may be `null` for tokens with
		// indefinite lifetime
		ID    string `json:"id" url:"id,key"`       // unique identifier of OAuth token
		Token string `json:"token" url:"token,key"` // contents of the token to be used for authorization
	} `json:"access_token" url:"access_token,key"` // access token for this authorization
	Client *struct {
		ID          string `json:"id" url:"id,key"`                     // unique identifier of this OAuth client
		Name        string `json:"name" url:"name,key"`                 // OAuth client name
		RedirectURI string `json:"redirect_uri" url:"redirect_uri,key"` // endpoint for redirection after authorization with OAuth client
	} `json:"client" url:"client,key"` // identifier of the client that obtained this authorization, if any
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when OAuth authorization was created
	Grant     *struct {
		Code      string `json:"code" url:"code,key"`             // grant code received from OAuth web application authorization
		ExpiresIn int    `json:"expires_in" url:"expires_in,key"` // seconds until OAuth grant expires
		ID        string `json:"id" url:"id,key"`                 // unique identifier of OAuth grant
	} `json:"grant" url:"grant,key"` // this authorization's grant
	ID           string `json:"id" url:"id,key"` // unique identifier of OAuth authorization
	RefreshToken *struct {
		ExpiresIn *int `json:"expires_in" url:"expires_in,key"` // seconds until OAuth token expires; may be `null` for tokens with
		// indefinite lifetime
		ID    string `json:"id" url:"id,key"`       // unique identifier of OAuth token
		Token string `json:"token" url:"token,key"` // contents of the token to be used for authorization
	} `json:"refresh_token" url:"refresh_token,key"` // refresh token for this authorization
	Scope     []string  `json:"scope" url:"scope,key"`           // The scope of access OAuth authorization allows
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when OAuth authorization was updated
	User      struct {
		Email    string  `json:"email" url:"email,key"`         // unique email address of account
		FullName *string `json:"full_name" url:"full_name,key"` // full name of the account owner
		ID       string  `json:"id" url:"id,key"`               // unique identifier of an account
	} `json:"user" url:"user,key"` // authenticated user associated with this authorization
}

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](https://devcenter.heroku.com/articles/oauth)

type OAuthAuthorizationCreateOpts

type OAuthAuthorizationCreateOpts struct {
	Client      *string `json:"client,omitempty" url:"client,omitempty,key"`           // unique identifier of this OAuth client
	Description *string `json:"description,omitempty" url:"description,omitempty,key"` // human-friendly description of this OAuth authorization
	ExpiresIn   *int    `json:"expires_in,omitempty" url:"expires_in,omitempty,key"`   // seconds until OAuth token expires; may be `null` for tokens with
	// indefinite lifetime
	Scope []string `json:"scope" url:"scope,key"` // The scope of access OAuth authorization allows
}

type OAuthAuthorizationListResult

type OAuthAuthorizationListResult []OAuthAuthorization

type OAuthClient

type OAuthClient struct {
	CreatedAt         time.Time `json:"created_at" url:"created_at,key"`                 // when OAuth client was created
	ID                string    `json:"id" url:"id,key"`                                 // unique identifier of this OAuth client
	IgnoresDelinquent *bool     `json:"ignores_delinquent" url:"ignores_delinquent,key"` // whether the client is still operable given a delinquent account
	Name              string    `json:"name" url:"name,key"`                             // OAuth client name
	RedirectURI       string    `json:"redirect_uri" url:"redirect_uri,key"`             // endpoint for redirection after authorization with OAuth client
	Secret            string    `json:"secret" url:"secret,key"`                         // secret used to obtain OAuth authorizations under this client
	UpdatedAt         time.Time `json:"updated_at" url:"updated_at,key"`                 // when OAuth client was updated
}

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](https://devcenter.heroku.com/articles/oauth).

type OAuthClientCreateOpts

type OAuthClientCreateOpts struct {
	Name        string `json:"name" url:"name,key"`                 // OAuth client name
	RedirectURI string `json:"redirect_uri" url:"redirect_uri,key"` // endpoint for redirection after authorization with OAuth client
}

type OAuthClientListResult

type OAuthClientListResult []OAuthClient

type OAuthClientUpdateOpts

type OAuthClientUpdateOpts struct {
	Name        *string `json:"name,omitempty" url:"name,omitempty,key"`                 // OAuth client name
	RedirectURI *string `json:"redirect_uri,omitempty" url:"redirect_uri,omitempty,key"` // endpoint for redirection after authorization with OAuth client
}

type OAuthGrant

type OAuthGrant struct{}

OAuth grants are used to obtain authorizations on behalf of a user. For more information please refer to the [Heroku OAuth documentation](https://devcenter.heroku.com/articles/oauth)

type OAuthToken

type OAuthToken struct {
	AccessToken struct {
		ExpiresIn *int `json:"expires_in" url:"expires_in,key"` // seconds until OAuth token expires; may be `null` for tokens with
		// indefinite lifetime
		ID    string `json:"id" url:"id,key"`       // unique identifier of OAuth token
		Token string `json:"token" url:"token,key"` // contents of the token to be used for authorization
	} `json:"access_token" url:"access_token,key"` // current access token
	Authorization struct {
		ID string `json:"id" url:"id,key"` // unique identifier of OAuth authorization
	} `json:"authorization" url:"authorization,key"` // authorization for this set of tokens
	Client *struct {
		Secret string `json:"secret" url:"secret,key"` // secret used to obtain OAuth authorizations under this client
	} `json:"client" url:"client,key"` // OAuth client secret used to obtain token
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when OAuth token was created
	Grant     struct {
		Code string `json:"code" url:"code,key"` // grant code received from OAuth web application authorization
		Type string `json:"type" url:"type,key"` // type of grant requested, one of `authorization_code` or

	} `json:"grant" url:"grant,key"` // grant used on the underlying authorization
	ID           string `json:"id" url:"id,key"` // unique identifier of OAuth token
	RefreshToken struct {
		ExpiresIn *int `json:"expires_in" url:"expires_in,key"` // seconds until OAuth token expires; may be `null` for tokens with
		// indefinite lifetime
		ID    string `json:"id" url:"id,key"`       // unique identifier of OAuth token
		Token string `json:"token" url:"token,key"` // contents of the token to be used for authorization
	} `json:"refresh_token" url:"refresh_token,key"` // refresh token for this authorization
	Session struct {
		ID string `json:"id" url:"id,key"` // unique identifier of OAuth token
	} `json:"session" url:"session,key"` // OAuth session using this token
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when OAuth token was updated
	User      struct {
		ID string `json:"id" url:"id,key"` // unique identifier of an account
	} `json:"user" url:"user,key"` // Reference to the user associated with this token
}

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](https://devcenter.heroku.com/articles/oauth)

type OAuthTokenCreateOpts

type OAuthTokenCreateOpts struct {
	Client struct {
		Secret *string `json:"secret,omitempty" url:"secret,omitempty,key"` // secret used to obtain OAuth authorizations under this client
	} `json:"client" url:"client,key"`
	Grant struct {
		Code *string `json:"code,omitempty" url:"code,omitempty,key"` // grant code received from OAuth web application authorization
		Type *string `json:"type,omitempty" url:"type,omitempty,key"` // type of grant requested, one of `authorization_code` or

	} `json:"grant" url:"grant,key"`
	RefreshToken struct {
		Token *string `json:"token,omitempty" url:"token,omitempty,key"` // contents of the token to be used for authorization
	} `json:"refresh_token" url:"refresh_token,key"`
}

type OutboundRuleset

type OutboundRuleset struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when outbound-ruleset was created
	CreatedBy string    `json:"created_by" url:"created_by,key"` // unique email address of account
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of an outbound-ruleset
	Rules     []struct {
		FromPort int    `json:"from_port" url:"from_port,key"` // an endpoint of communication in an operating system.
		Protocol string `json:"protocol" url:"protocol,key"`   // formal standards and policies comprised of rules, procedures and
		// formats that define communication between two or more devices over a
		// network
		Target string `json:"target" url:"target,key"`   // is the target destination in CIDR notation
		ToPort int    `json:"to_port" url:"to_port,key"` // an endpoint of communication in an operating system.
	} `json:"rules" url:"rules,key"`
	Space struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of space
		Name string `json:"name" url:"name,key"` // unique name of space
	} `json:"space" url:"space,key"` // identity of space
}

An outbound-ruleset is a collection of rules that specify what hosts Dynos are allowed to communicate with.

type OutboundRulesetCreateOpts

type OutboundRulesetCreateOpts struct {
	Rules []*struct {
		FromPort int    `json:"from_port" url:"from_port,key"` // an endpoint of communication in an operating system.
		Protocol string `json:"protocol" url:"protocol,key"`   // formal standards and policies comprised of rules, procedures and
		// formats that define communication between two or more devices over a
		// network
		Target string `json:"target" url:"target,key"`   // is the target destination in CIDR notation
		ToPort int    `json:"to_port" url:"to_port,key"` // an endpoint of communication in an operating system.
	} `json:"rules,omitempty" url:"rules,omitempty,key"`
}

type OutboundRulesetListResult

type OutboundRulesetListResult []OutboundRuleset

type PasswordReset

type PasswordReset struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when password reset was created
	User      struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"user" url:"user,key"`
}

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

type PasswordResetCompleteResetPasswordOpts

type PasswordResetCompleteResetPasswordOpts struct {
	Password             *string `json:"password,omitempty" url:"password,omitempty,key"`                           // current password on the account
	PasswordConfirmation *string `json:"password_confirmation,omitempty" url:"password_confirmation,omitempty,key"` // confirmation of the new password
}

type PasswordResetResetPasswordOpts

type PasswordResetResetPasswordOpts struct {
	Email *string `json:"email,omitempty" url:"email,omitempty,key"` // unique email address of account
}

type Peering

type Peering struct {
	AwsAccountID string    `json:"aws_account_id" url:"aws_account_id,key"` // The AWS account ID of your Private Space.
	AwsRegion    string    `json:"aws_region" url:"aws_region,key"`         // The AWS region of the peer connection.
	AwsVpcID     string    `json:"aws_vpc_id" url:"aws_vpc_id,key"`         // The AWS VPC ID of the peer.
	CIDRBlocks   []string  `json:"cidr_blocks" url:"cidr_blocks,key"`       // The CIDR blocks of the peer.
	Expires      time.Time `json:"expires" url:"expires,key"`               // When a peering connection will expire.
	PcxID        string    `json:"pcx_id" url:"pcx_id,key"`                 // The AWS VPC Peering Connection ID of the peering.
	Status       string    `json:"status" url:"status,key"`                 // The status of the peering connection.
	Type         string    `json:"type" url:"type,key"`                     // The type of peering connection.
}

Peering(https://devcenter.heroku.com/articles/private-space-peering)

provides a way to peer your Private Space VPC to another AWS VPC.

type PeeringInfo

type PeeringInfo struct {
	AwsAccountID          string   `json:"aws_account_id" url:"aws_account_id,key"`                   // The AWS account ID of your Private Space.
	AwsRegion             string   `json:"aws_region" url:"aws_region,key"`                           // region name used by provider
	DynoCIDRBlocks        []string `json:"dyno_cidr_blocks" url:"dyno_cidr_blocks,key"`               // The CIDR ranges that should be routed to the Private Space VPC.
	SpaceCIDRBlocks       []string `json:"space_cidr_blocks" url:"space_cidr_blocks,key"`             // The CIDR ranges that should be routed to the Private Space VPC.
	UnavailableCIDRBlocks []string `json:"unavailable_cidr_blocks" url:"unavailable_cidr_blocks,key"` // The CIDR ranges that you must not conflict with.
	VpcCIDR               string   `json:"vpc_cidr" url:"vpc_cidr,key"`                               // An IP address and the number of significant bits that make up the
	// routing or networking portion.
	VpcID string `json:"vpc_id" url:"vpc_id,key"` // The AWS VPC ID of the peer.
}

[Peering Info](https://devcenter.heroku.com/articles/private-space-peering) gives you the information necessary to peer an AWS VPC to a Private Space.

type PeeringListResult

type PeeringListResult []Peering

type PermissionEntity added in v5.2.0

type PermissionEntity struct {
	ID     string `json:"id" url:"id,key"`           // ID of the entity.
	Name   string `json:"name" url:"name,key"`       // Name of the entity.
	TeamID string `json:"team_id" url:"team_id,key"` // unique identifier of team
	Type   string `json:"type" url:"type,key"`       // The type of object the entity is referring to.
	Users  []struct {
		Email       string   `json:"email" url:"email,key"`             // unique email address of account
		ID          string   `json:"id" url:"id,key"`                   // unique identifier of an account
		Permissions []string `json:"permissions" url:"permissions,key"` // enterprise account permissions
	} `json:"users" url:"users,key"` // Users that have access to the entity.
}

An owned entity including users' permissions.

type PermissionEntityListResult added in v5.2.0

type PermissionEntityListResult []PermissionEntity

type Pipeline

type Pipeline struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when pipeline was created
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of pipeline
	Name      string    `json:"name" url:"name,key"`             // name of pipeline
	Owner     *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of a pipeline owner
		Type string `json:"type" url:"type,key"` // type of pipeline owner
	} `json:"owner" url:"owner,key"` // Owner of a pipeline.
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when pipeline was updated
}

A pipeline allows grouping of apps into different stages.

type PipelineBuild added in v5.2.0

type PipelineBuild struct{}

Information about latest builds of apps in a pipeline.

type PipelineBuildListResult added in v5.2.0

type PipelineBuildListResult []struct {
	App struct {
		ID string `json:"id" url:"id,key"` // unique identifier of app
	} `json:"app" url:"app,key"` // app that the build belongs to
	Buildpacks []struct {
		Name string `json:"name" url:"name,key"` // Buildpack Registry name of the buildpack for the app
		URL  string `json:"url" url:"url,key"`   // the URL of the buildpack for the app
	} `json:"buildpacks" url:"buildpacks,key"` // buildpacks executed for this build, in order
	CreatedAt       time.Time `json:"created_at" url:"created_at,key"`               // when build was created
	ID              string    `json:"id" url:"id,key"`                               // unique identifier of build
	OutputStreamURL string    `json:"output_stream_url" url:"output_stream_url,key"` // 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`).
	Release *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of release
	} `json:"release" url:"release,key"` // release resulting from the build
	Slug *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of slug
	} `json:"slug" url:"slug,key"` // slug created by this build
	SourceBlob struct {
		Checksum *string `json:"checksum" url:"checksum,key"` // an optional checksum of the gzipped tarball for verifying its
		// integrity
		URL string `json:"url" url:"url,key"` // URL where gzipped tar archive of source code for build was
		// downloaded.
		Version *string `json:"version" url:"version,key"` // Version of the gzipped tarball.
	} `json:"source_blob" url:"source_blob,key"` // location of gzipped tarball of source code used to create build
	Stack     string    `json:"stack" url:"stack,key"`           // stack of build
	Status    string    `json:"status" url:"status,key"`         // status of build
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when build was updated
	User      struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"user" url:"user,key"` // user that started the build
}

type PipelineConfigVar added in v5.2.0

type PipelineConfigVar map[string]string

Pipeline Config Vars allow you to manage the configuration information provided to a pipeline.

type PipelineConfigVarInfoForAppResult added in v5.2.0

type PipelineConfigVarInfoForAppResult map[string]*string

type PipelineConfigVarUpdateResult added in v5.2.0

type PipelineConfigVarUpdateResult map[string]*string

type PipelineCoupling

type PipelineCoupling struct {
	App struct {
		ID string `json:"id" url:"id,key"` // unique identifier of app
	} `json:"app" url:"app,key"` // app involved in the pipeline coupling
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when pipeline coupling was created
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of pipeline coupling
	Pipeline  struct {
		ID string `json:"id" url:"id,key"` // unique identifier of pipeline
	} `json:"pipeline" url:"pipeline,key"` // pipeline involved in the coupling
	Stage     string    `json:"stage" url:"stage,key"`           // target pipeline stage
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when pipeline coupling was updated
}

Information about an app's coupling to a pipeline

type PipelineCouplingCreateOpts

type PipelineCouplingCreateOpts struct {
	App      string `json:"app" url:"app,key"`           // unique identifier of app
	Pipeline string `json:"pipeline" url:"pipeline,key"` // unique identifier of pipeline
	Stage    string `json:"stage" url:"stage,key"`       // target pipeline stage
}

type PipelineCouplingListByCurrentUserResult added in v5.2.0

type PipelineCouplingListByCurrentUserResult []PipelineCoupling

type PipelineCouplingListByPipelineResult

type PipelineCouplingListByPipelineResult []PipelineCoupling

type PipelineCouplingListByTeamResult added in v5.2.0

type PipelineCouplingListByTeamResult []PipelineCoupling

type PipelineCouplingListResult

type PipelineCouplingListResult []PipelineCoupling

type PipelineCouplingUpdateOpts

type PipelineCouplingUpdateOpts struct {
	Stage *string `json:"stage,omitempty" url:"stage,omitempty,key"` // target pipeline stage
}

type PipelineCreateOpts

type PipelineCreateOpts struct {
	Name  string `json:"name" url:"name,key"` // name of pipeline
	Owner *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of a pipeline owner
		Type string `json:"type" url:"type,key"` // type of pipeline owner
	} `json:"owner,omitempty" url:"owner,omitempty,key"` // Owner of a pipeline.
}

type PipelineDeployment added in v5.2.0

type PipelineDeployment struct{}

Information about latest deployments of apps in a pipeline.

type PipelineDeploymentListResult added in v5.2.0

type PipelineDeploymentListResult []struct {
	AddonPlanNames []string `json:"addon_plan_names" url:"addon_plan_names,key"` // add-on plans installed on the app for this release
	App            struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app involved in the release
	CreatedAt       time.Time `json:"created_at" url:"created_at,key"`               // when release was created
	Current         bool      `json:"current" url:"current,key"`                     // indicates this release as being the current one for the app
	Description     string    `json:"description" url:"description,key"`             // description of changes in this release
	ID              string    `json:"id" url:"id,key"`                               // unique identifier of release
	OutputStreamURL *string   `json:"output_stream_url" url:"output_stream_url,key"` // Release command 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`).
	Slug *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of slug
	} `json:"slug" url:"slug,key"` // slug running in this release
	Status    string    `json:"status" url:"status,key"`         // current status of the release
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when release was updated
	User      struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"user" url:"user,key"` // user that created the release
	Version int `json:"version" url:"version,key"` // unique version assigned to the release
}

type PipelineListResult

type PipelineListResult []Pipeline

type PipelinePromotion

type PipelinePromotion struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when promotion was created
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of promotion
	Pipeline  struct {
		ID string `json:"id" url:"id,key"` // unique identifier of pipeline
	} `json:"pipeline" url:"pipeline,key"` // the pipeline which the promotion belongs to
	Source struct {
		App struct {
			ID string `json:"id" url:"id,key"` // unique identifier of app
		} `json:"app" url:"app,key"` // the app which was promoted from
		Release struct {
			ID string `json:"id" url:"id,key"` // unique identifier of release
		} `json:"release" url:"release,key"` // the release used to promoted from
	} `json:"source" url:"source,key"` // the app being promoted from
	Status    string     `json:"status" url:"status,key"`         // status of promotion
	UpdatedAt *time.Time `json:"updated_at" url:"updated_at,key"` // when promotion was updated
}

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

type PipelinePromotionCreateOpts

type PipelinePromotionCreateOpts struct {
	Pipeline struct {
		ID string `json:"id" url:"id,key"` // unique identifier of pipeline
	} `json:"pipeline" url:"pipeline,key"` // pipeline involved in the promotion
	Source struct {
		App *struct {
			ID *string `json:"id,omitempty" url:"id,omitempty,key"` // unique identifier of app
		} `json:"app,omitempty" url:"app,omitempty,key"` // the app which was promoted from
	} `json:"source" url:"source,key"` // the app being promoted from
	Targets []struct {
		App *struct {
			ID *string `json:"id,omitempty" url:"id,omitempty,key"` // unique identifier of app
		} `json:"app,omitempty" url:"app,omitempty,key"` // the app is being promoted to
	} `json:"targets" url:"targets,key"`
}

type PipelinePromotionTarget

type PipelinePromotionTarget struct {
	App struct {
		ID string `json:"id" url:"id,key"` // unique identifier of app
	} `json:"app" url:"app,key"` // the app which was promoted to
	ErrorMessage      *string `json:"error_message" url:"error_message,key"` // an error message for why the promotion failed
	ID                string  `json:"id" url:"id,key"`                       // unique identifier of promotion target
	PipelinePromotion struct {
		ID string `json:"id" url:"id,key"` // unique identifier of promotion
	} `json:"pipeline_promotion" url:"pipeline_promotion,key"` // the promotion which the target belongs to
	Release *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of release
	} `json:"release" url:"release,key"` // the release which was created on the target app
	Status string `json:"status" url:"status,key"` // status of promotion
}

Promotion targets represent an individual app being promoted to

type PipelinePromotionTargetListResult

type PipelinePromotionTargetListResult []PipelinePromotionTarget

type PipelineRelease added in v5.2.0

type PipelineRelease struct{}

Information about latest releases of apps in a pipeline.

type PipelineReleaseListResult added in v5.2.0

type PipelineReleaseListResult []struct {
	AddonPlanNames []string `json:"addon_plan_names" url:"addon_plan_names,key"` // add-on plans installed on the app for this release
	App            struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app involved in the release
	CreatedAt       time.Time `json:"created_at" url:"created_at,key"`               // when release was created
	Current         bool      `json:"current" url:"current,key"`                     // indicates this release as being the current one for the app
	Description     string    `json:"description" url:"description,key"`             // description of changes in this release
	ID              string    `json:"id" url:"id,key"`                               // unique identifier of release
	OutputStreamURL *string   `json:"output_stream_url" url:"output_stream_url,key"` // Release command 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`).
	Slug *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of slug
	} `json:"slug" url:"slug,key"` // slug running in this release
	Status    string    `json:"status" url:"status,key"`         // current status of the release
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when release was updated
	User      struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"user" url:"user,key"` // user that created the release
	Version int `json:"version" url:"version,key"` // unique version assigned to the release
}

type PipelineStack added in v5.2.0

type PipelineStack struct {
	Stack *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"stack" url:"stack,key"` // identity of the stack that will be used for new builds without a

}

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

type PipelineTransfer added in v5.2.0

type PipelineTransfer struct {
	NewOwner *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of a pipeline owner
		Type string `json:"type" url:"type,key"` // type of pipeline owner
	} `json:"new_owner" url:"new_owner,key"` // Owner of a pipeline.
	Pipeline struct {
		ID string `json:"id" url:"id,key"` // unique identifier of pipeline
	} `json:"pipeline" url:"pipeline,key"` // pipeline being transferred
	PreviousOwner *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of a pipeline owner
		Type string `json:"type" url:"type,key"` // type of pipeline owner
	} `json:"previous_owner" url:"previous_owner,key"` // Owner of a pipeline.
}

A pipeline transfer is the process of changing pipeline ownership along with the contained apps.

type PipelineTransferCreateOpts added in v5.2.0

type PipelineTransferCreateOpts struct {
	NewOwner struct {
		ID   *string `json:"id,omitempty" url:"id,omitempty,key"`     // unique identifier of a pipeline owner
		Type *string `json:"type,omitempty" url:"type,omitempty,key"` // type of pipeline owner
	} `json:"new_owner" url:"new_owner,key"` // New pipeline owner
	Pipeline struct {
		ID *string `json:"id,omitempty" url:"id,omitempty,key"` // unique identifier of pipeline
	} `json:"pipeline" url:"pipeline,key"` // The pipeline to transfer
}

type PipelineUpdateOpts

type PipelineUpdateOpts struct {
	Name *string `json:"name,omitempty" url:"name,omitempty,key"` // name of pipeline
}

type Plan

type Plan struct {
	AddonService struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this add-on-service
		Name string `json:"name" url:"name,key"` // unique name of this add-on-service
	} `json:"addon_service" url:"addon_service,key"` // identity of add-on service
	Compliance                       []string  `json:"compliance" url:"compliance,key"`                                                   // the compliance regimes applied to an add-on plan
	CreatedAt                        time.Time `json:"created_at" url:"created_at,key"`                                                   // when plan was created
	Default                          bool      `json:"default" url:"default,key"`                                                         // whether this plan is the default for its add-on service
	Description                      string    `json:"description" url:"description,key"`                                                 // description of plan
	HumanName                        string    `json:"human_name" url:"human_name,key"`                                                   // human readable name of the add-on plan
	ID                               string    `json:"id" url:"id,key"`                                                                   // unique identifier of this plan
	InstallableInsidePrivateNetwork  bool      `json:"installable_inside_private_network" url:"installable_inside_private_network,key"`   // whether this plan is installable to a Private Spaces app
	InstallableOutsidePrivateNetwork bool      `json:"installable_outside_private_network" url:"installable_outside_private_network,key"` // whether this plan is installable to a Common Runtime app
	Name                             string    `json:"name" url:"name,key"`                                                               // unique name of this plan
	Price                            struct {
		Cents    int    `json:"cents" url:"cents,key"`       // price in cents per unit of plan
		Contract bool   `json:"contract" url:"contract,key"` // price is negotiated in a contract outside of monthly add-on billing
		Unit     string `json:"unit" url:"unit,key"`         // unit of price for plan
	} `json:"price" url:"price,key"` // price
	SpaceDefault bool      `json:"space_default" url:"space_default,key"` // whether this plan is the default for apps in Private Spaces
	State        string    `json:"state" url:"state,key"`                 // release status for plan
	UpdatedAt    time.Time `json:"updated_at" url:"updated_at,key"`       // when plan was updated
	Visible      bool      `json:"visible" url:"visible,key"`             // whether this plan is publicly visible
}

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

type PlanListByAddOnResult

type PlanListByAddOnResult []Plan

type RateLimit

type RateLimit struct {
	Remaining int `json:"remaining" url:"remaining,key"` // allowed requests remaining in current interval
}

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

type Region

type Region struct {
	Country        string    `json:"country" url:"country,key"`                 // country where the region exists
	CreatedAt      time.Time `json:"created_at" url:"created_at,key"`           // when region was created
	Description    string    `json:"description" url:"description,key"`         // description of region
	ID             string    `json:"id" url:"id,key"`                           // unique identifier of region
	Locale         string    `json:"locale" url:"locale,key"`                   // area in the country where the region exists
	Name           string    `json:"name" url:"name,key"`                       // unique name of region
	PrivateCapable bool      `json:"private_capable" url:"private_capable,key"` // whether or not region is available for creating a Private Space
	Provider       struct {
		Name   string `json:"name" url:"name,key"`     // name of provider
		Region string `json:"region" url:"region,key"` // region name used by provider
	} `json:"provider" url:"provider,key"` // provider of underlying substrate
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when region was updated
}

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

type RegionListResult

type RegionListResult []Region

type Release

type Release struct {
	AddonPlanNames []string `json:"addon_plan_names" url:"addon_plan_names,key"` // add-on plans installed on the app for this release
	App            struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app involved in the release
	CreatedAt       time.Time `json:"created_at" url:"created_at,key"`               // when release was created
	Current         bool      `json:"current" url:"current,key"`                     // indicates this release as being the current one for the app
	Description     string    `json:"description" url:"description,key"`             // description of changes in this release
	ID              string    `json:"id" url:"id,key"`                               // unique identifier of release
	OutputStreamURL *string   `json:"output_stream_url" url:"output_stream_url,key"` // Release command 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`).
	Slug *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of slug
	} `json:"slug" url:"slug,key"` // slug running in this release
	Status    string    `json:"status" url:"status,key"`         // current status of the release
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when release was updated
	User      struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"user" url:"user,key"` // user that created the release
	Version int `json:"version" url:"version,key"` // unique version assigned to the release
}

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

type ReleaseCreateOpts

type ReleaseCreateOpts struct {
	Description *string `json:"description,omitempty" url:"description,omitempty,key"` // description of changes in this release
	Slug        string  `json:"slug" url:"slug,key"`                                   // unique identifier of slug
}

type ReleaseListResult

type ReleaseListResult []Release

type ReleaseRollbackOpts

type ReleaseRollbackOpts struct {
	Release string `json:"release" url:"release,key"` // unique identifier of release
}

type ReviewApp added in v5.2.0

type ReviewApp struct {
	App *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of app
	} `json:"app" url:"app,key"` // the Heroku app associated to this review app
	AppSetup *struct {
		ID string `json:"id" url:"id,key"` // unique identifier of app setup
	} `json:"app_setup" url:"app_setup,key"` // the app setup for this review app
	Branch      string    `json:"branch" url:"branch,key"`             // the branch of the repository which the review app is based on
	CreatedAt   time.Time `json:"created_at" url:"created_at,key"`     // when test run was created
	Creator     struct{}  `json:"creator" url:"creator,key"`           // The user who created the review app
	ErrorStatus *string   `json:"error_status" url:"error_status,key"` // error message from creating the review app if any
	ForkRepo    *struct {
		ID *int `json:"id" url:"id,key"` // repository id of the fork the branch resides in
	} `json:"fork_repo" url:"fork_repo,key"`
	ID       string  `json:"id" url:"id,key"`           // unique identifier of the review app
	Message  *string `json:"message" url:"message,key"` // message from creating the review app if any
	Pipeline struct {
		ID string `json:"id" url:"id,key"` // unique identifier of pipeline
	} `json:"pipeline" url:"pipeline,key"` // the pipeline which this review app belongs to
	PrNumber  *int      `json:"pr_number" url:"pr_number,key"`     // pull request number the review app is built for
	Status    string    `json:"status" url:"status,key"`           // current state of the review app
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"`   // when review app was updated
	WaitForCi bool      `json:"wait_for_ci" url:"wait_for_ci,key"` // wait for ci before building the app
}

An ephemeral app to review a set of changes

type ReviewAppConfig added in v5.2.0

type ReviewAppConfig struct {
	AutomaticReviewApps bool    `json:"automatic_review_apps" url:"automatic_review_apps,key"` // enable automatic review apps for pull requests
	BaseName            *string `json:"base_name" url:"base_name,key"`                         // A unique prefix that will be used to create review app names
	DeployTarget        *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of deploy target
		Type string `json:"type" url:"type,key"` // type of deploy target
	} `json:"deploy_target" url:"deploy_target,key"` // the deploy target for the review apps of a pipeline
	DestroyStaleApps bool `json:"destroy_stale_apps" url:"destroy_stale_apps,key"` // automatically destroy review apps when they haven't been deployed for
	// a number of days
	PipelineID string `json:"pipeline_id" url:"pipeline_id,key"` // unique identifier of pipeline
	Repo       struct {
		ID int `json:"id" url:"id,key"` // repository id
	} `json:"repo" url:"repo,key"`
	StaleDays int `json:"stale_days" url:"stale_days,key"` // number of days without a deployment after which to consider a review
	// app stale
	WaitForCi bool `json:"wait_for_ci" url:"wait_for_ci,key"` // If true, review apps are created only when CI passes
}

Review apps can be configured for pipelines.

type ReviewAppConfigEnableOpts added in v5.2.0

type ReviewAppConfigEnableOpts struct {
	AutomaticReviewApps *bool   `json:"automatic_review_apps,omitempty" url:"automatic_review_apps,omitempty,key"` // enable automatic review apps for pull requests
	BaseName            *string `json:"base_name,omitempty" url:"base_name,omitempty,key"`                         // A unique prefix that will be used to create review app names
	DeployTarget        *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of deploy target
		Type string `json:"type" url:"type,key"` // type of deploy target
	} `json:"deploy_target,omitempty" url:"deploy_target,omitempty,key"` // the deploy target for the review apps of a pipeline
	DestroyStaleApps *bool `json:"destroy_stale_apps,omitempty" url:"destroy_stale_apps,omitempty,key"` // automatically destroy review apps when they haven't been deployed for
	// a number of days
	Repo      string `json:"repo" url:"repo,key"`                                 // repository name
	StaleDays *int   `json:"stale_days,omitempty" url:"stale_days,omitempty,key"` // number of days without a deployment after which to consider a review
	// app stale
	WaitForCi *bool `json:"wait_for_ci,omitempty" url:"wait_for_ci,omitempty,key"` // If true, review apps are created only when CI passes
}

type ReviewAppConfigUpdateOpts added in v5.2.0

type ReviewAppConfigUpdateOpts struct {
	AutomaticReviewApps *bool   `json:"automatic_review_apps,omitempty" url:"automatic_review_apps,omitempty,key"` // enable automatic review apps for pull requests
	BaseName            *string `json:"base_name,omitempty" url:"base_name,omitempty,key"`                         // A unique prefix that will be used to create review app names
	DeployTarget        *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of deploy target
		Type string `json:"type" url:"type,key"` // type of deploy target
	} `json:"deploy_target,omitempty" url:"deploy_target,omitempty,key"` // the deploy target for the review apps of a pipeline
	DestroyStaleApps *bool `json:"destroy_stale_apps,omitempty" url:"destroy_stale_apps,omitempty,key"` // automatically destroy review apps when they haven't been deployed for
	// a number of days
	StaleDays *int `json:"stale_days,omitempty" url:"stale_days,omitempty,key"` // number of days without a deployment after which to consider a review
	// app stale
	WaitForCi *bool `json:"wait_for_ci,omitempty" url:"wait_for_ci,omitempty,key"` // If true, review apps are created only when CI passes
}

type ReviewAppCreateOpts added in v5.2.0

type ReviewAppCreateOpts struct {
	Branch      string             `json:"branch" url:"branch,key"`                                 // the branch of the repository which the review app is based on
	Environment map[string]*string `json:"environment,omitempty" url:"environment,omitempty,key"`   // hash of config vars
	ForkRepoID  *int               `json:"fork_repo_id,omitempty" url:"fork_repo_id,omitempty,key"` // repository id of the fork the branch resides in
	Pipeline    string             `json:"pipeline" url:"pipeline,key"`                             // unique identifier of pipeline
	PrNumber    *int               `json:"pr_number,omitempty" url:"pr_number,omitempty,key"`       // pull request number the review app is built for
	SourceBlob  struct {
		URL *string `json:"url,omitempty" url:"url,omitempty,key"` // URL where gzipped tar archive of source code for build was
		// downloaded.
		Version *string `json:"version,omitempty" url:"version,omitempty,key"` // The version number (or SHA) of the code to build.
	} `json:"source_blob" url:"source_blob,key"` // The download location for the review app's source code
}

type ReviewAppListResult added in v5.2.0

type ReviewAppListResult []ReviewApp

type RoundTripWithRetryBackoff

type RoundTripWithRetryBackoff struct {
	// Configuration fields for backoff.ExponentialBackOff
	InitialIntervalSeconds int64
	RandomizationFactor    float64
	Multiplier             float64
	MaxIntervalSeconds     int64
	// After MaxElapsedTime the ExponentialBackOff stops.
	// It never stops if MaxElapsedTime == 0.
	MaxElapsedTimeSeconds int64
}

net/http RoundTripper interface, a.k.a. Transport https://godoc.org/net/http#RoundTripper

func (RoundTripWithRetryBackoff) RoundTrip

func (r RoundTripWithRetryBackoff) RoundTrip(req *http.Request) (*http.Response, error)

type Service

type Service struct {
	URL string
	// contains filtered or unexported fields
}

Service represents your API.

func NewService

func NewService(c *http.Client) *Service

NewService creates a Service using the given, if none is provided it uses http.DefaultClient.

func (*Service) AccountDelete

func (s *Service) AccountDelete(ctx context.Context) (*Account, error)

Delete account. Note that this action cannot be undone. Note: This endpoint requires the HTTP_HEROKU_PASSWORD or HTTP_HEROKU_PASSWORD_BASE64 header be set correctly for the user account.

func (*Service) AccountDeleteByUser

func (s *Service) AccountDeleteByUser(ctx context.Context, accountIdentity string) (*Account, error)

Delete account. Note that this action cannot be undone. Note: This endpoint requires the HTTP_HEROKU_PASSWORD or HTTP_HEROKU_PASSWORD_BASE64 header be set correctly for the user account.

func (*Service) AccountFeatureInfo

func (s *Service) AccountFeatureInfo(ctx context.Context, accountFeatureIdentity string) (*AccountFeature, error)

Info for an existing account feature.

func (*Service) AccountFeatureList

func (s *Service) AccountFeatureList(ctx context.Context, lr *ListRange) (AccountFeatureListResult, error)

List existing account features.

func (*Service) AccountFeatureUpdate

func (s *Service) AccountFeatureUpdate(ctx context.Context, accountFeatureIdentity string, o AccountFeatureUpdateOpts) (*AccountFeature, error)

Update an existing account feature.

func (*Service) AccountInfo

func (s *Service) AccountInfo(ctx context.Context) (*Account, error)

Info for account.

func (*Service) AccountInfoByUser

func (s *Service) AccountInfoByUser(ctx context.Context, accountIdentity string) (*Account, error)

Info for account.

func (*Service) AccountUpdate

func (s *Service) AccountUpdate(ctx context.Context, o AccountUpdateOpts) (*Account, error)

Update account.

func (*Service) AccountUpdateByUser

func (s *Service) AccountUpdateByUser(ctx context.Context, accountIdentity string, o AccountUpdateByUserOpts) (*Account, error)

Update account.

func (*Service) AddOnActionDeprovision

func (s *Service) AddOnActionDeprovision(ctx context.Context, addOnIdentity string) (*AddOnActionDeprovisionResult, error)

Mark an add-on as deprovisioned.

func (*Service) AddOnActionProvision

func (s *Service) AddOnActionProvision(ctx context.Context, addOnIdentity string) (*AddOnActionProvisionResult, error)

Mark an add-on as provisioned for use.

func (*Service) AddOnAttachmentCreate

func (s *Service) AddOnAttachmentCreate(ctx context.Context, o AddOnAttachmentCreateOpts) (*AddOnAttachment, error)

Create a new add-on attachment.

func (*Service) AddOnAttachmentDelete

func (s *Service) AddOnAttachmentDelete(ctx context.Context, addOnAttachmentIdentity string) (*AddOnAttachment, error)

Delete an existing add-on attachment.

func (*Service) AddOnAttachmentInfo

func (s *Service) AddOnAttachmentInfo(ctx context.Context, addOnAttachmentIdentity string) (*AddOnAttachment, error)

Info for existing add-on attachment.

func (*Service) AddOnAttachmentInfoByApp

func (s *Service) AddOnAttachmentInfoByApp(ctx context.Context, appIdentity string, addOnAttachmentScopedIdentity string) (*AddOnAttachment, error)

Info for existing add-on attachment for an app.

func (*Service) AddOnAttachmentList

func (s *Service) AddOnAttachmentList(ctx context.Context, lr *ListRange) (AddOnAttachmentListResult, error)

List existing add-on attachments.

func (*Service) AddOnAttachmentListByAddOn

func (s *Service) AddOnAttachmentListByAddOn(ctx context.Context, addOnIdentity string, lr *ListRange) (AddOnAttachmentListByAddOnResult, error)

List existing add-on attachments for an add-on.

func (*Service) AddOnAttachmentListByApp

func (s *Service) AddOnAttachmentListByApp(ctx context.Context, appIdentity string, lr *ListRange) (AddOnAttachmentListByAppResult, error)

List existing add-on attachments for an app.

func (*Service) AddOnAttachmentResolution

Resolve an add-on attachment from a name, optionally passing an app name. If there are matches it returns at least one add-on attachment (exact match) or many.

func (*Service) AddOnConfigList

func (s *Service) AddOnConfigList(ctx context.Context, addOnIdentity string, lr *ListRange) (AddOnConfigListResult, error)

Get an add-on's config. Accessible by customers with access and by the add-on partner providing this add-on.

func (*Service) AddOnConfigUpdate

func (s *Service) AddOnConfigUpdate(ctx context.Context, addOnIdentity string, o AddOnConfigUpdateOpts) (AddOnConfigUpdateResult, error)

Update an add-on's config. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnCreate

func (s *Service) AddOnCreate(ctx context.Context, appIdentity string, o AddOnCreateOpts) (*AddOn, error)

Create a new add-on.

func (*Service) AddOnDelete

func (s *Service) AddOnDelete(ctx context.Context, appIdentity string, addOnIdentity string) (*AddOn, error)

Delete an existing add-on.

func (*Service) AddOnInfo

func (s *Service) AddOnInfo(ctx context.Context, addOnIdentity string) (*AddOn, error)

Info for an existing add-on.

func (*Service) AddOnInfoByApp

func (s *Service) AddOnInfoByApp(ctx context.Context, appIdentity string, addOnIdentity string) (*AddOn, error)

Info for an existing add-on.

func (*Service) AddOnList

func (s *Service) AddOnList(ctx context.Context, lr *ListRange) (AddOnListResult, error)

List all existing add-ons.

func (*Service) AddOnListByApp

func (s *Service) AddOnListByApp(ctx context.Context, appIdentity string, lr *ListRange) (AddOnListByAppResult, error)

List existing add-ons for an app.

func (*Service) AddOnListByTeam

func (s *Service) AddOnListByTeam(ctx context.Context, teamIdentity string, lr *ListRange) (AddOnListByTeamResult, error)

List add-ons used across all Team apps

func (*Service) AddOnListByUser

func (s *Service) AddOnListByUser(ctx context.Context, accountIdentity string, lr *ListRange) (AddOnListByUserResult, error)

List all existing add-ons a user has access to

func (*Service) AddOnRegionCapabilityList

func (s *Service) AddOnRegionCapabilityList(ctx context.Context, lr *ListRange) (AddOnRegionCapabilityListResult, error)

List all existing add-on region capabilities.

func (*Service) AddOnRegionCapabilityListByAddOnService

func (s *Service) AddOnRegionCapabilityListByAddOnService(ctx context.Context, addOnServiceIdentity string, lr *ListRange) (AddOnRegionCapabilityListByAddOnServiceResult, error)

List existing add-on region capabilities for an add-on-service

func (*Service) AddOnRegionCapabilityListByRegion

func (s *Service) AddOnRegionCapabilityListByRegion(ctx context.Context, regionIdentity string, lr *ListRange) (AddOnRegionCapabilityListByRegionResult, error)

List existing add-on region capabilities for a region.

func (*Service) AddOnResolution

func (s *Service) AddOnResolution(ctx context.Context, o AddOnResolutionOpts) (AddOnResolutionResult, error)

Resolve an add-on from a name, optionally passing an app name. If there are matches it returns at least one add-on (exact match) or many.

func (*Service) AddOnServiceInfo

func (s *Service) AddOnServiceInfo(ctx context.Context, addOnServiceIdentity string) (*AddOnService, error)

Info for existing add-on-service.

func (*Service) AddOnServiceList

func (s *Service) AddOnServiceList(ctx context.Context, lr *ListRange) (AddOnServiceListResult, error)

List existing add-on-services.

func (*Service) AddOnUpdate

func (s *Service) AddOnUpdate(ctx context.Context, appIdentity string, addOnIdentity string, o AddOnUpdateOpts) (*AddOn, error)

Change add-on plan. Some add-ons may not support changing plans. In that case, an error will be returned.

func (*Service) AddOnWebhookCreate

func (s *Service) AddOnWebhookCreate(ctx context.Context, addOnIdentity string, o AddOnWebhookCreateOpts) (*AddOnWebhookCreateResult, error)

Create an add-on webhook subscription. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnWebhookDelete

func (s *Service) AddOnWebhookDelete(ctx context.Context, addOnIdentity string, appWebhookIdentity string) (*AddOnWebhookDeleteResult, error)

Removes an add-on webhook subscription. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnWebhookDeliveryInfo

func (s *Service) AddOnWebhookDeliveryInfo(ctx context.Context, addOnIdentity string, appWebhookDeliveryIdentity string) (*AddOnWebhookDeliveryInfoResult, error)

Returns the info for an existing delivery. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnWebhookDeliveryList

func (s *Service) AddOnWebhookDeliveryList(ctx context.Context, addOnIdentity string, lr *ListRange) (AddOnWebhookDeliveryListResult, error)

Lists existing deliveries for an add-on. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnWebhookEventInfo

func (s *Service) AddOnWebhookEventInfo(ctx context.Context, addOnIdentity string, appWebhookEventIdentity string) (*AddOnWebhookEventInfoResult, error)

Returns the info for a specified webhook event. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnWebhookEventList

func (s *Service) AddOnWebhookEventList(ctx context.Context, addOnIdentity string, lr *ListRange) (AddOnWebhookEventListResult, error)

Lists existing webhook events for an add-on. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnWebhookInfo

func (s *Service) AddOnWebhookInfo(ctx context.Context, addOnIdentity string, appWebhookIdentity string) (*AddOnWebhookInfoResult, error)

Returns the info for an add-on webhook subscription. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnWebhookList

func (s *Service) AddOnWebhookList(ctx context.Context, addOnIdentity string, lr *ListRange) (AddOnWebhookListResult, error)

List all webhook subscriptions for a particular add-on. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AddOnWebhookUpdate

func (s *Service) AddOnWebhookUpdate(ctx context.Context, addOnIdentity string, appWebhookIdentity string, o AddOnWebhookUpdateOpts) (*AddOnWebhookUpdateResult, error)

Updates the details of an add-on webhook subscription. Can only be accessed by the add-on partner providing this add-on.

func (*Service) AllowedAddOnServiceCreateByTeam added in v5.2.1

func (s *Service) AllowedAddOnServiceCreateByTeam(ctx context.Context, teamIdentity string, o AllowedAddOnServiceCreateByTeamOpts) (AllowedAddOnServiceCreateByTeamResult, error)

Allow an Add-on Service

func (*Service) AllowedAddOnServiceDeleteByTeam added in v5.2.1

func (s *Service) AllowedAddOnServiceDeleteByTeam(ctx context.Context, teamIdentity string, allowedAddOnServiceIdentity string) (*AllowedAddOnService, error)

Remove an allowed add-on service

func (*Service) AllowedAddOnServiceListByTeam added in v5.2.1

func (s *Service) AllowedAddOnServiceListByTeam(ctx context.Context, teamIdentity string, lr *ListRange) (AllowedAddOnServiceListByTeamResult, error)

List all allowed add-on services for a team

func (*Service) AppCreate

func (s *Service) AppCreate(ctx context.Context, o AppCreateOpts) (*App, error)

Create a new app.

func (*Service) AppDelete

func (s *Service) AppDelete(ctx context.Context, appIdentity string) (*App, error)

Delete an existing app.

func (*Service) AppDisableACM

func (s *Service) AppDisableACM(ctx context.Context, appIdentity string) (*App, error)

Disable ACM flag for an app

func (*Service) AppEnableACM

func (s *Service) AppEnableACM(ctx context.Context, appIdentity string) (*App, error)

Enable ACM flag for an app

func (*Service) AppFeatureInfo

func (s *Service) AppFeatureInfo(ctx context.Context, appIdentity string, appFeatureIdentity string) (*AppFeature, error)

Info for an existing app feature.

func (*Service) AppFeatureList

func (s *Service) AppFeatureList(ctx context.Context, appIdentity string, lr *ListRange) (AppFeatureListResult, error)

List existing app features.

func (*Service) AppFeatureUpdate

func (s *Service) AppFeatureUpdate(ctx context.Context, appIdentity string, appFeatureIdentity string, o AppFeatureUpdateOpts) (*AppFeature, error)

Update an existing app feature.

func (*Service) AppInfo

func (s *Service) AppInfo(ctx context.Context, appIdentity string) (*App, error)

Info for existing app.

func (*Service) AppList

func (s *Service) AppList(ctx context.Context, lr *ListRange) (AppListResult, error)

List existing apps.

func (*Service) AppListOwnedAndCollaborated

func (s *Service) AppListOwnedAndCollaborated(ctx context.Context, accountIdentity string, lr *ListRange) (AppListOwnedAndCollaboratedResult, error)

List owned and collaborated apps (excludes team apps).

func (*Service) AppRefreshACM

func (s *Service) AppRefreshACM(ctx context.Context, appIdentity string) (*App, error)

Refresh ACM for an app

func (*Service) AppSetupCreate

func (s *Service) AppSetupCreate(ctx context.Context, o AppSetupCreateOpts) (*AppSetup, error)

Create a new app setup from a gzipped tar archive containing an app.json manifest file.

func (*Service) AppSetupInfo

func (s *Service) AppSetupInfo(ctx context.Context, appSetupIdentity string) (*AppSetup, error)

Get the status of an app setup.

func (*Service) AppTransferCreate

func (s *Service) AppTransferCreate(ctx context.Context, o AppTransferCreateOpts) (*AppTransfer, error)

Create a new app transfer.

func (*Service) AppTransferDelete

func (s *Service) AppTransferDelete(ctx context.Context, appTransferIdentity string) (*AppTransfer, error)

Delete an existing app transfer

func (*Service) AppTransferInfo

func (s *Service) AppTransferInfo(ctx context.Context, appTransferIdentity string) (*AppTransfer, error)

Info for existing app transfer.

func (*Service) AppTransferList

func (s *Service) AppTransferList(ctx context.Context, lr *ListRange) (AppTransferListResult, error)

List existing apps transfers.

func (*Service) AppTransferUpdate

func (s *Service) AppTransferUpdate(ctx context.Context, appTransferIdentity string, o AppTransferUpdateOpts) (*AppTransfer, error)

Update an existing app transfer.

func (*Service) AppUpdate

func (s *Service) AppUpdate(ctx context.Context, appIdentity string, o AppUpdateOpts) (*App, error)

Update an existing app.

func (*Service) AppWebhookCreate

func (s *Service) AppWebhookCreate(ctx context.Context, appIdentity string, o AppWebhookCreateOpts) (*AppWebhookCreateResult, error)

Create an app webhook subscription.

func (*Service) AppWebhookDelete

func (s *Service) AppWebhookDelete(ctx context.Context, appIdentity string, appWebhookIdentity string) (*AppWebhookDeleteResult, error)

Removes an app webhook subscription.

func (*Service) AppWebhookDeliveryInfo

func (s *Service) AppWebhookDeliveryInfo(ctx context.Context, appIdentity string, appWebhookDeliveryIdentity string) (*AppWebhookDelivery, error)

Returns the info for an existing delivery.

func (*Service) AppWebhookDeliveryList

func (s *Service) AppWebhookDeliveryList(ctx context.Context, appIdentity string, lr *ListRange) (AppWebhookDeliveryListResult, error)

Lists existing deliveries for an app.

func (*Service) AppWebhookEventInfo

func (s *Service) AppWebhookEventInfo(ctx context.Context, appIdentity string, appWebhookEventIdentity string) (*AppWebhookEvent, error)

Returns the info for a specified webhook event.

func (*Service) AppWebhookEventList

func (s *Service) AppWebhookEventList(ctx context.Context, appIdentity string, lr *ListRange) (AppWebhookEventListResult, error)

Lists existing webhook events for an app.

func (*Service) AppWebhookInfo

func (s *Service) AppWebhookInfo(ctx context.Context, appIdentity string, appWebhookIdentity string) (*AppWebhookInfoResult, error)

Returns the info for an app webhook subscription.

func (*Service) AppWebhookList

func (s *Service) AppWebhookList(ctx context.Context, appIdentity string, lr *ListRange) (AppWebhookListResult, error)

List all webhook subscriptions for a particular app.

func (*Service) AppWebhookUpdate

func (s *Service) AppWebhookUpdate(ctx context.Context, appIdentity string, appWebhookIdentity string, o AppWebhookUpdateOpts) (*AppWebhookUpdateResult, error)

Updates the details of an app webhook subscription.

func (*Service) ArchiveInfo added in v5.2.0

func (s *Service) ArchiveInfo(ctx context.Context, enterpriseAccountIdentity string, archiveYear int, archiveMonth string) (*Archive, error)

Get archive for a single month.

func (*Service) ArchiveList added in v5.2.0

func (s *Service) ArchiveList(ctx context.Context, enterpriseAccountIdentity string, lr *ListRange) (*Archive, error)

List existing archives.

func (*Service) AuditTrailEventList added in v5.2.1

func (s *Service) AuditTrailEventList(ctx context.Context, enterpriseAccountIdentity string, lr *ListRange) (*AuditTrailEvent, error)

List existing events. Returns all events for one day, defaulting to current day. Order, actor, action, and type, and day query params can be specified as query parameters. For example, '/enterprise-accounts/:id/events?order=desc&actor=user@example.com&act ion=create&type=app&day=2020-09-30' would return events in descending order and only return app created events by the user with user@example.com email address.

func (*Service) BuildCreate

func (s *Service) BuildCreate(ctx context.Context, appIdentity string, o BuildCreateOpts) (*Build, error)

Create a new build.

func (*Service) BuildDeleteCache

func (s *Service) BuildDeleteCache(ctx context.Context, appIdentity string) (*Build, error)

Destroy a build cache.

func (*Service) BuildInfo

func (s *Service) BuildInfo(ctx context.Context, appIdentity string, buildIdentity string) (*Build, error)

Info for existing build.

func (*Service) BuildList

func (s *Service) BuildList(ctx context.Context, appIdentity string, lr *ListRange) (BuildListResult, error)

List existing build.

func (*Service) BuildpackInstallationList

func (s *Service) BuildpackInstallationList(ctx context.Context, appIdentity string, lr *ListRange) (BuildpackInstallationListResult, error)

List an app's existing buildpack installations.

func (*Service) BuildpackInstallationUpdate

func (s *Service) BuildpackInstallationUpdate(ctx context.Context, appIdentity string, o BuildpackInstallationUpdateOpts) (BuildpackInstallationUpdateResult, error)

Update an app's buildpack installations.

func (*Service) CollaboratorCreate

func (s *Service) CollaboratorCreate(ctx context.Context, appIdentity string, o CollaboratorCreateOpts) (*Collaborator, error)

Create a new collaborator.

func (*Service) CollaboratorDelete

func (s *Service) CollaboratorDelete(ctx context.Context, appIdentity string, collaboratorIdentity string) (*Collaborator, error)

Delete an existing collaborator.

func (*Service) CollaboratorInfo

func (s *Service) CollaboratorInfo(ctx context.Context, appIdentity string, collaboratorIdentity string) (*Collaborator, error)

Info for existing collaborator.

func (*Service) CollaboratorList

func (s *Service) CollaboratorList(ctx context.Context, appIdentity string, lr *ListRange) (CollaboratorListResult, error)

List existing collaborators.

func (*Service) ConfigVarInfoForApp

func (s *Service) ConfigVarInfoForApp(ctx context.Context, appIdentity string) (ConfigVarInfoForAppResult, error)

Get config-vars for app.

func (*Service) ConfigVarInfoForAppRelease

func (s *Service) ConfigVarInfoForAppRelease(ctx context.Context, appIdentity string, releaseIdentity string) (ConfigVarInfoForAppReleaseResult, error)

Get config-vars for a release.

func (*Service) ConfigVarUpdate

func (s *Service) ConfigVarUpdate(ctx context.Context, appIdentity string, o map[string]*string) (ConfigVarUpdateResult, error)

Update config-vars for app. You can update existing config-vars by setting them again, and remove by setting it to `null`.

func (*Service) CreditCreate

func (s *Service) CreditCreate(ctx context.Context, o CreditCreateOpts) (*Credit, error)

Create a new credit.

func (*Service) CreditInfo

func (s *Service) CreditInfo(ctx context.Context, creditIdentity string) (*Credit, error)

Info for existing credit.

func (*Service) CreditList

func (s *Service) CreditList(ctx context.Context, lr *ListRange) (CreditListResult, error)

List existing credits.

func (*Service) Delete

func (s *Service) Delete(ctx context.Context, v interface{}, path string) error

Delete sends a DELETE request.

func (*Service) Do

func (s *Service) Do(ctx context.Context, v interface{}, method, path string, body interface{}, q interface{}, lr *ListRange) error

Do sends a request and decodes the response into v.

func (*Service) DomainCreate

func (s *Service) DomainCreate(ctx context.Context, appIdentity string, o DomainCreateOpts) (*Domain, error)

Create a new domain.

func (*Service) DomainDelete

func (s *Service) DomainDelete(ctx context.Context, appIdentity string, domainIdentity string) (*Domain, error)

Delete an existing domain

func (*Service) DomainInfo

func (s *Service) DomainInfo(ctx context.Context, appIdentity string, domainIdentity string) (*Domain, error)

Info for existing domain.

func (*Service) DomainList

func (s *Service) DomainList(ctx context.Context, appIdentity string, lr *ListRange) (DomainListResult, error)

List existing domains.

func (*Service) DomainUpdate added in v5.2.1

func (s *Service) DomainUpdate(ctx context.Context, appIdentity string, domainIdentity string, o DomainUpdateOpts) (*Domain, error)

Associate an SNI endpoint

func (*Service) DynoCreate

func (s *Service) DynoCreate(ctx context.Context, appIdentity string, o DynoCreateOpts) (*Dyno, error)

Create a new dyno.

func (*Service) DynoInfo

func (s *Service) DynoInfo(ctx context.Context, appIdentity string, dynoIdentity string) (*Dyno, error)

Info for existing dyno.

func (*Service) DynoList

func (s *Service) DynoList(ctx context.Context, appIdentity string, lr *ListRange) (DynoListResult, error)

List existing dynos.

func (*Service) DynoRestart

func (s *Service) DynoRestart(ctx context.Context, appIdentity string, dynoIdentity string) (DynoRestartResult, error)

Restart dyno.

func (*Service) DynoRestartAll

func (s *Service) DynoRestartAll(ctx context.Context, appIdentity string) (DynoRestartAllResult, error)

Restart all dynos.

func (*Service) DynoSizeInfo

func (s *Service) DynoSizeInfo(ctx context.Context, dynoSizeIdentity string) (*DynoSize, error)

Info for existing dyno size.

func (*Service) DynoSizeList

func (s *Service) DynoSizeList(ctx context.Context, lr *ListRange) (DynoSizeListResult, error)

List existing dyno sizes.

func (*Service) DynoStop

func (s *Service) DynoStop(ctx context.Context, appIdentity string, dynoIdentity string) (DynoStopResult, error)

Stop dyno.

func (*Service) EnterpriseAccountDailyUsageInfo added in v5.3.0

func (s *Service) EnterpriseAccountDailyUsageInfo(ctx context.Context, enterpriseAccountID string, o EnterpriseAccountDailyUsageInfoOpts, lr *ListRange) (EnterpriseAccountDailyUsageInfoResult, error)

Retrieves usage for an enterprise account for a range of days. Start and end dates can be specified as query parameters using the date format YYYY-MM-DD. The enterprise account identifier can be found from the [enterprise account list](https://devcenter.heroku.com/articles/platform-api-reference#ent erprise-account-list).

func (*Service) EnterpriseAccountInfo added in v5.2.0

func (s *Service) EnterpriseAccountInfo(ctx context.Context, enterpriseAccountIdentity string) (*EnterpriseAccount, error)

Information about an enterprise account.

func (*Service) EnterpriseAccountList added in v5.2.0

func (s *Service) EnterpriseAccountList(ctx context.Context, lr *ListRange) (EnterpriseAccountListResult, error)

List enterprise accounts in which you are a member.

func (*Service) EnterpriseAccountMemberCreate added in v5.2.0

func (s *Service) EnterpriseAccountMemberCreate(ctx context.Context, enterpriseAccountIdentity string, o EnterpriseAccountMemberCreateOpts) (*EnterpriseAccountMember, error)

Create a member in an enterprise account.

func (*Service) EnterpriseAccountMemberDelete added in v5.2.0

func (s *Service) EnterpriseAccountMemberDelete(ctx context.Context, enterpriseAccountIdentity string, enterpriseAccountMemberUserIdentity string) (*EnterpriseAccountMember, error)

delete a member in an enterprise account.

func (*Service) EnterpriseAccountMemberList added in v5.2.0

func (s *Service) EnterpriseAccountMemberList(ctx context.Context, enterpriseAccountIdentity string, lr *ListRange) (EnterpriseAccountMemberListResult, error)

List members in an enterprise account.

func (*Service) EnterpriseAccountMemberUpdate added in v5.2.0

func (s *Service) EnterpriseAccountMemberUpdate(ctx context.Context, enterpriseAccountIdentity string, enterpriseAccountMemberUserIdentity string, o EnterpriseAccountMemberUpdateOpts) (*EnterpriseAccountMember, error)

Update a member in an enterprise account.

func (*Service) EnterpriseAccountMonthlyUsageInfo added in v5.3.0

func (s *Service) EnterpriseAccountMonthlyUsageInfo(ctx context.Context, enterpriseAccountID string, o EnterpriseAccountMonthlyUsageInfoOpts, lr *ListRange) (EnterpriseAccountMonthlyUsageInfoResult, error)

Retrieves usage for an enterprise account for a range of months. Start and end dates can be specified as query parameters using the date format YYYY-MM. If no end date is specified, one month of usage is returned. The enterprise account identifier can be found from the [enterprise account list](https://devcenter.heroku.com/articles/platform-api-reference#ent erprise-account-list).

func (*Service) EnterpriseAccountUpdate added in v5.2.0

func (s *Service) EnterpriseAccountUpdate(ctx context.Context, enterpriseAccountIdentity string, o EnterpriseAccountUpdateOpts) (*EnterpriseAccount, error)

Update enterprise account properties

func (*Service) FilterAppsApps

func (s *Service) FilterAppsApps(ctx context.Context, o FilterAppsAppsOpts) (FilterAppsAppsResult, error)

Request an apps list filtered by app id.

func (*Service) FormationBatchUpdate

func (s *Service) FormationBatchUpdate(ctx context.Context, appIdentity string, o FormationBatchUpdateOpts) (FormationBatchUpdateResult, error)

Batch update process types

func (*Service) FormationInfo

func (s *Service) FormationInfo(ctx context.Context, appIdentity string, formationIdentity string) (*Formation, error)

Info for a process type

func (*Service) FormationList

func (s *Service) FormationList(ctx context.Context, appIdentity string, lr *ListRange) (FormationListResult, error)

List process type formation

func (*Service) FormationUpdate

func (s *Service) FormationUpdate(ctx context.Context, appIdentity string, formationIdentity string, o FormationUpdateOpts) (*Formation, error)

Update process type

func (*Service) Get

func (s *Service) Get(ctx context.Context, v interface{}, path string, query interface{}, lr *ListRange) error

Get sends a GET request and decodes the response into v.

func (*Service) IdentityProviderCreateByTeam

func (s *Service) IdentityProviderCreateByTeam(ctx context.Context, teamName string, o IdentityProviderCreateByTeamOpts) (*IdentityProvider, error)

Create an Identity Provider for a team

func (*Service) IdentityProviderDeleteByTeam

func (s *Service) IdentityProviderDeleteByTeam(ctx context.Context, teamName string, identityProviderID string) (*IdentityProvider, error)

Delete a team's Identity Provider

func (*Service) IdentityProviderListByTeam

func (s *Service) IdentityProviderListByTeam(ctx context.Context, teamName string, lr *ListRange) (IdentityProviderListByTeamResult, error)

Get a list of a team's Identity Providers

func (*Service) IdentityProviderUpdateByTeam

func (s *Service) IdentityProviderUpdateByTeam(ctx context.Context, teamName string, identityProviderID string, o IdentityProviderUpdateByTeamOpts) (*IdentityProvider, error)

Update a team's Identity Provider

func (*Service) InboundRulesetCreate

func (s *Service) InboundRulesetCreate(ctx context.Context, spaceIdentity string, o InboundRulesetCreateOpts) (*InboundRuleset, error)

Create a new inbound ruleset

func (*Service) InboundRulesetCurrent

func (s *Service) InboundRulesetCurrent(ctx context.Context, spaceIdentity string) (*InboundRuleset, error)

Current inbound ruleset for a space

func (*Service) InboundRulesetInfo

func (s *Service) InboundRulesetInfo(ctx context.Context, spaceIdentity string, inboundRulesetIdentity string) (*InboundRuleset, error)

Info on an existing Inbound Ruleset

func (*Service) InboundRulesetList

func (s *Service) InboundRulesetList(ctx context.Context, spaceIdentity string, lr *ListRange) (InboundRulesetListResult, error)

List all inbound rulesets for a space

func (*Service) InvoiceAddressInfo

func (s *Service) InvoiceAddressInfo(ctx context.Context) (*InvoiceAddress, error)

Retrieve existing invoice address.

func (*Service) InvoiceAddressUpdate

func (s *Service) InvoiceAddressUpdate(ctx context.Context, o InvoiceAddressUpdateOpts) (*InvoiceAddress, error)

Update invoice address for an account.

func (*Service) InvoiceInfo

func (s *Service) InvoiceInfo(ctx context.Context, invoiceIdentity int) (*Invoice, error)

Info for existing invoice.

func (*Service) InvoiceList

func (s *Service) InvoiceList(ctx context.Context, lr *ListRange) (InvoiceListResult, error)

List existing invoices.

func (*Service) KeyInfo

func (s *Service) KeyInfo(ctx context.Context, keyIdentity string) (*Key, error)

Info for existing key.

func (*Service) KeyList

func (s *Service) KeyList(ctx context.Context, lr *ListRange) (KeyListResult, error)

List existing keys.

func (*Service) LogDrainCreate

func (s *Service) LogDrainCreate(ctx context.Context, appIdentity string, o LogDrainCreateOpts) (*LogDrain, error)

Create a new log drain.

func (*Service) LogDrainDelete

func (s *Service) LogDrainDelete(ctx context.Context, appIdentity string, logDrainQueryIdentity string) (*LogDrain, error)

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

func (*Service) LogDrainInfo

func (s *Service) LogDrainInfo(ctx context.Context, appIdentity string, logDrainQueryIdentity string) (*LogDrain, error)

Info for existing log drain.

func (*Service) LogDrainList

func (s *Service) LogDrainList(ctx context.Context, appIdentity string, lr *ListRange) (LogDrainListResult, error)

List existing log drains.

func (*Service) LogDrainListByAddOn

func (s *Service) LogDrainListByAddOn(ctx context.Context, addOnIdentity string, lr *ListRange) (LogDrainListByAddOnResult, error)

List existing log drains for an add-on.

func (*Service) LogDrainUpdate

func (s *Service) LogDrainUpdate(ctx context.Context, addOnIdentity string, logDrainQueryIdentity string, o LogDrainUpdateOpts) (*LogDrain, error)

Update an add-on owned log drain.

func (*Service) LogSessionCreate

func (s *Service) LogSessionCreate(ctx context.Context, appIdentity string, o LogSessionCreateOpts) (*LogSession, error)

Create a new log session.

func (*Service) NewRequest

func (s *Service) NewRequest(ctx context.Context, method, path string, body interface{}, q interface{}) (*http.Request, error)

NewRequest generates an HTTP request, but does not perform the request.

func (*Service) OAuthAuthorizationCreate

func (s *Service) OAuthAuthorizationCreate(ctx context.Context, o OAuthAuthorizationCreateOpts) (*OAuthAuthorization, error)

Create a new OAuth authorization.

func (*Service) OAuthAuthorizationDelete

func (s *Service) OAuthAuthorizationDelete(ctx context.Context, oauthAuthorizationIdentity string) (*OAuthAuthorization, error)

Delete OAuth authorization.

func (*Service) OAuthAuthorizationInfo

func (s *Service) OAuthAuthorizationInfo(ctx context.Context, oauthAuthorizationIdentity string) (*OAuthAuthorization, error)

Info for an OAuth authorization.

func (*Service) OAuthAuthorizationList

func (s *Service) OAuthAuthorizationList(ctx context.Context, lr *ListRange) (OAuthAuthorizationListResult, error)

List OAuth authorizations.

func (*Service) OAuthAuthorizationRegenerate

func (s *Service) OAuthAuthorizationRegenerate(ctx context.Context, oauthAuthorizationIdentity string) (*OAuthAuthorization, error)

Regenerate OAuth tokens. This endpoint is only available to direct authorizations or privileged OAuth clients.

func (*Service) OAuthClientCreate

func (s *Service) OAuthClientCreate(ctx context.Context, o OAuthClientCreateOpts) (*OAuthClient, error)

Create a new OAuth client.

func (*Service) OAuthClientDelete

func (s *Service) OAuthClientDelete(ctx context.Context, oauthClientIdentity string) (*OAuthClient, error)

Delete OAuth client.

func (*Service) OAuthClientInfo

func (s *Service) OAuthClientInfo(ctx context.Context, oauthClientIdentity string) (*OAuthClient, error)

Info for an OAuth client

func (*Service) OAuthClientList

func (s *Service) OAuthClientList(ctx context.Context, lr *ListRange) (OAuthClientListResult, error)

List OAuth clients

func (*Service) OAuthClientRotateCredentials

func (s *Service) OAuthClientRotateCredentials(ctx context.Context, oauthClientIdentity string) (*OAuthClient, error)

Rotate credentials for an OAuth client

func (*Service) OAuthClientUpdate

func (s *Service) OAuthClientUpdate(ctx context.Context, oauthClientIdentity string, o OAuthClientUpdateOpts) (*OAuthClient, error)

Update OAuth client

func (*Service) OAuthTokenCreate

func (s *Service) OAuthTokenCreate(ctx context.Context, o OAuthTokenCreateOpts) (*OAuthToken, error)

Create a new OAuth token.

func (*Service) OAuthTokenDelete

func (s *Service) OAuthTokenDelete(ctx context.Context, oauthTokenIdentity string) (*OAuthToken, error)

Revoke OAuth access token.

func (*Service) OutboundRulesetCreate

func (s *Service) OutboundRulesetCreate(ctx context.Context, spaceIdentity string, o OutboundRulesetCreateOpts) (*OutboundRuleset, error)

Create a new outbound ruleset

func (*Service) OutboundRulesetCurrent

func (s *Service) OutboundRulesetCurrent(ctx context.Context, spaceIdentity string) (*OutboundRuleset, error)

Current outbound ruleset for a space

func (*Service) OutboundRulesetInfo

func (s *Service) OutboundRulesetInfo(ctx context.Context, spaceIdentity string, outboundRulesetIdentity string) (*OutboundRuleset, error)

Info on an existing Outbound Ruleset

func (*Service) OutboundRulesetList

func (s *Service) OutboundRulesetList(ctx context.Context, spaceIdentity string, lr *ListRange) (OutboundRulesetListResult, error)

List all Outbound Rulesets for a space

func (*Service) PasswordResetCompleteResetPassword

func (s *Service) PasswordResetCompleteResetPassword(ctx context.Context, passwordResetResetPasswordToken string, o PasswordResetCompleteResetPasswordOpts) (*PasswordReset, error)

Complete password reset.

func (*Service) PasswordResetResetPassword

func (s *Service) PasswordResetResetPassword(ctx context.Context, o PasswordResetResetPasswordOpts) (*PasswordReset, error)

Reset account's password. This will send a reset password link to the user's email address.

func (*Service) Patch

func (s *Service) Patch(ctx context.Context, v interface{}, path string, body interface{}) error

Patch sends a Path request and decodes the response into v.

func (*Service) PeeringAccept

func (s *Service) PeeringAccept(ctx context.Context, spaceIdentity string, peeringPcxID string) (*Peering, error)

Accept a pending peering connection with a private space.

func (*Service) PeeringDestroy

func (s *Service) PeeringDestroy(ctx context.Context, spaceIdentity string, peeringPcxID string) (*Peering, error)

Destroy an active peering connection with a private space.

func (*Service) PeeringInfo

func (s *Service) PeeringInfo(ctx context.Context, spaceIdentity string, peeringPcxID string) (*Peering, error)

Fetch information for existing peering connection

func (*Service) PeeringInfoInfo

func (s *Service) PeeringInfoInfo(ctx context.Context, spaceIdentity string) (*PeeringInfo, error)

Provides the necessary information to establish an AWS VPC Peering with your private space.

func (*Service) PeeringList

func (s *Service) PeeringList(ctx context.Context, spaceIdentity string, lr *ListRange) (PeeringListResult, error)

List peering connections of a private space.

func (*Service) PermissionEntityList added in v5.2.0

func (s *Service) PermissionEntityList(ctx context.Context, teamIdentity string, lr *ListRange) (PermissionEntityListResult, error)

List permission entities for a team.

func (*Service) PipelineBuildList added in v5.2.0

func (s *Service) PipelineBuildList(ctx context.Context, pipelineID string, lr *ListRange) (PipelineBuildListResult, error)

List latest builds for each app in a pipeline

func (*Service) PipelineConfigVarInfoForApp added in v5.2.0

func (s *Service) PipelineConfigVarInfoForApp(ctx context.Context, pipelineID string, pipelineCouplingStage string) (PipelineConfigVarInfoForAppResult, error)

Get config-vars for a pipeline stage.

func (*Service) PipelineConfigVarUpdate added in v5.2.0

func (s *Service) PipelineConfigVarUpdate(ctx context.Context, pipelineID string, pipelineCouplingStage string, o map[string]*string) (PipelineConfigVarUpdateResult, error)

Update config-vars for a pipeline stage. You can update existing config-vars by setting them again, and remove by setting it to `null`.

func (*Service) PipelineCouplingCreate

func (s *Service) PipelineCouplingCreate(ctx context.Context, o PipelineCouplingCreateOpts) (*PipelineCoupling, error)

Create a new pipeline coupling.

func (*Service) PipelineCouplingDelete

func (s *Service) PipelineCouplingDelete(ctx context.Context, pipelineCouplingIdentity string) (*PipelineCoupling, error)

Delete an existing pipeline coupling.

func (*Service) PipelineCouplingInfo

func (s *Service) PipelineCouplingInfo(ctx context.Context, pipelineCouplingIdentity string) (*PipelineCoupling, error)

Info for an existing pipeline coupling.

func (*Service) PipelineCouplingInfoByApp

func (s *Service) PipelineCouplingInfoByApp(ctx context.Context, appIdentity string) (*PipelineCoupling, error)

Info for an existing pipeline coupling.

func (*Service) PipelineCouplingList

func (s *Service) PipelineCouplingList(ctx context.Context, lr *ListRange) (PipelineCouplingListResult, error)

List pipeline couplings.

func (*Service) PipelineCouplingListByCurrentUser added in v5.2.0

func (s *Service) PipelineCouplingListByCurrentUser(ctx context.Context, lr *ListRange) (PipelineCouplingListByCurrentUserResult, error)

List pipeline couplings for the current user.

func (*Service) PipelineCouplingListByPipeline

func (s *Service) PipelineCouplingListByPipeline(ctx context.Context, pipelineID string, lr *ListRange) (PipelineCouplingListByPipelineResult, error)

List couplings for a pipeline

func (*Service) PipelineCouplingListByTeam added in v5.2.0

func (s *Service) PipelineCouplingListByTeam(ctx context.Context, teamIdentity string, lr *ListRange) (PipelineCouplingListByTeamResult, error)

List pipeline couplings for a team.

func (*Service) PipelineCouplingUpdate

func (s *Service) PipelineCouplingUpdate(ctx context.Context, pipelineCouplingIdentity string, o PipelineCouplingUpdateOpts) (*PipelineCoupling, error)

Update an existing pipeline coupling.

func (*Service) PipelineCreate

func (s *Service) PipelineCreate(ctx context.Context, o PipelineCreateOpts) (*Pipeline, error)

Create a new pipeline.

func (*Service) PipelineDelete

func (s *Service) PipelineDelete(ctx context.Context, pipelineID string) (*Pipeline, error)

Delete an existing pipeline.

func (*Service) PipelineDeploymentList added in v5.2.0

func (s *Service) PipelineDeploymentList(ctx context.Context, pipelineID string, lr *ListRange) (PipelineDeploymentListResult, error)

List latest slug releases for each app in a pipeline

func (*Service) PipelineInfo

func (s *Service) PipelineInfo(ctx context.Context, pipelineIdentity string) (*Pipeline, error)

Info for existing pipeline.

func (*Service) PipelineList

func (s *Service) PipelineList(ctx context.Context, lr *ListRange) (PipelineListResult, error)

List existing pipelines.

func (*Service) PipelinePromotionCreate

func (s *Service) PipelinePromotionCreate(ctx context.Context, o PipelinePromotionCreateOpts) (*PipelinePromotion, error)

Create a new promotion.

func (*Service) PipelinePromotionInfo

func (s *Service) PipelinePromotionInfo(ctx context.Context, pipelinePromotionIdentity string) (*PipelinePromotion, error)

Info for existing pipeline promotion.

func (*Service) PipelinePromotionTargetList

func (s *Service) PipelinePromotionTargetList(ctx context.Context, pipelinePromotionID string, lr *ListRange) (PipelinePromotionTargetListResult, error)

List promotion targets belonging to an existing promotion.

func (*Service) PipelineReleaseList added in v5.2.0

func (s *Service) PipelineReleaseList(ctx context.Context, pipelineID string, lr *ListRange) (PipelineReleaseListResult, error)

List latest releases for each app in a pipeline

func (*Service) PipelineStackDefaultStack added in v5.2.0

func (s *Service) PipelineStackDefaultStack(ctx context.Context, pipelineID string) (*PipelineStack, error)

The stack for a given pipeline, used for CI and Review Apps that have no stack defined in app.json.

func (*Service) PipelineTransferCreate added in v5.2.0

func (s *Service) PipelineTransferCreate(ctx context.Context, o PipelineTransferCreateOpts) (*PipelineTransfer, error)

Create a new pipeline transfer.

func (*Service) PipelineUpdate

func (s *Service) PipelineUpdate(ctx context.Context, pipelineID string, o PipelineUpdateOpts) (*Pipeline, error)

Update an existing pipeline.

func (*Service) PlanInfo

func (s *Service) PlanInfo(ctx context.Context, planIdentity string) (*Plan, error)

Info for existing plan.

func (*Service) PlanInfoByAddOn

func (s *Service) PlanInfoByAddOn(ctx context.Context, addOnServiceIdentity string, planIdentity string) (*Plan, error)

Info for existing plan by Add-on.

func (*Service) PlanListByAddOn

func (s *Service) PlanListByAddOn(ctx context.Context, addOnServiceIdentity string, lr *ListRange) (PlanListByAddOnResult, error)

List existing plans by Add-on.

func (*Service) Post

func (s *Service) Post(ctx context.Context, v interface{}, path string, body interface{}) error

Post sends a POST request and decodes the response into v.

func (*Service) Put

func (s *Service) Put(ctx context.Context, v interface{}, path string, body interface{}) error

Put sends a PUT request and decodes the response into v.

func (*Service) RateLimitInfo

func (s *Service) RateLimitInfo(ctx context.Context) (*RateLimit, error)

Info for rate limits.

func (*Service) RegionInfo

func (s *Service) RegionInfo(ctx context.Context, regionIdentity string) (*Region, error)

Info for existing region.

func (*Service) RegionList

func (s *Service) RegionList(ctx context.Context, lr *ListRange) (RegionListResult, error)

List existing regions.

func (*Service) ReleaseCreate

func (s *Service) ReleaseCreate(ctx context.Context, appIdentity string, o ReleaseCreateOpts) (*Release, error)

Create new release.

func (*Service) ReleaseInfo

func (s *Service) ReleaseInfo(ctx context.Context, appIdentity string, releaseIdentity string) (*Release, error)

Info for existing release.

func (*Service) ReleaseList

func (s *Service) ReleaseList(ctx context.Context, appIdentity string, lr *ListRange) (ReleaseListResult, error)

List existing releases.

func (*Service) ReleaseRollback

func (s *Service) ReleaseRollback(ctx context.Context, appIdentity string, o ReleaseRollbackOpts) (*Release, error)

Rollback to an existing release.

func (*Service) ReviewAppConfigDelete added in v5.2.0

func (s *Service) ReviewAppConfigDelete(ctx context.Context, pipelineID string) (*ReviewAppConfig, error)

Disable review apps for a pipeline

func (*Service) ReviewAppConfigEnable added in v5.2.0

func (s *Service) ReviewAppConfigEnable(ctx context.Context, pipelineID string, o ReviewAppConfigEnableOpts) (*ReviewAppConfig, error)

Enable review apps for a pipeline

func (*Service) ReviewAppConfigInfo added in v5.2.0

func (s *Service) ReviewAppConfigInfo(ctx context.Context, pipelineID string) (*ReviewAppConfig, error)

Get review apps configuration for a pipeline

func (*Service) ReviewAppConfigUpdate added in v5.2.0

func (s *Service) ReviewAppConfigUpdate(ctx context.Context, pipelineID string, o ReviewAppConfigUpdateOpts) (*ReviewAppConfig, error)

Update review app configuration for a pipeline

func (*Service) ReviewAppCreate added in v5.2.0

func (s *Service) ReviewAppCreate(ctx context.Context, o ReviewAppCreateOpts) (*ReviewApp, error)

Create a new review app

func (*Service) ReviewAppDelete added in v5.2.0

func (s *Service) ReviewAppDelete(ctx context.Context, reviewAppID string) (*ReviewApp, error)

Delete an existing review app

func (*Service) ReviewAppGetReviewApp added in v5.2.0

func (s *Service) ReviewAppGetReviewApp(ctx context.Context, reviewAppID string) (*ReviewApp, error)

Gets an existing review app

func (*Service) ReviewAppGetReviewAppByAppID added in v5.2.0

func (s *Service) ReviewAppGetReviewAppByAppID(ctx context.Context, appIdentity string) (*ReviewApp, error)

Get a review app using the associated app_id

func (*Service) ReviewAppList added in v5.2.0

func (s *Service) ReviewAppList(ctx context.Context, pipelineID string, lr *ListRange) (ReviewAppListResult, error)

List review apps for a pipeline

func (*Service) SlugCreate

func (s *Service) SlugCreate(ctx context.Context, appIdentity string, o SlugCreateOpts) (*Slug, error)

Create a new slug. For more information please refer to [Deploying Slugs using the Platform API](https://devcenter.heroku.com/articles/platform-api-deploying-slug s).

func (*Service) SlugInfo

func (s *Service) SlugInfo(ctx context.Context, appIdentity string, slugIdentity string) (*Slug, error)

Info for existing slug.

func (*Service) SmsNumberConfirm

func (s *Service) SmsNumberConfirm(ctx context.Context, accountIdentity string) (*SmsNumber, error)

Confirm an SMS number change with a confirmation code

func (*Service) SmsNumberRecover

func (s *Service) SmsNumberRecover(ctx context.Context, accountIdentity string) (*SmsNumber, error)

Recover an account using an SMS recovery code

func (*Service) SmsNumberSMSNumber

func (s *Service) SmsNumberSMSNumber(ctx context.Context, accountIdentity string) (*SmsNumber, error)

Recover an account using an SMS recovery code

func (*Service) SniEndpointCreate

func (s *Service) SniEndpointCreate(ctx context.Context, appIdentity string, o SniEndpointCreateOpts) (*SniEndpoint, error)

Create a new SNI endpoint.

func (*Service) SniEndpointDelete

func (s *Service) SniEndpointDelete(ctx context.Context, appIdentity string, sniEndpointIdentity string) (*SniEndpoint, error)

Delete existing SNI endpoint.

func (*Service) SniEndpointInfo

func (s *Service) SniEndpointInfo(ctx context.Context, appIdentity string, sniEndpointIdentity string) (*SniEndpoint, error)

Info for existing SNI endpoint.

func (*Service) SniEndpointList

func (s *Service) SniEndpointList(ctx context.Context, appIdentity string, lr *ListRange) (SniEndpointListResult, error)

List existing SNI endpoints.

func (*Service) SniEndpointUpdate

func (s *Service) SniEndpointUpdate(ctx context.Context, appIdentity string, sniEndpointIdentity string, o SniEndpointUpdateOpts) (*SniEndpoint, error)

Update an existing SNI endpoint.

func (*Service) SourceCreate

func (s *Service) SourceCreate(ctx context.Context) (*Source, error)

Create URLs for uploading and downloading source.

func (*Service) SourceCreateDeprecated

func (s *Service) SourceCreateDeprecated(ctx context.Context, appIdentity string) (*Source, error)

Create URLs for uploading and downloading source. Deprecated in favor of `POST /sources`

func (*Service) SpaceAppAccessInfo

func (s *Service) SpaceAppAccessInfo(ctx context.Context, spaceIdentity string, accountIdentity string) (*SpaceAppAccess, error)

List permissions for a given user on a given space.

func (*Service) SpaceAppAccessList

func (s *Service) SpaceAppAccessList(ctx context.Context, spaceIdentity string, lr *ListRange) (SpaceAppAccessListResult, error)

List all users and their permissions on a space.

func (*Service) SpaceAppAccessUpdate

func (s *Service) SpaceAppAccessUpdate(ctx context.Context, spaceIdentity string, accountIdentity string, o SpaceAppAccessUpdateOpts) (*SpaceAppAccess, error)

Update an existing user's set of permissions on a space.

func (*Service) SpaceCreate

func (s *Service) SpaceCreate(ctx context.Context, o SpaceCreateOpts) (*Space, error)

Create a new space.

func (*Service) SpaceDelete

func (s *Service) SpaceDelete(ctx context.Context, spaceIdentity string) (*Space, error)

Delete an existing space.

func (*Service) SpaceInfo

func (s *Service) SpaceInfo(ctx context.Context, spaceIdentity string) (*Space, error)

Info for existing space.

func (*Service) SpaceList

func (s *Service) SpaceList(ctx context.Context, lr *ListRange) (SpaceListResult, error)

List existing spaces.

func (*Service) SpaceNATInfo

func (s *Service) SpaceNATInfo(ctx context.Context, spaceIdentity string) (*SpaceNAT, error)

Current state of network address translation for a space.

func (*Service) SpaceTopologyTopology added in v5.2.1

func (s *Service) SpaceTopologyTopology(ctx context.Context, spaceIdentity string) (*SpaceTopology, error)

Current space topology

func (*Service) SpaceTransferTransfer added in v5.2.0

func (s *Service) SpaceTransferTransfer(ctx context.Context, spaceIdentity string, o SpaceTransferTransferOpts) (*SpaceTransferTransferResult, error)

Transfer space between enterprise teams

func (*Service) SpaceUpdate

func (s *Service) SpaceUpdate(ctx context.Context, spaceIdentity string, o SpaceUpdateOpts) (*Space, error)

Update an existing space.

func (*Service) StackInfo

func (s *Service) StackInfo(ctx context.Context, stackIdentity string) (*Stack, error)

Stack info.

func (*Service) StackList

func (s *Service) StackList(ctx context.Context, lr *ListRange) (StackListResult, error)

List available stacks.

func (*Service) TeamAddOnListForTeam added in v5.1.0

func (s *Service) TeamAddOnListForTeam(ctx context.Context, teamIdentity string, lr *ListRange) (TeamAddOnListForTeamResult, error)

List add-ons used across all Team apps

func (*Service) TeamAppCollaboratorCreate

func (s *Service) TeamAppCollaboratorCreate(ctx context.Context, appIdentity string, o TeamAppCollaboratorCreateOpts) (*TeamAppCollaborator, error)

Create a new collaborator on a team app. Use this endpoint instead of the `/apps/{app_id_or_name}/collaborator` endpoint when you want the collaborator to be granted [permissions] (https://devcenter.heroku.com/articles/org-users-access#roles-and-perm issions) according to their role in the team.

func (*Service) TeamAppCollaboratorDelete

func (s *Service) TeamAppCollaboratorDelete(ctx context.Context, teamAppIdentity string, teamAppCollaboratorIdentity string) (*TeamAppCollaborator, error)

Delete an existing collaborator from a team app.

func (*Service) TeamAppCollaboratorInfo

func (s *Service) TeamAppCollaboratorInfo(ctx context.Context, teamAppIdentity string, teamAppCollaboratorIdentity string) (*TeamAppCollaborator, error)

Info for a collaborator on a team app.

func (*Service) TeamAppCollaboratorList

func (s *Service) TeamAppCollaboratorList(ctx context.Context, teamAppIdentity string, lr *ListRange) (TeamAppCollaboratorListResult, error)

List collaborators on a team app.

func (*Service) TeamAppCollaboratorUpdate

func (s *Service) TeamAppCollaboratorUpdate(ctx context.Context, teamAppIdentity string, teamAppCollaboratorIdentity string, o TeamAppCollaboratorUpdateOpts) (*TeamAppCollaborator, error)

Update an existing collaborator from a team app.

func (*Service) TeamAppCreate

func (s *Service) TeamAppCreate(ctx context.Context, o TeamAppCreateOpts) (*TeamApp, error)

Create a new app in the specified team, in the default team if unspecified, or in personal account, if default team is not set.

func (*Service) TeamAppInfo

func (s *Service) TeamAppInfo(ctx context.Context, teamAppIdentity string) (*TeamApp, error)

Info for a team app.

func (*Service) TeamAppListByTeam

func (s *Service) TeamAppListByTeam(ctx context.Context, teamIdentity string, lr *ListRange) (TeamAppListByTeamResult, error)

List team apps.

func (*Service) TeamAppPermissionList

func (s *Service) TeamAppPermissionList(ctx context.Context, lr *ListRange) (TeamAppPermissionListResult, error)

Lists permissions available to teams.

func (*Service) TeamAppTransferToAccount

func (s *Service) TeamAppTransferToAccount(ctx context.Context, teamAppIdentity string, o TeamAppTransferToAccountOpts) (*TeamApp, error)

Transfer an existing team app to another Heroku account.

func (*Service) TeamAppTransferToTeam

func (s *Service) TeamAppTransferToTeam(ctx context.Context, teamAppIdentity string, o TeamAppTransferToTeamOpts) (*TeamApp, error)

Transfer an existing team app to another team.

func (*Service) TeamAppUpdateLocked

func (s *Service) TeamAppUpdateLocked(ctx context.Context, teamAppIdentity string, o TeamAppUpdateLockedOpts) (*TeamApp, error)

Lock or unlock a team app.

func (*Service) TeamCreate

func (s *Service) TeamCreate(ctx context.Context, o TeamCreateOpts) (*Team, error)

Create a new team.

func (*Service) TeamCreateInEnterpriseAccount added in v5.2.0

func (s *Service) TeamCreateInEnterpriseAccount(ctx context.Context, enterpriseAccountIdentity string, o TeamCreateInEnterpriseAccountOpts) (*Team, error)

Create a team in an enterprise account.

func (*Service) TeamDailyUsageInfo added in v5.3.0

func (s *Service) TeamDailyUsageInfo(ctx context.Context, teamID string, o TeamDailyUsageInfoOpts, lr *ListRange) (TeamDailyUsageInfoResult, error)

Retrieves usage for an enterprise team for a range of days. Start and end dates can be specified as query parameters using the date format YYYY-MM-DD. The team identifier can be found from the [team list endpoint](https://devcenter.heroku.com/articles/platform-api-reference #team-list).

func (*Service) TeamDelete

func (s *Service) TeamDelete(ctx context.Context, teamIdentity string) (*Team, error)

Delete an existing team.

func (*Service) TeamFeatureInfo

func (s *Service) TeamFeatureInfo(ctx context.Context, teamIdentity string, teamFeatureIdentity string) (*TeamFeature, error)

Info for an existing team feature.

func (*Service) TeamFeatureList

func (s *Service) TeamFeatureList(ctx context.Context, teamIdentity string, lr *ListRange) (TeamFeatureListResult, error)

List existing team features.

func (*Service) TeamInfo

func (s *Service) TeamInfo(ctx context.Context, teamIdentity string) (*Team, error)

Info for a team.

func (*Service) TeamInvitationAccept

func (s *Service) TeamInvitationAccept(ctx context.Context, teamInvitationToken string) (*TeamInvitationAcceptResult, error)

Accept Team Invitation

func (*Service) TeamInvitationCreate

func (s *Service) TeamInvitationCreate(ctx context.Context, teamIdentity string, o TeamInvitationCreateOpts) (*TeamInvitation, error)

Create Team Invitation

func (*Service) TeamInvitationGet

func (s *Service) TeamInvitationGet(ctx context.Context, teamInvitationToken string, lr *ListRange) (*TeamInvitation, error)

Get an invitation by its token

func (*Service) TeamInvitationList

func (s *Service) TeamInvitationList(ctx context.Context, teamName string, lr *ListRange) (TeamInvitationListResult, error)

Get a list of a team's Identity Providers

func (*Service) TeamInvitationRevoke

func (s *Service) TeamInvitationRevoke(ctx context.Context, teamIdentity string, teamInvitationIdentity string) (*TeamInvitation, error)

Revoke a team invitation.

func (*Service) TeamInvoiceInfo

func (s *Service) TeamInvoiceInfo(ctx context.Context, teamIdentity string, teamInvoiceIdentity int) (*TeamInvoice, error)

Info for existing invoice.

func (*Service) TeamInvoiceList

func (s *Service) TeamInvoiceList(ctx context.Context, teamIdentity string, lr *ListRange) (TeamInvoiceListResult, error)

List existing invoices.

func (*Service) TeamList

func (s *Service) TeamList(ctx context.Context, lr *ListRange) (TeamListResult, error)

List teams in which you are a member.

func (*Service) TeamListByEnterpriseAccount added in v5.2.0

func (s *Service) TeamListByEnterpriseAccount(ctx context.Context, enterpriseAccountIdentity string, lr *ListRange) (TeamListByEnterpriseAccountResult, error)

List teams for an enterprise account.

func (*Service) TeamMemberCreate

func (s *Service) TeamMemberCreate(ctx context.Context, teamIdentity string, o TeamMemberCreateOpts) (*TeamMember, error)

Create a new team member.

func (*Service) TeamMemberCreateOrUpdate

func (s *Service) TeamMemberCreateOrUpdate(ctx context.Context, teamIdentity string, o TeamMemberCreateOrUpdateOpts) (*TeamMember, error)

Create a new team member, or update their role.

func (*Service) TeamMemberDelete

func (s *Service) TeamMemberDelete(ctx context.Context, teamIdentity string, teamMemberIdentity string) (*TeamMember, error)

Remove a member from the team.

func (*Service) TeamMemberList

func (s *Service) TeamMemberList(ctx context.Context, teamIdentity string, lr *ListRange) (TeamMemberListResult, error)

List members of the team.

func (*Service) TeamMemberListByMember

func (s *Service) TeamMemberListByMember(ctx context.Context, teamIdentity string, teamMemberIdentity string, lr *ListRange) (TeamMemberListByMemberResult, error)

List the apps of a team member.

func (*Service) TeamMemberUpdate

func (s *Service) TeamMemberUpdate(ctx context.Context, teamIdentity string, o TeamMemberUpdateOpts) (*TeamMember, error)

Update a team member.

func (*Service) TeamMonthlyUsageInfo added in v5.3.0

func (s *Service) TeamMonthlyUsageInfo(ctx context.Context, teamID string, o TeamMonthlyUsageInfoOpts, lr *ListRange) (TeamMonthlyUsageInfoResult, error)

Retrieves usage for an enterprise team for a range of months. Start and end dates can be specified as query parameters using the date, YYYY-MM. If no end date is specified, one month of usage is returned. The team identifier can be found from the [team list endpoint](https://devcenter.heroku.com/articles/platform-api-reference #team-list).

func (*Service) TeamPreferencesList

func (s *Service) TeamPreferencesList(ctx context.Context, teamPreferencesIdentity string) (*TeamPreferences, error)

Retrieve Team Preferences

func (*Service) TeamPreferencesUpdate

func (s *Service) TeamPreferencesUpdate(ctx context.Context, teamPreferencesIdentity string, o TeamPreferencesUpdateOpts) (*TeamPreferences, error)

Update Team Preferences

func (*Service) TeamSpaceList added in v5.1.0

func (s *Service) TeamSpaceList(ctx context.Context, teamIdentity string, lr *ListRange) (TeamSpaceListResult, error)

List spaces owned by the team

func (*Service) TeamUpdate

func (s *Service) TeamUpdate(ctx context.Context, teamIdentity string, o TeamUpdateOpts) (*Team, error)

Update team properties.

func (*Service) TestCaseList

func (s *Service) TestCaseList(ctx context.Context, testRunID string, lr *ListRange) error

List test cases

func (*Service) TestNodeList

func (s *Service) TestNodeList(ctx context.Context, testRunIdentity string, lr *ListRange) error

List test nodes

func (*Service) TestRunCreate

func (s *Service) TestRunCreate(ctx context.Context, o TestRunCreateOpts) (*TestRun, error)

Create a new test-run.

func (*Service) TestRunInfo

func (s *Service) TestRunInfo(ctx context.Context, testRunID string) (*TestRun, error)

Info for existing test-run.

func (*Service) TestRunInfoByPipeline

func (s *Service) TestRunInfoByPipeline(ctx context.Context, pipelineID string, testRunNumber int) (*TestRun, error)

Info for existing test-run by Pipeline

func (*Service) TestRunList

func (s *Service) TestRunList(ctx context.Context, pipelineID string, lr *ListRange) error

List existing test-runs for a pipeline.

func (*Service) TestRunUpdate

func (s *Service) TestRunUpdate(ctx context.Context, testRunNumber int, o TestRunUpdateOpts) (*TestRun, error)

Update a test-run's status.

func (*Service) UserPreferencesList

func (s *Service) UserPreferencesList(ctx context.Context, userPreferencesIdentity string) (*UserPreferences, error)

Retrieve User Preferences

func (*Service) UserPreferencesUpdate

func (s *Service) UserPreferencesUpdate(ctx context.Context, userPreferencesIdentity string, o UserPreferencesUpdateOpts) (*UserPreferences, error)

Update User Preferences

func (*Service) VPNConnectionCreate

func (s *Service) VPNConnectionCreate(ctx context.Context, spaceIdentity string, o VPNConnectionCreateOpts) (*VPNConnection, error)

Create a new VPN connection in a private space.

func (*Service) VPNConnectionDestroy

func (s *Service) VPNConnectionDestroy(ctx context.Context, spaceIdentity string, vpnConnectionIdentity string) (*VPNConnection, error)

Destroy existing VPN Connection

func (*Service) VPNConnectionInfo

func (s *Service) VPNConnectionInfo(ctx context.Context, spaceIdentity string, vpnConnectionIdentity string) (*VPNConnection, error)

Info for an existing vpn-connection.

func (*Service) VPNConnectionList

func (s *Service) VPNConnectionList(ctx context.Context, spaceIdentity string, lr *ListRange) (VPNConnectionListResult, error)

List VPN connections for a space.

func (*Service) VPNConnectionUpdate added in v5.3.0

func (s *Service) VPNConnectionUpdate(ctx context.Context, spaceIdentity string, vpnConnectionIdentity string, o VPNConnectionUpdateOpts) (*VPNConnection, error)

Update a VPN connection in a private space.

type Slug

type Slug struct {
	Blob struct {
		Method string `json:"method" url:"method,key"` // method to be used to interact with the slug blob
		URL    string `json:"url" url:"url,key"`       // URL to interact with the slug blob
	} `json:"blob" url:"blob,key"` // pointer to the url where clients can fetch or store the actual
	// release binary
	BuildpackProvidedDescription *string `json:"buildpack_provided_description" url:"buildpack_provided_description,key"` // description from buildpack of slug
	Checksum                     *string `json:"checksum" url:"checksum,key"`                                             // an optional checksum of the slug for verifying its integrity
	Commit                       *string `json:"commit" url:"commit,key"`                                                 // identification of the code with your version control system (eg: SHA
	// of the git HEAD)
	CommitDescription *string           `json:"commit_description" url:"commit_description,key"` // an optional description of the provided commit
	CreatedAt         time.Time         `json:"created_at" url:"created_at,key"`                 // when slug was created
	ID                string            `json:"id" url:"id,key"`                                 // unique identifier of slug
	ProcessTypes      map[string]string `json:"process_types" url:"process_types,key"`           // hash mapping process type names to their respective command
	Size              *int              `json:"size" url:"size,key"`                             // size of slug, in bytes
	Stack             struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"stack" url:"stack,key"` // identity of slug stack
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when slug was updated
}

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

type SlugCreateOpts

type SlugCreateOpts struct {
	BuildpackProvidedDescription *string `json:"buildpack_provided_description,omitempty" url:"buildpack_provided_description,omitempty,key"` // description from buildpack of slug
	Checksum                     *string `json:"checksum,omitempty" url:"checksum,omitempty,key"`                                             // an optional checksum of the slug for verifying its integrity
	Commit                       *string `json:"commit,omitempty" url:"commit,omitempty,key"`                                                 // identification of the code with your version control system (eg: SHA
	// of the git HEAD)
	CommitDescription *string           `json:"commit_description,omitempty" url:"commit_description,omitempty,key"` // an optional description of the provided commit
	ProcessTypes      map[string]string `json:"process_types" url:"process_types,key"`                               // hash mapping process type names to their respective command
	Stack             *string           `json:"stack,omitempty" url:"stack,omitempty,key"`                           // unique name of stack
}

type SmsNumber

type SmsNumber struct {
	SmsNumber *string `json:"sms_number" url:"sms_number,key"` // SMS number of account
}

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

type SniEndpoint

type SniEndpoint struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // application that this SSL certificate is on
	CertificateChain string    `json:"certificate_chain" url:"certificate_chain,key"` // raw contents of the public certificate chain (eg: .crt or .pem file)
	CreatedAt        time.Time `json:"created_at" url:"created_at,key"`               // when endpoint was created
	DisplayName      *string   `json:"display_name" url:"display_name,key"`           // unique name for SSL certificate
	Domains          []string  `json:"domains" url:"domains,key"`                     // domains associated with this SSL certificate
	ID               string    `json:"id" url:"id,key"`                               // unique identifier of this SNI endpoint
	Name             string    `json:"name" url:"name,key"`                           // unique name for SNI endpoint
	SSLCert          struct {
		IsCaSigned   bool          `json:"ca_signed?" url:"ca_signed?,key"`
		CertDomains  []interface{} `json:"cert_domains" url:"cert_domains,key"`
		ExpiresAt    time.Time     `json:"expires_at" url:"expires_at,key"`
		ID           string        `json:"id" url:"id,key"` // unique identifier of this SSL certificate
		Issuer       string        `json:"issuer" url:"issuer,key"`
		IsSelfSigned bool          `json:"self_signed?" url:"self_signed?,key"`
		StartsAt     time.Time     `json:"starts_at" url:"starts_at,key"`
		Subject      string        `json:"subject" url:"subject,key"`
	} `json:"ssl_cert" url:"ssl_cert,key"` // certificate provided by this endpoint
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when SNI endpoint was updated
}

SNI Endpoint is a public address serving a custom SSL cert for HTTPS traffic, using the SNI TLS extension, to a Heroku app.

type SniEndpointCreateOpts

type SniEndpointCreateOpts struct {
	CertificateChain string `json:"certificate_chain" url:"certificate_chain,key"` // raw contents of the public certificate chain (eg: .crt or .pem file)
	PrivateKey       string `json:"private_key" url:"private_key,key"`             // contents of the private key (eg .key file)
}

type SniEndpointListResult

type SniEndpointListResult []SniEndpoint

type SniEndpointUpdateOpts

type SniEndpointUpdateOpts struct {
	CertificateChain string `json:"certificate_chain" url:"certificate_chain,key"` // raw contents of the public certificate chain (eg: .crt or .pem file)
	PrivateKey       string `json:"private_key" url:"private_key,key"`             // contents of the private key (eg .key file)
}

type Source

type Source struct {
	SourceBlob struct {
		GetURL string `json:"get_url" url:"get_url,key"` // URL to download the source
		PutURL string `json:"put_url" url:"put_url,key"` // URL to upload the source
	} `json:"source_blob" url:"source_blob,key"` // pointer to the URL where clients can fetch or store the source
}

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

type Space

type Space struct {
	CIDR string `json:"cidr" url:"cidr,key"` // The RFC-1918 CIDR the Private Space will use. It must be a /16 in
	// 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when space was created
	DataCIDR  string    `json:"data_cidr" url:"data_cidr,key"`   // The RFC-1918 CIDR that the Private Space will use for the
	// Heroku-managed peering connection that's automatically created when
	// using Heroku Data add-ons. It must be between a /16 and a /20
	ID           string `json:"id" url:"id,key"`     // unique identifier of space
	Name         string `json:"name" url:"name,key"` // unique name of space
	Organization struct {
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"organization" url:"organization,key"` // organization that owns this space
	Region struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of region
		Name string `json:"name" url:"name,key"` // unique name of region
	} `json:"region" url:"region,key"` // identity of space region
	Shield bool   `json:"shield" url:"shield,key"` // true if this space has shield enabled
	State  string `json:"state" url:"state,key"`   // availability of this space
	Team   struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of team
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"team" url:"team,key"` // team that owns this space
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when space was updated
}

A space is an isolated, highly available, secure app execution environment.

type SpaceAppAccess

type SpaceAppAccess struct {
	CreatedAt   time.Time `json:"created_at" url:"created_at,key"` // when space was created
	ID          string    `json:"id" url:"id,key"`                 // unique identifier of space
	Permissions []struct {
		Description string `json:"description" url:"description,key"`
		Name        string `json:"name" url:"name,key"`
	} `json:"permissions" url:"permissions,key"` // user space permissions
	Space struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"space" url:"space,key"` // space user belongs to
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when space was updated
	User      struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"user" url:"user,key"` // identity of user account
}

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

type SpaceAppAccessListResult

type SpaceAppAccessListResult []SpaceAppAccess

type SpaceAppAccessUpdateOpts

type SpaceAppAccessUpdateOpts struct {
	Permissions []struct {
		Name *string `json:"name,omitempty" url:"name,omitempty,key"`
	} `json:"permissions" url:"permissions,key"`
}

type SpaceCreateOpts

type SpaceCreateOpts struct {
	CIDR *string `json:"cidr,omitempty" url:"cidr,omitempty,key"` // The RFC-1918 CIDR the Private Space will use. It must be a /16 in
	// 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16
	DataCIDR *string `json:"data_cidr,omitempty" url:"data_cidr,omitempty,key"` // The RFC-1918 CIDR that the Private Space will use for the
	// Heroku-managed peering connection that's automatically created when
	// using Heroku Data add-ons. It must be between a /16 and a /20
	LogDrainURL *string `json:"log_drain_url,omitempty" url:"log_drain_url,omitempty,key"` // URL to which all apps will drain logs. Only settable during space
	// creation and enables direct logging. Must use HTTPS.
	Name   string  `json:"name" url:"name,key"`                         // unique name of space
	Region *string `json:"region,omitempty" url:"region,omitempty,key"` // unique identifier of region
	Shield *bool   `json:"shield,omitempty" url:"shield,omitempty,key"` // true if this space has shield enabled
	Team   string  `json:"team" url:"team,key"`                         // unique name of team
}

type SpaceListResult

type SpaceListResult []Space

type SpaceNAT

type SpaceNAT struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when network address translation for a space was created
	Sources   []string  `json:"sources" url:"sources,key"`       // potential IPs from which outbound network traffic will originate
	State     string    `json:"state" url:"state,key"`           // availability of network address translation for a space
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when network address translation for a space was updated
}

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

type SpaceTopology added in v5.2.1

type SpaceTopology struct {
	Apps []struct {
		Domains   []interface{} `json:"domains" url:"domains,key"`
		Formation []struct {
			Dynos []struct {
				Hostname  string `json:"hostname" url:"hostname,key"`     // localspace hostname of resource
				ID        string `json:"id" url:"id,key"`                 // unique identifier of this dyno
				Number    int    `json:"number" url:"number,key"`         // process number, e.g. 1 in web.1
				PrivateIP string `json:"private_ip" url:"private_ip,key"` // RFC1918 Address of Dyno
			} `json:"dynos" url:"dynos,key"` // Current dynos for application
			ID          string `json:"id" url:"id,key"`                     // unique identifier of this process type
			ProcessType string `json:"process_type" url:"process_type,key"` // Name of process type
		} `json:"formation" url:"formation,key"` // formations for application
		ID string `json:"id" url:"id,key"` // unique identifier of app
	} `json:"apps" url:"apps,key"` // The apps within this space
	Version int `json:"version" url:"version,key"` // version of the space topology payload
}

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.

type SpaceTransfer added in v5.2.0

type SpaceTransfer struct{}

Transfer spaces between enterprise teams with the same Enterprise Account.

type SpaceTransferTransferOpts added in v5.2.0

type SpaceTransferTransferOpts struct {
	NewOwner string `json:"new_owner" url:"new_owner,key"` // unique name of team
}

type SpaceTransferTransferResult added in v5.2.0

type SpaceTransferTransferResult struct {
	CIDR string `json:"cidr" url:"cidr,key"` // The RFC-1918 CIDR the Private Space will use. It must be a /16 in
	// 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when space was created
	DataCIDR  string    `json:"data_cidr" url:"data_cidr,key"`   // The RFC-1918 CIDR that the Private Space will use for the
	// Heroku-managed peering connection that's automatically created when
	// using Heroku Data add-ons. It must be between a /16 and a /20
	ID           string `json:"id" url:"id,key"`     // unique identifier of space
	Name         string `json:"name" url:"name,key"` // unique name of space
	Organization struct {
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"organization" url:"organization,key"` // organization that owns this space
	Region struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of region
		Name string `json:"name" url:"name,key"` // unique name of region
	} `json:"region" url:"region,key"` // identity of space region
	Shield bool   `json:"shield" url:"shield,key"` // true if this space has shield enabled
	State  string `json:"state" url:"state,key"`   // availability of this space
	Team   struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of team
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"team" url:"team,key"` // team that owns this space
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when space was updated
}

type SpaceUpdateOpts

type SpaceUpdateOpts struct {
	Name *string `json:"name,omitempty" url:"name,omitempty,key"` // unique name of space
}

type Stack

type Stack struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when stack was introduced
	Default   bool      `json:"default" url:"default,key"`       // indicates this stack is the default for new apps
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of stack
	Name      string    `json:"name" url:"name,key"`             // unique name of stack
	State     string    `json:"state" url:"state,key"`           // availability of this stack: beta, deprecated or public
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when stack was last modified
}

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

type StackListResult

type StackListResult []Stack

type Team

type Team struct {
	CreatedAt             time.Time `json:"created_at" url:"created_at,key"`                           // when the team was created
	CreditCardCollections bool      `json:"credit_card_collections" url:"credit_card_collections,key"` // whether charges incurred by the team are paid by credit card.
	Default               bool      `json:"default" url:"default,key"`                                 // whether to use this team when none is specified
	EnterpriseAccount     *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of the enterprise account
		Name string `json:"name" url:"name,key"` // unique name of the enterprise account
	} `json:"enterprise_account" url:"enterprise_account,key"`
	ID               string `json:"id" url:"id,key"` // unique identifier of team
	IdentityProvider *struct {
		ID    string `json:"id" url:"id,key"`     // unique identifier of this identity provider
		Name  string `json:"name" url:"name,key"` // user-friendly unique identifier for this identity provider
		Owner struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of the owner
			Name string `json:"name" url:"name,key"` // name of the owner
			Type string `json:"type" url:"type,key"` // type of the owner
		} `json:"owner" url:"owner,key"` // entity that owns this identity provider
	} `json:"identity_provider" url:"identity_provider,key"` // Identity Provider associated with the Team
	MembershipLimit     *float64  `json:"membership_limit" url:"membership_limit,key"`         // upper limit of members allowed in a team.
	Name                string    `json:"name" url:"name,key"`                                 // unique name of team
	ProvisionedLicenses bool      `json:"provisioned_licenses" url:"provisioned_licenses,key"` // whether the team is provisioned licenses by salesforce.
	Role                *string   `json:"role" url:"role,key"`                                 // role in the team
	Type                string    `json:"type" url:"type,key"`                                 // type of team.
	UpdatedAt           time.Time `json:"updated_at" url:"updated_at,key"`                     // when the team was updated
}

Teams allow you to manage access to a shared group of applications and other resources.

type TeamAddOn added in v5.1.0

type TeamAddOn struct{}

type TeamAddOnListForTeamResult added in v5.1.0

type TeamAddOnListForTeamResult []struct {
	Actions      []struct{} `json:"actions" url:"actions,key"` // provider actions for this specific add-on
	AddonService struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this add-on-service
		Name string `json:"name" url:"name,key"` // unique name of this add-on-service
	} `json:"addon_service" url:"addon_service,key"` // identity of add-on service
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // billing application associated with this add-on
	BilledPrice *struct {
		Cents    int    `json:"cents" url:"cents,key"`       // price in cents per unit of plan
		Contract bool   `json:"contract" url:"contract,key"` // price is negotiated in a contract outside of monthly add-on billing
		Unit     string `json:"unit" url:"unit,key"`         // unit of price for plan
	} `json:"billed_price" url:"billed_price,key"` // billed price
	BillingEntity struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of the billing entity
		Name string `json:"name" url:"name,key"` // name of the billing entity
		Type string `json:"type" url:"type,key"` // type of Object of the billing entity; new types allowed at any time.
	} `json:"billing_entity" url:"billing_entity,key"` // billing entity associated with this add-on
	ConfigVars []string  `json:"config_vars" url:"config_vars,key"` // config vars exposed to the owning app by this add-on
	CreatedAt  time.Time `json:"created_at" url:"created_at,key"`   // when add-on was created
	ID         string    `json:"id" url:"id,key"`                   // unique identifier of add-on
	Name       string    `json:"name" url:"name,key"`               // globally unique name of the add-on
	Plan       struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of this plan
		Name string `json:"name" url:"name,key"` // unique name of this plan
	} `json:"plan" url:"plan,key"` // identity of add-on plan
	ProviderID string    `json:"provider_id" url:"provider_id,key"` // id of this add-on with its provider
	State      string    `json:"state" url:"state,key"`             // state in the add-on's lifecycle
	UpdatedAt  time.Time `json:"updated_at" url:"updated_at,key"`   // when add-on was updated
	WebURL     *string   `json:"web_url" url:"web_url,key"`         // URL for logging into web interface of add-on (e.g. a dashboard)
}

type TeamApp

type TeamApp struct {
	ArchivedAt *time.Time `json:"archived_at" url:"archived_at,key"` // when app was archived
	BuildStack struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"build_stack" url:"build_stack,key"` // identity of the stack that will be used for new builds
	BuildpackProvidedDescription *string   `json:"buildpack_provided_description" url:"buildpack_provided_description,key"` // description from buildpack of app
	CreatedAt                    time.Time `json:"created_at" url:"created_at,key"`                                         // when app was created
	GitURL                       string    `json:"git_url" url:"git_url,key"`                                               // git repo URL of app
	ID                           string    `json:"id" url:"id,key"`                                                         // unique identifier of app
	InternalRouting              *bool     `json:"internal_routing" url:"internal_routing,key"`                             // describes whether a Private Spaces app is externally routable or not
	Joined                       bool      `json:"joined" url:"joined,key"`                                                 // is the current member a collaborator on this app.
	Locked                       bool      `json:"locked" url:"locked,key"`                                                 // are other team members forbidden from joining this app.
	Maintenance                  bool      `json:"maintenance" url:"maintenance,key"`                                       // maintenance status of app
	Name                         string    `json:"name" url:"name,key"`                                                     // unique name of app
	Owner                        *struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"owner" url:"owner,key"` // identity of app owner
	Region struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of region
		Name string `json:"name" url:"name,key"` // unique name of region
	} `json:"region" url:"region,key"` // identity of app region
	ReleasedAt *time.Time `json:"released_at" url:"released_at,key"` // when app was released
	RepoSize   *int       `json:"repo_size" url:"repo_size,key"`     // git repo size in bytes of app
	SlugSize   *int       `json:"slug_size" url:"slug_size,key"`     // slug size in bytes of app
	Space      *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of space
		Name string `json:"name" url:"name,key"` // unique name of space
	} `json:"space" url:"space,key"` // identity of space
	Stack struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"stack" url:"stack,key"` // identity of app stack
	Team *struct {
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"team" url:"team,key"` // team that owns this app
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when app was updated
	WebURL    string    `json:"web_url" url:"web_url,key"`       // web URL of app
}

A team app encapsulates the team specific functionality of Heroku apps.

type TeamAppCollaborator

type TeamAppCollaborator struct {
	App struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of app
		Name string `json:"name" url:"name,key"` // unique name of app
	} `json:"app" url:"app,key"` // app collaborator belongs to
	CreatedAt   time.Time `json:"created_at" url:"created_at,key"` // when collaborator was created
	ID          string    `json:"id" url:"id,key"`                 // unique identifier of collaborator
	Permissions []struct {
		Description string `json:"description" url:"description,key"` // A description of what the app permission allows.
		Name        string `json:"name" url:"name,key"`               // The name of the app permission.
	} `json:"permissions" url:"permissions,key"` // array of permissions for the collaborator (only applicable if the app
	// is on a team)
	Role      *string   `json:"role" url:"role,key"`             // role in the team
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when collaborator was updated
	User      struct {
		Email     string `json:"email" url:"email,key"`         // unique email address of account
		Federated bool   `json:"federated" url:"federated,key"` // whether the user is federated and belongs to an Identity Provider
		ID        string `json:"id" url:"id,key"`               // unique identifier of an account
	} `json:"user" url:"user,key"` // identity of collaborated account
}

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

type TeamAppCollaboratorCreateOpts

type TeamAppCollaboratorCreateOpts struct {
	Permissions []*string `json:"permissions,omitempty" url:"permissions,omitempty,key"` // An array of permissions to give to the collaborator.
	Silent      *bool     `json:"silent,omitempty" url:"silent,omitempty,key"`           // whether to suppress email invitation when creating collaborator
	User        string    `json:"user" url:"user,key"`                                   // unique email address of account
}

type TeamAppCollaboratorListResult

type TeamAppCollaboratorListResult []TeamAppCollaborator

type TeamAppCollaboratorUpdateOpts

type TeamAppCollaboratorUpdateOpts struct {
	Permissions []string `json:"permissions" url:"permissions,key"` // An array of permissions to give to the collaborator.
}

type TeamAppCreateOpts

type TeamAppCreateOpts struct {
	InternalRouting *bool   `json:"internal_routing,omitempty" url:"internal_routing,omitempty,key"` // describes whether a Private Spaces app is externally routable or not
	Locked          *bool   `json:"locked,omitempty" url:"locked,omitempty,key"`                     // are other team members forbidden from joining this app.
	Name            *string `json:"name,omitempty" url:"name,omitempty,key"`                         // unique name of app
	Personal        *bool   `json:"personal,omitempty" url:"personal,omitempty,key"`                 // force creation of the app in the user account even if a default team
	// is set.
	Region *string `json:"region,omitempty" url:"region,omitempty,key"` // unique name of region
	Space  *string `json:"space,omitempty" url:"space,omitempty,key"`   // unique name of space
	Stack  *string `json:"stack,omitempty" url:"stack,omitempty,key"`   // unique name of stack
	Team   *string `json:"team,omitempty" url:"team,omitempty,key"`     // unique name of team
}

type TeamAppListByTeamResult

type TeamAppListByTeamResult []TeamApp

type TeamAppPermission

type TeamAppPermission struct {
	Description string `json:"description" url:"description,key"` // A description of what the app permission allows.
	Name        string `json:"name" url:"name,key"`               // The name of the app permission.
}

A team app permission is a behavior that is assigned to a user in a team app.

type TeamAppPermissionListResult

type TeamAppPermissionListResult []TeamAppPermission

type TeamAppTransferToAccountOpts

type TeamAppTransferToAccountOpts struct {
	Owner string `json:"owner" url:"owner,key"` // unique email address of account
}

type TeamAppTransferToTeamOpts

type TeamAppTransferToTeamOpts struct {
	Owner string `json:"owner" url:"owner,key"` // unique name of team
}

type TeamAppUpdateLockedOpts

type TeamAppUpdateLockedOpts struct {
	Locked bool `json:"locked" url:"locked,key"` // are other team members forbidden from joining this app.
}

type TeamCreateInEnterpriseAccountOpts added in v5.2.0

type TeamCreateInEnterpriseAccountOpts struct {
	Name string `json:"name" url:"name,key"` // unique name of team
}

type TeamCreateOpts

type TeamCreateOpts struct {
	Address1        *string `json:"address_1,omitempty" url:"address_1,omitempty,key"`               // street address line 1
	Address2        *string `json:"address_2,omitempty" url:"address_2,omitempty,key"`               // street address line 2
	CardNumber      *string `json:"card_number,omitempty" url:"card_number,omitempty,key"`           // encrypted card number of payment method
	City            *string `json:"city,omitempty" url:"city,omitempty,key"`                         // city
	Country         *string `json:"country,omitempty" url:"country,omitempty,key"`                   // country
	Cvv             *string `json:"cvv,omitempty" url:"cvv,omitempty,key"`                           // card verification value
	DeviceData      *string `json:"device_data,omitempty" url:"device_data,omitempty,key"`           // Device data string generated by the client
	ExpirationMonth *string `json:"expiration_month,omitempty" url:"expiration_month,omitempty,key"` // expiration month
	ExpirationYear  *string `json:"expiration_year,omitempty" url:"expiration_year,omitempty,key"`   // expiration year
	FirstName       *string `json:"first_name,omitempty" url:"first_name,omitempty,key"`             // the first name for payment method
	LastName        *string `json:"last_name,omitempty" url:"last_name,omitempty,key"`               // the last name for payment method
	Name            string  `json:"name" url:"name,key"`                                             // unique name of team
	Nonce           *string `json:"nonce,omitempty" url:"nonce,omitempty,key"`                       // Nonce generated by Braintree hosted fields form
	Other           *string `json:"other,omitempty" url:"other,omitempty,key"`                       // metadata
	PostalCode      *string `json:"postal_code,omitempty" url:"postal_code,omitempty,key"`           // postal code
	State           *string `json:"state,omitempty" url:"state,omitempty,key"`                       // state
}

type TeamDailyUsage added in v5.3.0

type TeamDailyUsage struct {
	Addons float64 `json:"addons" url:"addons,key"` // total add-on credits used
	Apps   []struct {
		Addons  float64 `json:"addons" url:"addons,key"`     // total add-on credits used
		AppName string  `json:"app_name" url:"app_name,key"` // unique name of app
		Data    float64 `json:"data" url:"data,key"`         // total add-on credits used for first party add-ons
		Dynos   float64 `json:"dynos" url:"dynos,key"`       // dynos used
		Partner float64 `json:"partner" url:"partner,key"`   // total add-on credits used for third party add-ons
	} `json:"apps" url:"apps,key"` // app usage in the team
	Data    float64 `json:"data" url:"data,key"`       // total add-on credits used for first party add-ons
	Date    string  `json:"date" url:"date,key"`       // date of the usage
	Dynos   float64 `json:"dynos" url:"dynos,key"`     // dynos used
	ID      string  `json:"id" url:"id,key"`           // team identifier
	Name    string  `json:"name" url:"name,key"`       // name of the team
	Partner float64 `json:"partner" url:"partner,key"` // total add-on credits used for third party add-ons
	Space   float64 `json:"space" url:"space,key"`     // space credits used
}

Usage for an enterprise team at a daily resolution.

type TeamDailyUsageInfoOpts added in v5.4.0

type TeamDailyUsageInfoOpts struct {
	End   *string `json:"end,omitempty" url:"end,omitempty,key"` // range end date
	Start string  `json:"start" url:"start,key"`                 // range start date
}

type TeamDailyUsageInfoResult added in v5.3.0

type TeamDailyUsageInfoResult []TeamDailyUsage

type TeamFeature

type TeamFeature struct {
	CreatedAt     time.Time `json:"created_at" url:"created_at,key"`         // when team feature was created
	Description   string    `json:"description" url:"description,key"`       // description of team feature
	DisplayName   string    `json:"display_name" url:"display_name,key"`     // user readable feature name
	DocURL        string    `json:"doc_url" url:"doc_url,key"`               // documentation URL of team feature
	Enabled       bool      `json:"enabled" url:"enabled,key"`               // whether or not team feature has been enabled
	FeedbackEmail string    `json:"feedback_email" url:"feedback_email,key"` // e-mail to send feedback about the feature
	ID            string    `json:"id" url:"id,key"`                         // unique identifier of team feature
	Name          string    `json:"name" url:"name,key"`                     // unique name of team feature
	State         string    `json:"state" url:"state,key"`                   // state of team feature
	UpdatedAt     time.Time `json:"updated_at" url:"updated_at,key"`         // when team feature was updated
}

A team feature represents a feature enabled on a team account.

type TeamFeatureListResult

type TeamFeatureListResult []TeamFeature

type TeamInvitation

type TeamInvitation struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when invitation was created
	ID        string    `json:"id" url:"id,key"`                 // unique identifier of an invitation
	InvitedBy struct {
		Email string  `json:"email" url:"email,key"` // unique email address of account
		ID    string  `json:"id" url:"id,key"`       // unique identifier of an account
		Name  *string `json:"name" url:"name,key"`   // full name of the account owner
	} `json:"invited_by" url:"invited_by,key"`
	Role *string `json:"role" url:"role,key"` // role in the team
	Team struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of team
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"team" url:"team,key"`
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when invitation was updated
	User      struct {
		Email string  `json:"email" url:"email,key"` // unique email address of account
		ID    string  `json:"id" url:"id,key"`       // unique identifier of an account
		Name  *string `json:"name" url:"name,key"`   // full name of the account owner
	} `json:"user" url:"user,key"`
}

A team invitation represents an invite to a team.

type TeamInvitationAcceptResult

type TeamInvitationAcceptResult struct {
	CreatedAt        time.Time `json:"created_at" url:"created_at,key"` // when the membership record was created
	Email            string    `json:"email" url:"email,key"`           // email address of the team member
	Federated        bool      `json:"federated" url:"federated,key"`   // whether the user is federated and belongs to an Identity Provider
	ID               string    `json:"id" url:"id,key"`                 // unique identifier of the team member
	IdentityProvider *struct {
		ID    string `json:"id" url:"id,key"`     // unique identifier of this identity provider
		Name  string `json:"name" url:"name,key"` // name of the identity provider
		Owner struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of the owner
			Name string `json:"name" url:"name,key"` // name of the owner
			Type string `json:"type" url:"type,key"` // type of the owner
		} `json:"owner" url:"owner,key"` // entity that owns this identity provider
		Redacted bool `json:"redacted" url:"redacted,key"` // whether the identity_provider information is redacted or not
	} `json:"identity_provider" url:"identity_provider,key"` // Identity Provider information the member is federated with
	Role                    *string `json:"role" url:"role,key"`                                           // role in the team
	TwoFactorAuthentication bool    `json:"two_factor_authentication" url:"two_factor_authentication,key"` // whether the Enterprise team member has two factor authentication
	// enabled
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the membership record was updated
	User      struct {
		Email string  `json:"email" url:"email,key"` // unique email address of account
		ID    string  `json:"id" url:"id,key"`       // unique identifier of an account
		Name  *string `json:"name" url:"name,key"`   // full name of the account owner
	} `json:"user" url:"user,key"` // user information for the membership
}

type TeamInvitationCreateOpts

type TeamInvitationCreateOpts struct {
	Email string  `json:"email" url:"email,key"` // unique email address of account
	Role  *string `json:"role" url:"role,key"`   // role in the team
}

type TeamInvitationListResult

type TeamInvitationListResult []TeamInvitation

type TeamInvoice

type TeamInvoice struct {
	AddonsTotal       int       `json:"addons_total" url:"addons_total,key"`               // total add-ons charges in on this invoice
	ChargesTotal      int       `json:"charges_total" url:"charges_total,key"`             // total charges on this invoice
	CreatedAt         time.Time `json:"created_at" url:"created_at,key"`                   // when invoice was created
	CreditsTotal      int       `json:"credits_total" url:"credits_total,key"`             // total credits on this invoice
	DatabaseTotal     int       `json:"database_total" url:"database_total,key"`           // total database charges on this invoice
	DynoUnits         float64   `json:"dyno_units" url:"dyno_units,key"`                   // total amount of dyno units consumed across dyno types.
	ID                string    `json:"id" url:"id,key"`                                   // unique identifier of this invoice
	Number            int       `json:"number" url:"number,key"`                           // human readable invoice number
	PaymentStatus     string    `json:"payment_status" url:"payment_status,key"`           // status of the invoice payment
	PeriodEnd         string    `json:"period_end" url:"period_end,key"`                   // the ending date that the invoice covers
	PeriodStart       string    `json:"period_start" url:"period_start,key"`               // the starting date that this invoice covers
	PlatformTotal     int       `json:"platform_total" url:"platform_total,key"`           // total platform charges on this invoice
	State             int       `json:"state" url:"state,key"`                             // payment status for this invoice (pending, successful, failed)
	Total             int       `json:"total" url:"total,key"`                             // combined total of charges and credits on this invoice
	UpdatedAt         time.Time `json:"updated_at" url:"updated_at,key"`                   // when invoice was updated
	WeightedDynoHours float64   `json:"weighted_dyno_hours" url:"weighted_dyno_hours,key"` // The total amount of hours consumed across dyno types.
}

A Team Invoice is an itemized bill of goods for a team which includes pricing and charges.

type TeamInvoiceListResult

type TeamInvoiceListResult []TeamInvoice

type TeamListByEnterpriseAccountResult added in v5.2.0

type TeamListByEnterpriseAccountResult []Team

type TeamListResult

type TeamListResult []Team

type TeamMember

type TeamMember struct {
	CreatedAt        time.Time `json:"created_at" url:"created_at,key"` // when the membership record was created
	Email            string    `json:"email" url:"email,key"`           // email address of the team member
	Federated        bool      `json:"federated" url:"federated,key"`   // whether the user is federated and belongs to an Identity Provider
	ID               string    `json:"id" url:"id,key"`                 // unique identifier of the team member
	IdentityProvider *struct {
		ID    string `json:"id" url:"id,key"`     // unique identifier of this identity provider
		Name  string `json:"name" url:"name,key"` // name of the identity provider
		Owner struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of the owner
			Name string `json:"name" url:"name,key"` // name of the owner
			Type string `json:"type" url:"type,key"` // type of the owner
		} `json:"owner" url:"owner,key"` // entity that owns this identity provider
		Redacted bool `json:"redacted" url:"redacted,key"` // whether the identity_provider information is redacted or not
	} `json:"identity_provider" url:"identity_provider,key"` // Identity Provider information the member is federated with
	Role                    *string `json:"role" url:"role,key"`                                           // role in the team
	TwoFactorAuthentication bool    `json:"two_factor_authentication" url:"two_factor_authentication,key"` // whether the Enterprise team member has two factor authentication
	// enabled
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when the membership record was updated
	User      struct {
		Email string  `json:"email" url:"email,key"` // unique email address of account
		ID    string  `json:"id" url:"id,key"`       // unique identifier of an account
		Name  *string `json:"name" url:"name,key"`   // full name of the account owner
	} `json:"user" url:"user,key"` // user information for the membership
}

A team member is an individual with access to a team.

type TeamMemberCreateOpts

type TeamMemberCreateOpts struct {
	Email     string `json:"email" url:"email,key"`                             // email address of the team member
	Federated *bool  `json:"federated,omitempty" url:"federated,omitempty,key"` // whether the user is federated and belongs to an Identity Provider
	Role      string `json:"role" url:"role,key"`                               // role in the team
}

type TeamMemberCreateOrUpdateOpts

type TeamMemberCreateOrUpdateOpts struct {
	Email     string `json:"email" url:"email,key"`                             // email address of the team member
	Federated *bool  `json:"federated,omitempty" url:"federated,omitempty,key"` // whether the user is federated and belongs to an Identity Provider
	Role      string `json:"role" url:"role,key"`                               // role in the team
}

type TeamMemberListByMemberResult

type TeamMemberListByMemberResult []struct {
	ArchivedAt *time.Time `json:"archived_at" url:"archived_at,key"` // when app was archived
	BuildStack struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"build_stack" url:"build_stack,key"` // identity of the stack that will be used for new builds
	BuildpackProvidedDescription *string   `json:"buildpack_provided_description" url:"buildpack_provided_description,key"` // description from buildpack of app
	CreatedAt                    time.Time `json:"created_at" url:"created_at,key"`                                         // when app was created
	GitURL                       string    `json:"git_url" url:"git_url,key"`                                               // git repo URL of app
	ID                           string    `json:"id" url:"id,key"`                                                         // unique identifier of app
	InternalRouting              *bool     `json:"internal_routing" url:"internal_routing,key"`                             // describes whether a Private Spaces app is externally routable or not
	Joined                       bool      `json:"joined" url:"joined,key"`                                                 // is the current member a collaborator on this app.
	Locked                       bool      `json:"locked" url:"locked,key"`                                                 // are other team members forbidden from joining this app.
	Maintenance                  bool      `json:"maintenance" url:"maintenance,key"`                                       // maintenance status of app
	Name                         string    `json:"name" url:"name,key"`                                                     // unique name of app
	Owner                        *struct {
		Email string `json:"email" url:"email,key"` // unique email address of account
		ID    string `json:"id" url:"id,key"`       // unique identifier of an account
	} `json:"owner" url:"owner,key"` // identity of app owner
	Region struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of region
		Name string `json:"name" url:"name,key"` // unique name of region
	} `json:"region" url:"region,key"` // identity of app region
	ReleasedAt *time.Time `json:"released_at" url:"released_at,key"` // when app was released
	RepoSize   *int       `json:"repo_size" url:"repo_size,key"`     // git repo size in bytes of app
	SlugSize   *int       `json:"slug_size" url:"slug_size,key"`     // slug size in bytes of app
	Space      *struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of space
		Name string `json:"name" url:"name,key"` // unique name of space
	} `json:"space" url:"space,key"` // identity of space
	Stack struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of stack
		Name string `json:"name" url:"name,key"` // unique name of stack
	} `json:"stack" url:"stack,key"` // identity of app stack
	Team *struct {
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"team" url:"team,key"` // team that owns this app
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when app was updated
	WebURL    string    `json:"web_url" url:"web_url,key"`       // web URL of app
}

type TeamMemberListResult

type TeamMemberListResult []TeamMember

type TeamMemberUpdateOpts

type TeamMemberUpdateOpts struct {
	Email     string `json:"email" url:"email,key"`                             // email address of the team member
	Federated *bool  `json:"federated,omitempty" url:"federated,omitempty,key"` // whether the user is federated and belongs to an Identity Provider
	Role      string `json:"role" url:"role,key"`                               // role in the team
}

type TeamMonthlyUsage added in v5.3.0

type TeamMonthlyUsage struct {
	Addons float64 `json:"addons" url:"addons,key"` // total add-on credits used
	Apps   []struct {
		Addons  float64 `json:"addons" url:"addons,key"`     // total add-on credits used
		AppName string  `json:"app_name" url:"app_name,key"` // unique name of app
		Data    float64 `json:"data" url:"data,key"`         // total add-on credits used for first party add-ons
		Dynos   float64 `json:"dynos" url:"dynos,key"`       // dynos used
		Partner float64 `json:"partner" url:"partner,key"`   // total add-on credits used for third party add-ons
	} `json:"apps" url:"apps,key"` // app usage in the team
	Connect float64 `json:"connect" url:"connect,key"` // average connect rows synced
	Data    float64 `json:"data" url:"data,key"`       // total add-on credits used for first party add-ons
	Dynos   float64 `json:"dynos" url:"dynos,key"`     // dynos used
	ID      string  `json:"id" url:"id,key"`           // team identifier
	Month   string  `json:"month" url:"month,key"`     // year and month of the usage
	Name    string  `json:"name" url:"name,key"`       // name of the team
	Partner float64 `json:"partner" url:"partner,key"` // total add-on credits used for third party add-ons
	Space   float64 `json:"space" url:"space,key"`     // space credits used
}

Usage for an enterprise team at a monthly resolution.

type TeamMonthlyUsageInfoOpts added in v5.4.0

type TeamMonthlyUsageInfoOpts struct {
	End   *string `json:"end,omitempty" url:"end,omitempty,key"` // range end date
	Start string  `json:"start" url:"start,key"`                 // range start date
}

type TeamMonthlyUsageInfoResult added in v5.3.0

type TeamMonthlyUsageInfoResult []TeamMonthlyUsage

type TeamPreferences

type TeamPreferences struct {
	AddonsControls *bool `json:"addons-controls" url:"addons-controls,key"` // Whether add-on service rules should be applied to add-on
	// installations
	DefaultPermission *string `json:"default-permission" url:"default-permission,key"` // The default permission used when adding new members to the team
}

Tracks a Team's Preferences

type TeamPreferencesUpdateOpts

type TeamPreferencesUpdateOpts struct {
	AddonsControls *bool `json:"addons-controls,omitempty" url:"addons-controls,omitempty,key"` // Whether add-on service rules should be applied to add-on

}

type TeamSpace added in v5.1.0

type TeamSpace struct{}

A space is an isolated, highly available, secure app execution environment.

type TeamSpaceListResult added in v5.1.0

type TeamSpaceListResult []struct {
	CIDR string `json:"cidr" url:"cidr,key"` // The RFC-1918 CIDR the Private Space will use. It must be a /16 in
	// 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when space was created
	DataCIDR  string    `json:"data_cidr" url:"data_cidr,key"`   // The RFC-1918 CIDR that the Private Space will use for the
	// Heroku-managed peering connection that's automatically created when
	// using Heroku Data add-ons. It must be between a /16 and a /20
	ID           string `json:"id" url:"id,key"`     // unique identifier of space
	Name         string `json:"name" url:"name,key"` // unique name of space
	Organization struct {
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"organization" url:"organization,key"` // organization that owns this space
	Region struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of region
		Name string `json:"name" url:"name,key"` // unique name of region
	} `json:"region" url:"region,key"` // identity of space region
	Shield bool   `json:"shield" url:"shield,key"` // true if this space has shield enabled
	State  string `json:"state" url:"state,key"`   // availability of this space
	Team   struct {
		ID   string `json:"id" url:"id,key"`     // unique identifier of team
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"team" url:"team,key"` // team that owns this space
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when space was updated
}

type TeamUpdateOpts

type TeamUpdateOpts struct {
	Default *bool   `json:"default,omitempty" url:"default,omitempty,key"` // whether to use this team when none is specified
	Name    *string `json:"name,omitempty" url:"name,omitempty,key"`       // unique name of team
}

type TestCase

type TestCase struct {
	CreatedAt   time.Time `json:"created_at" url:"created_at,key"`   // when test case was created
	Description string    `json:"description" url:"description,key"` // description of the test case
	Diagnostic  string    `json:"diagnostic" url:"diagnostic,key"`   // meta information about the test case
	Directive   string    `json:"directive" url:"directive,key"`     // special note about the test case e.g. skipped, todo
	ID          string    `json:"id" url:"id,key"`                   // unique identifier of a test case
	Number      int       `json:"number" url:"number,key"`           // the test number
	Passed      bool      `json:"passed" url:"passed,key"`           // whether the test case was successful
	TestNode    struct {
		ID string `json:"id" url:"id,key"` // unique identifier of a test node
	} `json:"test_node" url:"test_node,key"` // the test node which executed this test case
	TestRun struct {
		ID string `json:"id" url:"id,key"` // unique identifier of a test run
	} `json:"test_run" url:"test_run,key"` // the test run which owns this test case
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when test case was updated
}

A single test case belonging to a test run

type TestCaseListResult

type TestCaseListResult []TestCase

type TestNode

type TestNode struct {
	CreatedAt time.Time `json:"created_at" url:"created_at,key"` // when test node was created
	Dyno      *struct {
		AttachURL *string `json:"attach_url" url:"attach_url,key"` // a URL to stream output from for debug runs or null for non-debug runs
		ID        string  `json:"id" url:"id,key"`                 // unique identifier of this dyno
	} `json:"dyno" url:"dyno,key"` // the dyno which belongs to this test node
	ErrorStatus     *string `json:"error_status" url:"error_status,key"`           // the status of the test run when the error occured
	ExitCode        *int    `json:"exit_code" url:"exit_code,key"`                 // the exit code of the test script
	ID              string  `json:"id" url:"id,key"`                               // unique identifier of a test node
	Index           int     `json:"index" url:"index,key"`                         // The index of the test node
	Message         *string `json:"message" url:"message,key"`                     // human friendly message indicating reason for an error
	OutputStreamURL string  `json:"output_stream_url" url:"output_stream_url,key"` // the streaming output for the test node
	Pipeline        struct {
		ID string `json:"id" url:"id,key"` // unique identifier of pipeline
	} `json:"pipeline" url:"pipeline,key"` // the pipeline which owns this test node
	SetupStreamURL string `json:"setup_stream_url" url:"setup_stream_url,key"` // the streaming test setup output for the test node
	Status         string `json:"status" url:"status,key"`                     // current state of the test run
	TestRun        struct {
		ID string `json:"id" url:"id,key"` // unique identifier of a test run
	} `json:"test_run" url:"test_run,key"` // the test run which owns this test node
	UpdatedAt time.Time `json:"updated_at" url:"updated_at,key"` // when test node was updated
}

A single test node belonging to a test run

type TestNodeListResult

type TestNodeListResult []TestNode

type TestRun

type TestRun struct {
	ActorEmail    string    `json:"actor_email" url:"actor_email,key"`       // the email of the actor triggering the test run
	AppSetup      *struct{} `json:"app_setup" url:"app_setup,key"`           // the app setup for the test run
	ClearCache    *bool     `json:"clear_cache" url:"clear_cache,key"`       // whether the test was run with an empty cache
	CommitBranch  string    `json:"commit_branch" url:"commit_branch,key"`   // the branch of the repository that the test run concerns
	CommitMessage string    `json:"commit_message" url:"commit_message,key"` // the message for the commit under test
	CommitSha     string    `json:"commit_sha" url:"commit_sha,key"`         // the SHA hash of the commit under test
	CreatedAt     time.Time `json:"created_at" url:"created_at,key"`         // when test run was created
	Debug         bool      `json:"debug" url:"debug,key"`                   // whether the test run was started for interactive debugging
	Dyno          *struct {
		Size string `json:"size" url:"size,key"` // dyno size (default: "standard-1X")
	} `json:"dyno" url:"dyno,key"` // the type of dynos used for this test-run
	ID           string  `json:"id" url:"id,key"`           // unique identifier of a test run
	Message      *string `json:"message" url:"message,key"` // human friendly message indicating reason for an error
	Number       int     `json:"number" url:"number,key"`   // the auto incrementing test run number
	Organization *struct {
		Name string `json:"name" url:"name,key"` // unique name of team
	} `json:"organization" url:"organization,key"` // the team that owns this test-run
	Pipeline struct {
		ID string `json:"id" url:"id,key"` // unique identifier of pipeline
	} `json:"pipeline" url:"pipeline,key"` // the pipeline which owns this test-run
	SourceBlobURL string    `json:"source_blob_url" url:"source_blob_url,key"` // The download location for the source code to be tested
	Status        string    `json:"status" url:"status,key"`                   // current state of the test run
	UpdatedAt     time.Time `json:"updated_at" url:"updated_at,key"`           // when test-run was updated
	User          struct {
		AllowTracking       bool      `json:"allow_tracking" url:"allow_tracking,key"`             // whether to allow third party web activity tracking
		Beta                bool      `json:"beta" url:"beta,key"`                                 // whether allowed to utilize beta Heroku features
		CountryOfResidence  *string   `json:"country_of_residence" url:"country_of_residence,key"` // country where account owner resides
		CreatedAt           time.Time `json:"created_at" url:"created_at,key"`                     // when account was created
		DefaultOrganization *struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of team
			Name string `json:"name" url:"name,key"` // unique name of team
		} `json:"default_organization" url:"default_organization,key"` // team selected by default
		DefaultTeam *struct {
			ID   string `json:"id" url:"id,key"`     // unique identifier of team
			Name string `json:"name" url:"name,key"` // unique name of team
		} `json:"default_team" url:"default_team,key"` // team selected by default
		DelinquentAt     *time.Time `json:"delinquent_at" url:"delinquent_at,key"` // when account became delinquent
		Email            string     `json:"email" url:"email,key"`                 // unique email address of account
		Federated        bool       `json:"federated" url:"federated,key"`         // whether the user is federated and belongs to an Identity Provider
		ID               string     `json:"id" url:"id,key"`                       // unique identifier of an account
		IdentityProvider *struct {
			ID           string `json:"id" url:"id,key"`     // unique identifier of this identity provider
			Name         string `json:"name" url:"name,key"` // user-friendly unique identifier for this identity provider
			Organization struct {
				Name string `json:"name" url:"name,key"` // unique name of team
			} `json:"organization" url:"organization,key"`
			Owner struct {
				ID   string `json:"id" url:"id,key"`     // unique identifier of the owner
				Name string `json:"name" url:"name,key"` // name of the owner
				Type string `json:"type" url:"type,key"` // type of the owner
			} `json:"owner" url:"owner,key"` // entity that owns this identity provider
			Team struct {
				Name string `json:"name" url:"name,key"` // unique name of team
			} `json:"team" url:"team,key"`
		} `json:"identity_provider" url:"identity_provider,key"` // Identity Provider details for federated users.
		LastLogin               *time.Time `json:"last_login" url:"last_login,key"`                               // when account last authorized with Heroku
		Name                    *string    `json:"name" url:"name,key"`                                           // full name of the account owner
		SmsNumber               *string    `json:"sms_number" url:"sms_number,key"`                               // SMS number of account
		SuspendedAt             *time.Time `json:"suspended_at" url:"suspended_at,key"`                           // when account was suspended
		TwoFactorAuthentication bool       `json:"two_factor_authentication" url:"two_factor_authentication,key"` // whether two-factor auth is enabled on the account
		UpdatedAt               time.Time  `json:"updated_at" url:"updated_at,key"`                               // when account was updated
		Verified                bool       `json:"verified" url:"verified,key"`                                   // whether account has been verified with billing information
	} `json:"user" url:"user,key"` // An account represents an individual signed up to use the Heroku
	// platform.
	WarningMessage *string `json:"warning_message" url:"warning_message,key"` // human friently warning emitted during the test run
}

An execution or trial of one or more tests

type TestRunCreateOpts

type TestRunCreateOpts struct {
	CommitBranch  string  `json:"commit_branch" url:"commit_branch,key"`                   // the branch of the repository that the test run concerns
	CommitMessage string  `json:"commit_message" url:"commit_message,key"`                 // the message for the commit under test
	CommitSha     string  `json:"commit_sha" url:"commit_sha,key"`                         // the SHA hash of the commit under test
	Debug         *bool   `json:"debug,omitempty" url:"debug,omitempty,key"`               // whether the test run was started for interactive debugging
	Organization  *string `json:"organization,omitempty" url:"organization,omitempty,key"` // unique name of team
	Pipeline      string  `json:"pipeline" url:"pipeline,key"`                             // unique identifier of pipeline
	SourceBlobURL string  `json:"source_blob_url" url:"source_blob_url,key"`               // The download location for the source code to be tested
}

type TestRunListResult

type TestRunListResult []TestRun

type TestRunUpdateOpts

type TestRunUpdateOpts struct {
	Message *string `json:"message" url:"message,key"` // human friendly message indicating reason for an error
	Status  string  `json:"status" url:"status,key"`   // current state of the test run
}

type Transport

type Transport struct {
	// Username is the HTTP basic auth username for API calls made by this Client.
	Username string

	// Password is the HTTP basic auth password for API calls made by this Client.
	Password string

	// BearerToken is a bearer token to authorize the request with. If this is
	// set, the basic auth credentials will be ignored.
	BearerToken string

	// UserAgent to be provided in API requests. Set to DefaultUserAgent if not
	// specified.
	UserAgent string

	// Debug mode can be used to dump the full request and response to stdout.
	Debug bool

	// AdditionalHeaders are extra headers to add to each HTTP request sent by
	// this Client.
	AdditionalHeaders http.Header

	// Transport is the HTTP transport to use when making requests.
	// It will default to http.DefaultTransport if nil.
	Transport http.RoundTripper
}

func (*Transport) CancelRequest

func (t *Transport) CancelRequest(req *http.Request)

Forward CancelRequest to underlying Transport

func (*Transport) RoundTrip

func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error)

type UserPreferences

type UserPreferences struct {
	DefaultOrganization        *string `json:"default-organization" url:"default-organization,key"`                   // User's default team
	DismissedGettingStarted    *bool   `json:"dismissed-getting-started" url:"dismissed-getting-started,key"`         // Whether the user has dismissed the getting started banner
	DismissedGithubBanner      *bool   `json:"dismissed-github-banner" url:"dismissed-github-banner,key"`             // Whether the user has dismissed the GitHub link banner
	DismissedOrgAccessControls *bool   `json:"dismissed-org-access-controls" url:"dismissed-org-access-controls,key"` // Whether the user has dismissed the Organization Access Controls
	// banner
	DismissedOrgWizardNotification *bool `json:"dismissed-org-wizard-notification" url:"dismissed-org-wizard-notification,key"` // Whether the user has dismissed the Organization Wizard
	DismissedPipelinesBanner       *bool `json:"dismissed-pipelines-banner" url:"dismissed-pipelines-banner,key"`               // Whether the user has dismissed the Pipelines banner
	DismissedPipelinesGithubBanner *bool `json:"dismissed-pipelines-github-banner" url:"dismissed-pipelines-github-banner,key"` // Whether the user has dismissed the GitHub banner on a pipeline
	// overview
	DismissedPipelinesGithubBanners []string `json:"dismissed-pipelines-github-banners" url:"dismissed-pipelines-github-banners,key"` // Which pipeline uuids the user has dismissed the GitHub banner for
	DismissedSmsBanner              *bool    `json:"dismissed-sms-banner" url:"dismissed-sms-banner,key"`                             // Whether the user has dismissed the 2FA SMS banner
	Timezone                        *string  `json:"timezone" url:"timezone,key"`                                                     // User's default timezone
}

Tracks a user's preferences and message dismissals

type UserPreferencesUpdateOpts

type UserPreferencesUpdateOpts struct {
	DefaultOrganization        *string `json:"default-organization,omitempty" url:"default-organization,omitempty,key"`                   // User's default team
	DismissedGettingStarted    *bool   `json:"dismissed-getting-started,omitempty" url:"dismissed-getting-started,omitempty,key"`         // Whether the user has dismissed the getting started banner
	DismissedGithubBanner      *bool   `json:"dismissed-github-banner,omitempty" url:"dismissed-github-banner,omitempty,key"`             // Whether the user has dismissed the GitHub link banner
	DismissedOrgAccessControls *bool   `json:"dismissed-org-access-controls,omitempty" url:"dismissed-org-access-controls,omitempty,key"` // Whether the user has dismissed the Organization Access Controls
	// banner
	DismissedOrgWizardNotification *bool `json:"dismissed-org-wizard-notification,omitempty" url:"dismissed-org-wizard-notification,omitempty,key"` // Whether the user has dismissed the Organization Wizard
	DismissedPipelinesBanner       *bool `json:"dismissed-pipelines-banner,omitempty" url:"dismissed-pipelines-banner,omitempty,key"`               // Whether the user has dismissed the Pipelines banner
	DismissedPipelinesGithubBanner *bool `json:"dismissed-pipelines-github-banner,omitempty" url:"dismissed-pipelines-github-banner,omitempty,key"` // Whether the user has dismissed the GitHub banner on a pipeline
	// overview
	DismissedPipelinesGithubBanners []*string `json:"dismissed-pipelines-github-banners,omitempty" url:"dismissed-pipelines-github-banners,omitempty,key"` // Which pipeline uuids the user has dismissed the GitHub banner for
	DismissedSmsBanner              *bool     `json:"dismissed-sms-banner,omitempty" url:"dismissed-sms-banner,omitempty,key"`                             // Whether the user has dismissed the 2FA SMS banner
	Timezone                        *string   `json:"timezone,omitempty" url:"timezone,omitempty,key"`                                                     // User's default timezone
}

type VPNConnection

type VPNConnection struct {
	ID             string   `json:"id" url:"id,key"`                             // VPN ID
	IKEVersion     int      `json:"ike_version" url:"ike_version,key"`           // IKE Version
	Name           string   `json:"name" url:"name,key"`                         // VPN Name
	PublicIP       string   `json:"public_ip" url:"public_ip,key"`               // Public IP of VPN customer gateway
	RoutableCidrs  []string `json:"routable_cidrs" url:"routable_cidrs,key"`     // Routable CIDRs of VPN
	SpaceCIDRBlock string   `json:"space_cidr_block" url:"space_cidr_block,key"` // CIDR Block of the Private Space
	Status         string   `json:"status" url:"status,key"`                     // Status of the VPN
	StatusMessage  string   `json:"status_message" url:"status_message,key"`     // Details of the status
	Tunnels        []struct {
		CustomerIP       string `json:"customer_ip" url:"customer_ip,key"`               // Public IP address for the customer side of the tunnel
		IP               string `json:"ip" url:"ip,key"`                                 // Public IP address for the tunnel
		LastStatusChange string `json:"last_status_change" url:"last_status_change,key"` // Timestamp of last status changed
		PreSharedKey     string `json:"pre_shared_key" url:"pre_shared_key,key"`         // Pre-shared key
		Status           string `json:"status" url:"status,key"`                         // Status of the tunnel
		StatusMessage    string `json:"status_message" url:"status_message,key"`         // Details of the status
	} `json:"tunnels" url:"tunnels,key"`
}

[VPN](https://devcenter.heroku.com/articles/private-space-vpn-connecti on) provides a way to connect your Private Spaces to your network via VPN.

type VPNConnectionCreateOpts

type VPNConnectionCreateOpts struct {
	Name          string   `json:"name" url:"name,key"`                     // VPN Name
	PublicIP      string   `json:"public_ip" url:"public_ip,key"`           // Public IP of VPN customer gateway
	RoutableCidrs []string `json:"routable_cidrs" url:"routable_cidrs,key"` // Routable CIDRs of VPN
}

type VPNConnectionListResult

type VPNConnectionListResult []VPNConnection

type VPNConnectionUpdateOpts added in v5.3.0

type VPNConnectionUpdateOpts struct {
	RoutableCidrs []string `json:"routable_cidrs" url:"routable_cidrs,key"` // Routable CIDRs of VPN
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL