platform-api 2.3.0.pre.1 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e5c181f162b1a58300c830b60882942c44e7a0a3df7934b981a51e8ddf90197
4
- data.tar.gz: a31f82c2c643be9b590e5e7fa998b4f7bedc2978740d1348fa3688f988ae39c3
3
+ metadata.gz: a6e49cd394a0604607050110b325326eb7ede3f8fc106b4bd0fd9af469805e24
4
+ data.tar.gz: 58c8c8a6bc8f27960ef512faa4426dd29590ad9702403bfcc52e485913cd997a
5
5
  SHA512:
6
- metadata.gz: a3ff6920f3910cd0bb903720e32b79e738344b026ac430df7718ab17c9610df0a43495bd386d7687757c294086377659f17cd76024cba073c86c42bba8fc76ed
7
- data.tar.gz: f747bb0571bf6fba9de8a1f07d33018059f9f82a6194e391c73de6934b6efaba0c6a272da689723a27fa88bc6d2d540b2553eb5f48ed6d9fb786f03124f1be26
6
+ metadata.gz: 273953ff91506216f6623402f6bfdec5cbd0bc394578747a42f06999142d74d24834b0e02015bd6e3597c1b0421d443af4dff88432e13814a44da359f2e12561
7
+ data.tar.gz: decc03b9d7448b9f4087c7c09c68ce4ac2024c2be222e8c90d3dcab09bf9bea374d938fba1b1aefd41dd78f9c638c4ab65f9f94b4a2a0e79b51299ba89ee072b
@@ -1,5 +1,7 @@
1
1
  name: Check Changelog
2
- on: [pull_request]
2
+ on:
3
+ pull_request:
4
+ types: [opened, reopened, edited, synchronize]
3
5
  jobs:
4
6
  build:
5
7
  runs-on: ubuntu-latest
@@ -1,10 +1,18 @@
1
1
  ## Master (unreleased)
2
2
 
3
+ ## 3.2.0
4
+
5
+ - Pull latest JSON Schema and regenerated API.
6
+
7
+ ## 3.1.0
8
+
9
+ - Pull latest JSON Schema and regenerated API.
10
+
3
11
  ## 3.0.0
4
12
 
5
- - Rate throttling is on by default.
13
+ - Rate throttling is on by default. (https://github.com/heroku/platform-api/pull/104)
6
14
 
7
15
  ## 2.3.0
8
16
 
9
- - Changes are now tracked in the CHANGELOG.md
10
- - Rate throttling is included by default but disabled.
17
+ - Changes are now tracked in the CHANGELOG.md.
18
+ - Rate throttling is included by default but disabled. (https://github.com/heroku/platform-api/pull/103)
@@ -2,23 +2,14 @@
2
2
  require 'heroics'
3
3
  require 'rate_throttle_client'
4
4
 
5
- require File.join(File.expand_path('../..', __FILE__), 'lib', 'platform-api')
5
+ require_relative '../lib/platform-api.rb'
6
6
 
7
7
  Heroics.default_configuration do |config|
8
8
  config.base_url = 'https://api.heroku.com'
9
9
  config.module_name = 'PlatformAPI'
10
10
  config.schema_filepath = File.join(File.expand_path('../..', __FILE__), 'schema.json')
11
11
 
12
- PlatformAPI.rate_throttle = ->(&block) {
13
- @deprecate_on_first ||= begin
14
- message = String.new("[Warning] Starting in PlatformAPI version 3+, requests will include rate throttling logic\n")
15
- message << "to opt-out of this behavior set: `PlatformAPI.rate_throttle = RateThrottleClient::Null.new`\n"
16
- message << "to silence this warning and opt-in to this logic, upgrade to PlatformAPI version 3+"
17
- warn message
18
- true
19
- end
20
- block.call
21
- }
12
+ PlatformAPI.rate_throttle = RateThrottleClient::ExponentialIncreaseProportionalRemainingDecrease.new
22
13
  config.rate_throttle = PlatformAPI.rate_throttle
23
14
  config.acceptable_status_codes = [429]
24
15
 
@@ -1,5 +1,6 @@
1
1
  require 'heroics'
2
2
  require 'moneta'
3
+ require 'platform-api/version'
3
4
 
4
5
  # Ruby HTTP client for the Heroku API.
5
6
  module PlatformAPI
@@ -18,4 +19,3 @@ end
18
19
 
19
20
  require_relative '../config/client-config'
20
21
  require 'platform-api/client'
21
- require 'platform-api/version'
@@ -83,7 +83,7 @@ module PlatformAPI
83
83
 
84
84
  # Get the default options.
85
85
  def self.default_options
86
- default_headers = {"Accept"=>"application/vnd.heroku+json; version=3", "User-Agent"=>"platform-api/2.3.0.pre.1"}
86
+ default_headers = {"Accept"=>"application/vnd.heroku+json; version=3", "User-Agent"=>"platform-api/3.2.0"}
87
87
  {
88
88
  default_headers: default_headers,
89
89
  url: "https://api.heroku.com"
@@ -112,7 +112,7 @@ module PlatformAPI
112
112
  @account_resource ||= Account.new(@client)
113
113
  end
114
114
 
115
- # Add-on Actions are lifecycle operations for add-on provisioning and deprovisioning. They allow whitelisted add-on providers to (de)provision add-ons in the background and then report back when (de)provisioning is complete.
115
+ # 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.
116
116
  #
117
117
  # @return [AddonAction]
118
118
  def addon_action
@@ -182,6 +182,13 @@ module PlatformAPI
182
182
  @addon_resource ||= Addon.new(@client)
183
183
  end
184
184
 
185
+ # Entities that have been allowed to be used by a Team
186
+ #
187
+ # @return [AllowedAddonService]
188
+ def allowed_addon_service
189
+ @allowed_addon_service_resource ||= AllowedAddonService.new(@client)
190
+ end
191
+
185
192
  # An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.
186
193
  #
187
194
  # @return [AppFeature]
@@ -245,6 +252,13 @@ module PlatformAPI
245
252
  @archive_resource ||= Archive.new(@client)
246
253
  end
247
254
 
255
+ # An audit trail event represents some action on the platform
256
+ #
257
+ # @return [AuditTrailEvent]
258
+ def audit_trail_event
259
+ @audit_trail_event_resource ||= AuditTrailEvent.new(@client)
260
+ end
261
+
248
262
  # A build represents the process of transforming a code tarball into a slug
249
263
  #
250
264
  # @return [Build]
@@ -329,13 +343,6 @@ module PlatformAPI
329
343
  @enterprise_account_resource ||= EnterpriseAccount.new(@client)
330
344
  end
331
345
 
332
- # An audit trail event represents some action on the platform
333
- #
334
- # @return [Event]
335
- def event
336
- @event_resource ||= Event.new(@client)
337
- end
338
-
339
346
  # 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.
340
347
  #
341
348
  # @return [FilterApps]
@@ -616,6 +623,13 @@ module PlatformAPI
616
623
  @space_nat_resource ||= SpaceNat.new(@client)
617
624
  end
618
625
 
626
+ # 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.
627
+ #
628
+ # @return [SpaceTopology]
629
+ def space_topology
630
+ @space_topology_resource ||= SpaceTopology.new(@client)
631
+ end
632
+
619
633
  # Transfer spaces between enterprise teams with the same Enterprise Account.
620
634
  #
621
635
  # @return [SpaceTransfer]
@@ -853,7 +867,7 @@ module PlatformAPI
853
867
  end
854
868
  end
855
869
 
856
- # Add-on Actions are lifecycle operations for add-on provisioning and deprovisioning. They allow whitelisted add-on providers to (de)provision add-ons in the background and then report back when (de)provisioning is complete.
870
+ # 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.
857
871
  class AddonAction
858
872
  def initialize(client)
859
873
  @client = client
@@ -1181,6 +1195,36 @@ module PlatformAPI
1181
1195
  end
1182
1196
  end
1183
1197
 
1198
+ # Entities that have been allowed to be used by a Team
1199
+ class AllowedAddonService
1200
+ def initialize(client)
1201
+ @client = client
1202
+ end
1203
+
1204
+ # List all allowed add-on services for a team
1205
+ #
1206
+ # @param team_name_or_team_id: unique name of team or unique identifier of team
1207
+ def list_by_team(team_name_or_team_id)
1208
+ @client.allowed_addon_service.list_by_team(team_name_or_team_id)
1209
+ end
1210
+
1211
+ # Allow an Add-on Service
1212
+ #
1213
+ # @param team_name_or_team_id: unique name of team or unique identifier of team
1214
+ # @param body: the object to pass as the request payload
1215
+ def create_by_team(team_name_or_team_id, body = {})
1216
+ @client.allowed_addon_service.create_by_team(team_name_or_team_id, body)
1217
+ end
1218
+
1219
+ # Remove an allowed add-on service
1220
+ #
1221
+ # @param team_name_or_team_id: unique name of team or unique identifier of team
1222
+ # @param allowed_addon_service_id_or_addon_service_name: unique identifier for this allowed add-on service record or unique name of this add-on-service
1223
+ def delete_by_team(team_name_or_team_id, allowed_addon_service_id_or_addon_service_name)
1224
+ @client.allowed_addon_service.delete_by_team(team_name_or_team_id, allowed_addon_service_id_or_addon_service_name)
1225
+ end
1226
+ end
1227
+
1184
1228
  # An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.
1185
1229
  class AppFeature
1186
1230
  def initialize(client)
@@ -1464,6 +1508,20 @@ module PlatformAPI
1464
1508
  end
1465
1509
  end
1466
1510
 
1511
+ # An audit trail event represents some action on the platform
1512
+ class AuditTrailEvent
1513
+ def initialize(client)
1514
+ @client = client
1515
+ end
1516
+
1517
+ # List existing events.
1518
+ #
1519
+ # @param enterprise_account_id: unique identifier of the enterprise account
1520
+ def list(enterprise_account_id)
1521
+ @client.audit_trail_event.list(enterprise_account_id)
1522
+ end
1523
+ end
1524
+
1467
1525
  # A build represents the process of transforming a code tarball into a slug
1468
1526
  class Build
1469
1527
  def initialize(client)
@@ -1623,6 +1681,14 @@ module PlatformAPI
1623
1681
  @client = client
1624
1682
  end
1625
1683
 
1684
+ # Create a new domain. Deprecated in favor of this same endpoint, but with a new required attribute of `sni_endpoint`. During the transitional phase sni_endpoint can be omitted entirely (current behavior), can be a valid id, or can be null which will skip auto-association.
1685
+ #
1686
+ # @param app_id_or_app_name: unique identifier of app or unique name of app
1687
+ # @param body: the object to pass as the request payload
1688
+ def create_deprecated(app_id_or_app_name, body = {})
1689
+ @client.domain.create_deprecated(app_id_or_app_name, body)
1690
+ end
1691
+
1626
1692
  # Create a new domain.
1627
1693
  #
1628
1694
  # @param app_id_or_app_name: unique identifier of app or unique name of app
@@ -1631,6 +1697,15 @@ module PlatformAPI
1631
1697
  @client.domain.create(app_id_or_app_name, body)
1632
1698
  end
1633
1699
 
1700
+ # Associate an SNI endpoint
1701
+ #
1702
+ # @param app_id_or_app_name: unique identifier of app or unique name of app
1703
+ # @param domain_id_or_domain_hostname: unique identifier of this domain or full hostname
1704
+ # @param body: the object to pass as the request payload
1705
+ def update(app_id_or_app_name, domain_id_or_domain_hostname, body = {})
1706
+ @client.domain.update(app_id_or_app_name, domain_id_or_domain_hostname, body)
1707
+ end
1708
+
1634
1709
  # Delete an existing domain
1635
1710
  #
1636
1711
  # @param app_id_or_app_name: unique identifier of app or unique name of app
@@ -1821,20 +1896,6 @@ module PlatformAPI
1821
1896
  end
1822
1897
  end
1823
1898
 
1824
- # An audit trail event represents some action on the platform
1825
- class Event
1826
- def initialize(client)
1827
- @client = client
1828
- end
1829
-
1830
- # List existing events.
1831
- #
1832
- # @param enterprise_account_id: unique identifier of the enterprise account
1833
- def list(enterprise_account_id)
1834
- @client.event.list(enterprise_account_id)
1835
- end
1836
- end
1837
-
1838
1899
  # 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.
1839
1900
  class FilterApps
1840
1901
  def initialize(client)
@@ -2907,6 +2968,20 @@ module PlatformAPI
2907
2968
  end
2908
2969
  end
2909
2970
 
2971
+ # 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.
2972
+ class SpaceTopology
2973
+ def initialize(client)
2974
+ @client = client
2975
+ end
2976
+
2977
+ # Current space topology
2978
+ #
2979
+ # @param space_id_or_space_name: unique identifier of space or unique name of space
2980
+ def topology(space_id_or_space_name)
2981
+ @client.space_topology.topology(space_id_or_space_name)
2982
+ end
2983
+ end
2984
+
2910
2985
  # Transfer spaces between enterprise teams with the same Enterprise Account.
2911
2986
  class SpaceTransfer
2912
2987
  def initialize(client)
@@ -3940,6 +4015,42 @@ module PlatformAPI
3940
4015
  "type": [
3941
4016
  "boolean"
3942
4017
  ]
4018
+ },
4019
+ "acknowledged_msa": {
4020
+ "description": "whether account has acknowledged the MSA terms of service",
4021
+ "example": false,
4022
+ "readOnly": true,
4023
+ "type": [
4024
+ "boolean"
4025
+ ]
4026
+ },
4027
+ "acknowledged_msa_at": {
4028
+ "description": "when account has acknowledged the MSA terms of service",
4029
+ "example": "2012-01-01T12:00:00Z",
4030
+ "format": "date-time",
4031
+ "readOnly": true,
4032
+ "type": [
4033
+ "string",
4034
+ "null"
4035
+ ]
4036
+ },
4037
+ "italian_customer_terms": {
4038
+ "description": "whether account has acknowledged the Italian customer terms of service",
4039
+ "example": "affirmatively_accepted",
4040
+ "readOnly": true,
4041
+ "type": [
4042
+ "string",
4043
+ "null"
4044
+ ]
4045
+ },
4046
+ "italian_partner_terms": {
4047
+ "description": "whether account has acknowledged the Italian provider terms of service",
4048
+ "example": "affirmatively_accepted",
4049
+ "readOnly": true,
4050
+ "type": [
4051
+ "string",
4052
+ "null"
4053
+ ]
3943
4054
  }
3944
4055
  },
3945
4056
  "links": [
@@ -4153,6 +4264,18 @@ module PlatformAPI
4153
4264
  "verified": {
4154
4265
  "$ref": "#/definitions/account/definitions/verified"
4155
4266
  },
4267
+ "acknowledged_msa": {
4268
+ "$ref": "#/definitions/account/definitions/acknowledged_msa"
4269
+ },
4270
+ "acknowledged_msa_at": {
4271
+ "$ref": "#/definitions/account/definitions/acknowledged_msa_at"
4272
+ },
4273
+ "italian_customer_terms": {
4274
+ "$ref": "#/definitions/account/definitions/italian_customer_terms"
4275
+ },
4276
+ "italian_partner_terms": {
4277
+ "$ref": "#/definitions/account/definitions/italian_partner_terms"
4278
+ },
4156
4279
  "default_organization": {
4157
4280
  "description": "team selected by default",
4158
4281
  "properties": {
@@ -4188,7 +4311,7 @@ module PlatformAPI
4188
4311
  }
4189
4312
  },
4190
4313
  "add-on-action": {
4191
- "description": "Add-on Actions are lifecycle operations for add-on provisioning and deprovisioning. They allow whitelisted add-on providers to (de)provision add-ons in the background and then report back when (de)provisioning is complete.",
4314
+ "description": "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.",
4192
4315
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
4193
4316
  "stability": "development",
4194
4317
  "strictProperties": true,
@@ -5721,6 +5844,157 @@ module PlatformAPI
5721
5844
  }
5722
5845
  }
5723
5846
  },
5847
+ "allowed-add-on-service": {
5848
+ "description": "Entities that have been allowed to be used by a Team",
5849
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
5850
+ "stability": "prototype",
5851
+ "strictProperties": true,
5852
+ "title": "Heroku Platform API - Allowed Add-on Service",
5853
+ "type": [
5854
+ "object"
5855
+ ],
5856
+ "definitions": {
5857
+ "added_at": {
5858
+ "description": "when the add-on service was allowed",
5859
+ "example": "2012-01-01T12:00:00Z",
5860
+ "format": "date-time",
5861
+ "readOnly": true,
5862
+ "type": [
5863
+ "string"
5864
+ ]
5865
+ },
5866
+ "added_by": {
5867
+ "description": "the user which allowed the add-on service",
5868
+ "properties": {
5869
+ "email": {
5870
+ "$ref": "#/definitions/account/definitions/email",
5871
+ "type": [
5872
+ "string",
5873
+ "null"
5874
+ ]
5875
+ },
5876
+ "id": {
5877
+ "$ref": "#/definitions/account/definitions/id",
5878
+ "type": [
5879
+ "string",
5880
+ "null"
5881
+ ]
5882
+ }
5883
+ },
5884
+ "readOnly": true,
5885
+ "type": [
5886
+ "object"
5887
+ ]
5888
+ },
5889
+ "addon_service": {
5890
+ "description": "the add-on service allowed for use",
5891
+ "properties": {
5892
+ "id": {
5893
+ "$ref": "#/definitions/add-on-service/definitions/id"
5894
+ },
5895
+ "name": {
5896
+ "$ref": "#/definitions/add-on-service/definitions/name"
5897
+ },
5898
+ "human_name": {
5899
+ "$ref": "#/definitions/add-on-service/definitions/human_name"
5900
+ }
5901
+ },
5902
+ "readOnly": true,
5903
+ "type": [
5904
+ "object"
5905
+ ]
5906
+ },
5907
+ "id": {
5908
+ "description": "unique identifier for this allowed add-on service record",
5909
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
5910
+ "format": "uuid",
5911
+ "readOnly": true,
5912
+ "type": [
5913
+ "string"
5914
+ ]
5915
+ },
5916
+ "identity": {
5917
+ "anyOf": [
5918
+ {
5919
+ "$ref": "#/definitions/allowed-add-on-service/definitions/id"
5920
+ },
5921
+ {
5922
+ "$ref": "#/definitions/add-on-service/definitions/name"
5923
+ }
5924
+ ]
5925
+ }
5926
+ },
5927
+ "links": [
5928
+ {
5929
+ "description": "List all allowed add-on services for a team",
5930
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/allowed-addon-services",
5931
+ "method": "GET",
5932
+ "rel": "instances",
5933
+ "targetSchema": {
5934
+ "items": {
5935
+ "$ref": "#/definitions/allowed-add-on-service"
5936
+ },
5937
+ "type": [
5938
+ "array"
5939
+ ]
5940
+ },
5941
+ "title": "List By Team"
5942
+ },
5943
+ {
5944
+ "description": "Allow an Add-on Service",
5945
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/allowed-addon-services",
5946
+ "method": "POST",
5947
+ "rel": "create",
5948
+ "schema": {
5949
+ "type": [
5950
+ "object"
5951
+ ],
5952
+ "properties": {
5953
+ "addon_service": {
5954
+ "description": "name of the add-on service to allow",
5955
+ "example": "heroku-postgresql",
5956
+ "type": [
5957
+ "string"
5958
+ ]
5959
+ }
5960
+ }
5961
+ },
5962
+ "targetSchema": {
5963
+ "items": {
5964
+ "$ref": "#/definitions/allowed-add-on-service"
5965
+ },
5966
+ "type": [
5967
+ "array"
5968
+ ]
5969
+ },
5970
+ "title": "Create By Team"
5971
+ },
5972
+ {
5973
+ "description": "Remove an allowed add-on service",
5974
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/allowed-addon-services/{(%23%2Fdefinitions%2Fallowed-add-on-service%2Fdefinitions%2Fidentity)}",
5975
+ "method": "DELETE",
5976
+ "rel": "destroy",
5977
+ "targetSchema": {
5978
+ "$ref": "#/definitions/allowed-add-on-service"
5979
+ },
5980
+ "title": "Delete By Team"
5981
+ }
5982
+ ],
5983
+ "properties": {
5984
+ "added_at": {
5985
+ "$ref": "#/definitions/allowed-add-on-service/definitions/added_at"
5986
+ },
5987
+ "added_by": {
5988
+ "$ref": "#/definitions/allowed-add-on-service/definitions/added_by"
5989
+ },
5990
+ "addon_service": {
5991
+ "$ref": "#/definitions/allowed-add-on-service/definitions/addon_service"
5992
+ },
5993
+ "id": {
5994
+ "$ref": "#/definitions/allowed-add-on-service/definitions/id"
5995
+ }
5996
+ }
5997
+ },
5724
5998
  "app-feature": {
5725
5999
  "description": "An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.",
5726
6000
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
@@ -7609,7 +7883,7 @@ module PlatformAPI
7609
7883
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
7610
7884
  "title": "Heroku Platform API - Audit Trail Archive",
7611
7885
  "description": "An audit trail archive represents a monthly json zipped file containing events",
7612
- "stability": "development",
7886
+ "stability": "production",
7613
7887
  "strictProperties": true,
7614
7888
  "type": [
7615
7889
  "object"
@@ -7712,25 +7986,241 @@ module PlatformAPI
7712
7986
  }
7713
7987
  }
7714
7988
  },
7715
- "build": {
7989
+ "audit-trail-event": {
7716
7990
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
7717
- "description": "A build represents the process of transforming a code tarball into a slug",
7718
- "title": "Heroku Build API - Build",
7991
+ "title": "Heroku Platform API - Audit Trail Event",
7992
+ "description": "An audit trail event represents some action on the platform",
7719
7993
  "stability": "production",
7720
7994
  "strictProperties": true,
7721
7995
  "type": [
7722
7996
  "object"
7723
7997
  ],
7724
7998
  "definitions": {
7725
- "buildpacks": {
7726
- "description": "buildpacks executed for this build, in order",
7999
+ "id": {
8000
+ "description": "unique identifier of event",
8001
+ "readOnly": true,
8002
+ "format": "uuid",
7727
8003
  "type": [
7728
- "array",
7729
- "null"
7730
- ],
7731
- "items": {
7732
- "description": "Buildpack to execute in a build",
7733
- "type": [
8004
+ "string"
8005
+ ]
8006
+ },
8007
+ "identity": {
8008
+ "anyOf": [
8009
+ {
8010
+ "$ref": "#/definitions/audit-trail-event/definitions/id"
8011
+ }
8012
+ ]
8013
+ },
8014
+ "type": {
8015
+ "description": "type of event",
8016
+ "readOnly": true,
8017
+ "type": [
8018
+ "string"
8019
+ ]
8020
+ },
8021
+ "action": {
8022
+ "description": "action for the event",
8023
+ "readOnly": true,
8024
+ "type": [
8025
+ "string"
8026
+ ]
8027
+ },
8028
+ "actor": {
8029
+ "description": "user who caused event",
8030
+ "readOnly": true,
8031
+ "type": [
8032
+ "object"
8033
+ ],
8034
+ "properties": {
8035
+ "id": {
8036
+ "format": "uuid",
8037
+ "type": [
8038
+ "string"
8039
+ ]
8040
+ },
8041
+ "email": {
8042
+ "format": "email",
8043
+ "type": [
8044
+ "string"
8045
+ ]
8046
+ }
8047
+ }
8048
+ },
8049
+ "app": {
8050
+ "description": "app upon which event took place",
8051
+ "readOnly": true,
8052
+ "type": [
8053
+ "object"
8054
+ ],
8055
+ "properties": {
8056
+ "id": {
8057
+ "format": "uuid",
8058
+ "type": [
8059
+ "string"
8060
+ ]
8061
+ },
8062
+ "name": {
8063
+ "type": [
8064
+ "string"
8065
+ ]
8066
+ }
8067
+ }
8068
+ },
8069
+ "owner": {
8070
+ "description": "owner of the app targeted by the event",
8071
+ "readOnly": true,
8072
+ "type": [
8073
+ "object"
8074
+ ],
8075
+ "properties": {
8076
+ "id": {
8077
+ "format": "uuid",
8078
+ "type": [
8079
+ "string"
8080
+ ]
8081
+ },
8082
+ "email": {
8083
+ "format": "email",
8084
+ "type": [
8085
+ "string"
8086
+ ]
8087
+ }
8088
+ }
8089
+ },
8090
+ "enterprise_account": {
8091
+ "description": "enterprise account on which the event happened",
8092
+ "readOnly": true,
8093
+ "type": [
8094
+ "object"
8095
+ ],
8096
+ "properties": {
8097
+ "id": {
8098
+ "format": "uuid",
8099
+ "type": [
8100
+ "string"
8101
+ ]
8102
+ },
8103
+ "name": {
8104
+ "type": [
8105
+ "string"
8106
+ ]
8107
+ }
8108
+ }
8109
+ },
8110
+ "team": {
8111
+ "description": "team on which the event happened",
8112
+ "readOnly": true,
8113
+ "type": [
8114
+ "object"
8115
+ ],
8116
+ "properties": {
8117
+ "id": {
8118
+ "format": "uuid",
8119
+ "type": [
8120
+ "string"
8121
+ ]
8122
+ },
8123
+ "name": {
8124
+ "type": [
8125
+ "string"
8126
+ ]
8127
+ }
8128
+ }
8129
+ },
8130
+ "request": {
8131
+ "description": "information about where the action was triggered",
8132
+ "readOnly": true,
8133
+ "type": [
8134
+ "object"
8135
+ ],
8136
+ "properties": {
8137
+ "ip_address": {
8138
+ "format": "ipv4",
8139
+ "type": [
8140
+ "string"
8141
+ ]
8142
+ }
8143
+ }
8144
+ },
8145
+ "data": {
8146
+ "description": "data specific to the event",
8147
+ "readOnly": true,
8148
+ "type": [
8149
+ "object"
8150
+ ]
8151
+ },
8152
+ "created_at": {
8153
+ "description": "when event was created",
8154
+ "format": "date-time",
8155
+ "type": [
8156
+ "string"
8157
+ ]
8158
+ }
8159
+ },
8160
+ "links": [
8161
+ {
8162
+ "description": "List existing events.",
8163
+ "href": "/enterprise-accounts/{(%23%2Fdefinitions%2Fenterprise-account%2Fdefinitions%2Fidentity)}/events",
8164
+ "method": "GET",
8165
+ "rel": "instances",
8166
+ "title": "List"
8167
+ }
8168
+ ],
8169
+ "properties": {
8170
+ "created_at": {
8171
+ "$ref": "#/definitions/audit-trail-event/definitions/created_at"
8172
+ },
8173
+ "id": {
8174
+ "$ref": "#/definitions/audit-trail-event/definitions/id"
8175
+ },
8176
+ "type": {
8177
+ "$ref": "#/definitions/audit-trail-event/definitions/type"
8178
+ },
8179
+ "action": {
8180
+ "$ref": "#/definitions/audit-trail-event/definitions/action"
8181
+ },
8182
+ "actor": {
8183
+ "$ref": "#/definitions/audit-trail-event/definitions/actor"
8184
+ },
8185
+ "app": {
8186
+ "$ref": "#/definitions/audit-trail-event/definitions/app"
8187
+ },
8188
+ "owner": {
8189
+ "$ref": "#/definitions/audit-trail-event/definitions/owner"
8190
+ },
8191
+ "enterprise_account": {
8192
+ "$ref": "#/definitions/audit-trail-event/definitions/enterprise_account"
8193
+ },
8194
+ "team": {
8195
+ "$ref": "#/definitions/audit-trail-event/definitions/team"
8196
+ },
8197
+ "request": {
8198
+ "$ref": "#/definitions/audit-trail-event/definitions/request"
8199
+ },
8200
+ "data": {
8201
+ "$ref": "#/definitions/audit-trail-event/definitions/data"
8202
+ }
8203
+ }
8204
+ },
8205
+ "build": {
8206
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
8207
+ "description": "A build represents the process of transforming a code tarball into a slug",
8208
+ "title": "Heroku Build API - Build",
8209
+ "stability": "production",
8210
+ "strictProperties": true,
8211
+ "type": [
8212
+ "object"
8213
+ ],
8214
+ "definitions": {
8215
+ "buildpacks": {
8216
+ "description": "buildpacks executed for this build, in order",
8217
+ "type": [
8218
+ "array",
8219
+ "null"
8220
+ ],
8221
+ "items": {
8222
+ "description": "Buildpack to execute in a build",
8223
+ "type": [
7734
8224
  "object"
7735
8225
  ],
7736
8226
  "properties": {
@@ -8674,11 +9164,19 @@ module PlatformAPI
8674
9164
  "type": [
8675
9165
  "string"
8676
9166
  ]
9167
+ },
9168
+ "sni_endpoint": {
9169
+ "description": "null or unique identifier or name for SNI endpoint",
9170
+ "type": [
9171
+ "null",
9172
+ "string"
9173
+ ]
8677
9174
  }
8678
9175
  },
8679
9176
  "links": [
8680
9177
  {
8681
- "description": "Create a new domain.",
9178
+ "deactivate_on": "2021-10-31",
9179
+ "description": "Create a new domain. Deprecated in favor of this same endpoint, but with a new required attribute of `sni_endpoint`. During the transitional phase sni_endpoint can be omitted entirely (current behavior), can be a valid id, or can be null which will skip auto-association.",
8682
9180
  "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/domains",
8683
9181
  "method": "POST",
8684
9182
  "rel": "create",
@@ -8698,8 +9196,58 @@ module PlatformAPI
8698
9196
  "targetSchema": {
8699
9197
  "$ref": "#/definitions/domain"
8700
9198
  },
9199
+ "title": "Create - Deprecated"
9200
+ },
9201
+ {
9202
+ "description": "Create a new domain.",
9203
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/domains",
9204
+ "method": "POST",
9205
+ "rel": "create",
9206
+ "schema": {
9207
+ "properties": {
9208
+ "hostname": {
9209
+ "$ref": "#/definitions/domain/definitions/hostname"
9210
+ },
9211
+ "sni_endpoint": {
9212
+ "$ref": "#/definitions/domain/definitions/sni_endpoint"
9213
+ }
9214
+ },
9215
+ "required": [
9216
+ "hostname",
9217
+ "sni_endpoint"
9218
+ ],
9219
+ "type": [
9220
+ "object"
9221
+ ]
9222
+ },
9223
+ "targetSchema": {
9224
+ "$ref": "#/definitions/domain"
9225
+ },
8701
9226
  "title": "Create"
8702
9227
  },
9228
+ {
9229
+ "description": "Associate an SNI endpoint",
9230
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/domains/{(%23%2Fdefinitions%2Fdomain%2Fdefinitions%2Fidentity)}",
9231
+ "method": "PATCH",
9232
+ "rel": "update",
9233
+ "schema": {
9234
+ "properties": {
9235
+ "sni_endpoint": {
9236
+ "$ref": "#/definitions/domain/definitions/sni_endpoint"
9237
+ }
9238
+ },
9239
+ "required": [
9240
+ "sni_endpoint"
9241
+ ],
9242
+ "type": [
9243
+ "object"
9244
+ ]
9245
+ },
9246
+ "targetSchema": {
9247
+ "$ref": "#/definitions/domain"
9248
+ },
9249
+ "title": "Update"
9250
+ },
8703
9251
  {
8704
9252
  "description": "Delete an existing domain",
8705
9253
  "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/domains/{(%23%2Fdefinitions%2Fdomain%2Fdefinitions%2Fidentity)}",
@@ -8777,6 +9325,21 @@ module PlatformAPI
8777
9325
  },
8778
9326
  "status": {
8779
9327
  "$ref": "#/definitions/domain/definitions/status"
9328
+ },
9329
+ "sni_endpoint": {
9330
+ "description": "sni endpoint the domain is associated with",
9331
+ "properties": {
9332
+ "name": {
9333
+ "$ref": "#/definitions/sni-endpoint/definitions/name"
9334
+ },
9335
+ "id": {
9336
+ "$ref": "#/definitions/sni-endpoint/definitions/id"
9337
+ }
9338
+ },
9339
+ "type": [
9340
+ "null",
9341
+ "object"
9342
+ ]
8780
9343
  }
8781
9344
  }
8782
9345
  },
@@ -9940,281 +10503,65 @@ module PlatformAPI
9940
10503
  },
9941
10504
  {
9942
10505
  "description": "Update enterprise account properties",
9943
- "href": "/enterprise-accounts/{(%23%2Fdefinitions%2Fenterprise-account%2Fdefinitions%2Fidentity)}",
9944
- "method": "PATCH",
9945
- "schema": {
9946
- "properties": {
9947
- "name": {
9948
- "$ref": "#/definitions/enterprise-account/definitions/name"
9949
- }
9950
- },
9951
- "type": [
9952
- "object"
9953
- ]
9954
- },
9955
- "targetSchema": {
9956
- "$ref": "#/definitions/enterprise-account"
9957
- },
9958
- "title": "Update"
9959
- }
9960
- ],
9961
- "properties": {
9962
- "id": {
9963
- "$ref": "#/definitions/enterprise-account/definitions/id"
9964
- },
9965
- "created_at": {
9966
- "$ref": "#/definitions/enterprise-account/definitions/created_at"
9967
- },
9968
- "name": {
9969
- "$ref": "#/definitions/enterprise-account/definitions/name"
9970
- },
9971
- "updated_at": {
9972
- "$ref": "#/definitions/enterprise-account/definitions/updated_at"
9973
- },
9974
- "permissions": {
9975
- "$ref": "#/definitions/enterprise-account/definitions/permissions"
9976
- },
9977
- "trial": {
9978
- "$ref": "#/definitions/enterprise-account/definitions/trial"
9979
- },
9980
- "identity_provider": {
9981
- "description": "Identity Provider associated with the Enterprise Account",
9982
- "strictProperties": true,
9983
- "type": [
9984
- "null",
9985
- "object"
9986
- ],
9987
- "properties": {
9988
- "id": {
9989
- "$ref": "#/definitions/identity-provider/definitions/id"
9990
- },
9991
- "name": {
9992
- "description": "user-friendly unique identifier for this identity provider",
9993
- "example": "acme-sso",
9994
- "type": [
9995
- "string"
9996
- ]
9997
- },
9998
- "owner": {
9999
- "$ref": "#/definitions/identity-provider/definitions/owner"
10000
- }
10001
- }
10002
- }
10003
- }
10004
- },
10005
- "event": {
10006
- "$schema": "http://json-schema.org/draft-04/hyper-schema",
10007
- "title": "Heroku Platform API - Audit Trail Event",
10008
- "description": "An audit trail event represents some action on the platform",
10009
- "stability": "development",
10010
- "strictProperties": true,
10011
- "type": [
10012
- "object"
10013
- ],
10014
- "definitions": {
10015
- "id": {
10016
- "description": "unique identifier of event",
10017
- "readOnly": true,
10018
- "format": "uuid",
10019
- "type": [
10020
- "string"
10021
- ]
10022
- },
10023
- "identity": {
10024
- "anyOf": [
10025
- {
10026
- "$ref": "#/definitions/event/definitions/id"
10027
- }
10028
- ]
10029
- },
10030
- "type": {
10031
- "description": "type of event",
10032
- "readOnly": true,
10033
- "type": [
10034
- "string"
10035
- ]
10036
- },
10037
- "action": {
10038
- "description": "action for the event",
10039
- "readOnly": true,
10040
- "type": [
10041
- "string"
10042
- ]
10043
- },
10044
- "actor": {
10045
- "description": "user who caused event",
10046
- "readOnly": true,
10047
- "type": [
10048
- "object"
10049
- ],
10050
- "properties": {
10051
- "id": {
10052
- "format": "uuid",
10053
- "type": [
10054
- "string"
10055
- ]
10056
- },
10057
- "email": {
10058
- "format": "email",
10059
- "type": [
10060
- "string"
10061
- ]
10062
- }
10063
- }
10064
- },
10065
- "app": {
10066
- "description": "app upon which event took place",
10067
- "readOnly": true,
10068
- "type": [
10069
- "object"
10070
- ],
10071
- "properties": {
10072
- "id": {
10073
- "format": "uuid",
10074
- "type": [
10075
- "string"
10076
- ]
10077
- },
10078
- "name": {
10079
- "type": [
10080
- "string"
10081
- ]
10082
- }
10083
- }
10084
- },
10085
- "owner": {
10086
- "description": "owner of the app targeted by the event",
10087
- "readOnly": true,
10088
- "type": [
10089
- "object"
10090
- ],
10091
- "properties": {
10092
- "id": {
10093
- "format": "uuid",
10094
- "type": [
10095
- "string"
10096
- ]
10097
- },
10098
- "email": {
10099
- "format": "email",
10100
- "type": [
10101
- "string"
10102
- ]
10103
- }
10104
- }
10105
- },
10106
- "enterprise_account": {
10107
- "description": "enterprise account on which the event happened",
10108
- "readOnly": true,
10109
- "type": [
10110
- "object"
10111
- ],
10112
- "properties": {
10113
- "id": {
10114
- "format": "uuid",
10115
- "type": [
10116
- "string"
10117
- ]
10118
- },
10119
- "name": {
10120
- "type": [
10121
- "string"
10122
- ]
10123
- }
10124
- }
10125
- },
10126
- "team": {
10127
- "description": "team on which the event happened",
10128
- "readOnly": true,
10129
- "type": [
10130
- "object"
10131
- ],
10132
- "properties": {
10133
- "id": {
10134
- "format": "uuid",
10135
- "type": [
10136
- "string"
10137
- ]
10138
- },
10139
- "name": {
10140
- "type": [
10141
- "string"
10142
- ]
10143
- }
10144
- }
10145
- },
10146
- "request": {
10147
- "description": "information about where the action was triggered",
10148
- "readOnly": true,
10149
- "type": [
10150
- "object"
10151
- ],
10152
- "properties": {
10153
- "ip_address": {
10154
- "format": "ipv4",
10155
- "type": [
10156
- "string"
10157
- ]
10158
- }
10159
- }
10160
- },
10161
- "data": {
10162
- "description": "data specific to the event",
10163
- "readOnly": true,
10164
- "type": [
10165
- "object"
10166
- ]
10167
- },
10168
- "created_at": {
10169
- "description": "when event was created",
10170
- "format": "date-time",
10171
- "type": [
10172
- "string"
10173
- ]
10174
- }
10175
- },
10176
- "links": [
10177
- {
10178
- "description": "List existing events.",
10179
- "href": "/enterprise-accounts/{(%23%2Fdefinitions%2Fenterprise-account%2Fdefinitions%2Fidentity)}/events",
10180
- "method": "GET",
10181
- "rel": "instances",
10182
- "title": "List"
10506
+ "href": "/enterprise-accounts/{(%23%2Fdefinitions%2Fenterprise-account%2Fdefinitions%2Fidentity)}",
10507
+ "method": "PATCH",
10508
+ "schema": {
10509
+ "properties": {
10510
+ "name": {
10511
+ "$ref": "#/definitions/enterprise-account/definitions/name"
10512
+ }
10513
+ },
10514
+ "type": [
10515
+ "object"
10516
+ ]
10517
+ },
10518
+ "targetSchema": {
10519
+ "$ref": "#/definitions/enterprise-account"
10520
+ },
10521
+ "title": "Update"
10183
10522
  }
10184
10523
  ],
10185
10524
  "properties": {
10186
- "created_at": {
10187
- "$ref": "#/definitions/event/definitions/created_at"
10188
- },
10189
10525
  "id": {
10190
- "$ref": "#/definitions/event/definitions/id"
10191
- },
10192
- "type": {
10193
- "$ref": "#/definitions/event/definitions/type"
10194
- },
10195
- "action": {
10196
- "$ref": "#/definitions/event/definitions/action"
10197
- },
10198
- "actor": {
10199
- "$ref": "#/definitions/event/definitions/actor"
10526
+ "$ref": "#/definitions/enterprise-account/definitions/id"
10200
10527
  },
10201
- "app": {
10202
- "$ref": "#/definitions/event/definitions/app"
10528
+ "created_at": {
10529
+ "$ref": "#/definitions/enterprise-account/definitions/created_at"
10203
10530
  },
10204
- "owner": {
10205
- "$ref": "#/definitions/event/definitions/owner"
10531
+ "name": {
10532
+ "$ref": "#/definitions/enterprise-account/definitions/name"
10206
10533
  },
10207
- "enterprise_account": {
10208
- "$ref": "#/definitions/event/definitions/enterprise_account"
10534
+ "updated_at": {
10535
+ "$ref": "#/definitions/enterprise-account/definitions/updated_at"
10209
10536
  },
10210
- "team": {
10211
- "$ref": "#/definitions/event/definitions/team"
10537
+ "permissions": {
10538
+ "$ref": "#/definitions/enterprise-account/definitions/permissions"
10212
10539
  },
10213
- "request": {
10214
- "$ref": "#/definitions/event/definitions/request"
10540
+ "trial": {
10541
+ "$ref": "#/definitions/enterprise-account/definitions/trial"
10215
10542
  },
10216
- "data": {
10217
- "$ref": "#/definitions/event/definitions/data"
10543
+ "identity_provider": {
10544
+ "description": "Identity Provider associated with the Enterprise Account",
10545
+ "strictProperties": true,
10546
+ "type": [
10547
+ "null",
10548
+ "object"
10549
+ ],
10550
+ "properties": {
10551
+ "id": {
10552
+ "$ref": "#/definitions/identity-provider/definitions/id"
10553
+ },
10554
+ "name": {
10555
+ "description": "user-friendly unique identifier for this identity provider",
10556
+ "example": "acme-sso",
10557
+ "type": [
10558
+ "string"
10559
+ ]
10560
+ },
10561
+ "owner": {
10562
+ "$ref": "#/definitions/identity-provider/definitions/owner"
10563
+ }
10564
+ }
10218
10565
  }
10219
10566
  }
10220
10567
  },
@@ -15078,7 +15425,7 @@ module PlatformAPI
15078
15425
  ]
15079
15426
  },
15080
15427
  "pr_number": {
15081
- "description": "GitHub Pull Request number if the Review app was created automatically",
15428
+ "description": "pull request number the review app is built for",
15082
15429
  "example": 24,
15083
15430
  "readOnly": true,
15084
15431
  "type": [
@@ -15098,6 +15445,9 @@ module PlatformAPI
15098
15445
  "branch": {
15099
15446
  "$ref": "#/definitions/review-app/definitions/branch"
15100
15447
  },
15448
+ "pr_number": {
15449
+ "$ref": "#/definitions/review-app/definitions/pr_number"
15450
+ },
15101
15451
  "pipeline": {
15102
15452
  "$ref": "#/definitions/pipeline/definitions/id"
15103
15453
  },
@@ -15703,7 +16053,7 @@ module PlatformAPI
15703
16053
  "size": 2048,
15704
16054
  "stack": {
15705
16055
  "id": "01234567-89ab-cdef-0123-456789abcdef",
15706
- "name": "cedar-14"
16056
+ "name": "heroku-18"
15707
16057
  },
15708
16058
  "updated_at": "2012-01-01T12:00:00Z"
15709
16059
  }
@@ -16326,6 +16676,140 @@ module PlatformAPI
16326
16676
  }
16327
16677
  }
16328
16678
  },
16679
+ "space-topology": {
16680
+ "description": "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.",
16681
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
16682
+ "stability": "prototype",
16683
+ "strictProperties": true,
16684
+ "title": "Heroku Platform API - Space Topology",
16685
+ "type": [
16686
+ "object"
16687
+ ],
16688
+ "definitions": {
16689
+ "version": {
16690
+ "description": "version of the space topology payload",
16691
+ "example": 1,
16692
+ "readOnly": true,
16693
+ "type": [
16694
+ "integer"
16695
+ ]
16696
+ },
16697
+ "dyno": {
16698
+ "description": "A dyno",
16699
+ "properties": {
16700
+ "id": {
16701
+ "$ref": "#/definitions/dyno/definitions/id"
16702
+ },
16703
+ "number": {
16704
+ "description": "process number, e.g. 1 in web.1",
16705
+ "example": 1,
16706
+ "type": [
16707
+ "integer"
16708
+ ]
16709
+ },
16710
+ "private_ip": {
16711
+ "description": "RFC1918 Address of Dyno",
16712
+ "example": "10.0.134.42",
16713
+ "type": [
16714
+ "string"
16715
+ ]
16716
+ },
16717
+ "hostname": {
16718
+ "description": "localspace hostname of resource",
16719
+ "example": "1.example-app-90210.app.localspace",
16720
+ "type": [
16721
+ "string"
16722
+ ]
16723
+ }
16724
+ },
16725
+ "type": [
16726
+ "object"
16727
+ ]
16728
+ },
16729
+ "formation": {
16730
+ "description": "formations for application",
16731
+ "properties": {
16732
+ "id": {
16733
+ "$ref": "#/definitions/formation/definitions/id"
16734
+ },
16735
+ "process_type": {
16736
+ "description": "Name of process type",
16737
+ "example": "web",
16738
+ "type": [
16739
+ "string"
16740
+ ]
16741
+ },
16742
+ "dynos": {
16743
+ "description": "Current dynos for application",
16744
+ "items": {
16745
+ "$ref": "#/definitions/space-topology/definitions/dyno"
16746
+ },
16747
+ "type": [
16748
+ "array"
16749
+ ]
16750
+ }
16751
+ },
16752
+ "type": [
16753
+ "object"
16754
+ ]
16755
+ }
16756
+ },
16757
+ "links": [
16758
+ {
16759
+ "description": "Current space topology",
16760
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/topology",
16761
+ "method": "GET",
16762
+ "rel": "self",
16763
+ "targetSchema": {
16764
+ "$ref": "#/definitions/space-topology"
16765
+ },
16766
+ "title": "Topology"
16767
+ }
16768
+ ],
16769
+ "properties": {
16770
+ "version": {
16771
+ "$ref": "#/definitions/space-topology/definitions/version"
16772
+ },
16773
+ "apps": {
16774
+ "description": "The apps within this space",
16775
+ "type": [
16776
+ "array"
16777
+ ],
16778
+ "readOnly": true,
16779
+ "items": {
16780
+ "type": [
16781
+ "object"
16782
+ ],
16783
+ "properties": {
16784
+ "id": {
16785
+ "$ref": "#/definitions/app/definitions/id",
16786
+ "readOnly": true
16787
+ },
16788
+ "domains": {
16789
+ "example": [
16790
+ "example.com",
16791
+ "example.net"
16792
+ ],
16793
+ "readOnly": true,
16794
+ "type": [
16795
+ "array"
16796
+ ]
16797
+ },
16798
+ "formation": {
16799
+ "description": "formations for application",
16800
+ "items": {
16801
+ "$ref": "#/definitions/space-topology/definitions/formation"
16802
+ },
16803
+ "type": [
16804
+ "array"
16805
+ ],
16806
+ "readOnly": true
16807
+ }
16808
+ }
16809
+ }
16810
+ }
16811
+ }
16812
+ },
16329
16813
  "space-transfer": {
16330
16814
  "description": "Transfer spaces between enterprise teams with the same Enterprise Account.",
16331
16815
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
@@ -16630,6 +17114,24 @@ module PlatformAPI
16630
17114
  "object"
16631
17115
  ],
16632
17116
  "definitions": {
17117
+ "acm": {
17118
+ "readOnly": true,
17119
+ "type": [
17120
+ "boolean"
17121
+ ]
17122
+ },
17123
+ "ca_signed?": {
17124
+ "readOnly": true,
17125
+ "type": [
17126
+ "boolean"
17127
+ ]
17128
+ },
17129
+ "cert_domains": {
17130
+ "readOnly": true,
17131
+ "type": [
17132
+ "array"
17133
+ ]
17134
+ },
16633
17135
  "certificate_chain": {
16634
17136
  "description": "raw contents of the public certificate chain (eg: .crt or .pem file)",
16635
17137
  "example": "-----BEGIN CERTIFICATE----- ...",
@@ -16655,6 +17157,22 @@ module PlatformAPI
16655
17157
  "string"
16656
17158
  ]
16657
17159
  },
17160
+ "display_name": {
17161
+ "description": "unique name for SSL endpoint",
17162
+ "example": "example",
17163
+ "pattern": "^[a-z][a-z0-9-]{2,29}$",
17164
+ "readOnly": false,
17165
+ "type": [
17166
+ "string"
17167
+ ]
17168
+ },
17169
+ "expires_at": {
17170
+ "readOnly": true,
17171
+ "format": "date-time",
17172
+ "type": [
17173
+ "string"
17174
+ ]
17175
+ },
16658
17176
  "id": {
16659
17177
  "description": "unique identifier of this SSL endpoint",
16660
17178
  "example": "01234567-89ab-cdef-0123-456789abcdef",
@@ -16674,6 +17192,12 @@ module PlatformAPI
16674
17192
  }
16675
17193
  ]
16676
17194
  },
17195
+ "issuer": {
17196
+ "readOnly": true,
17197
+ "type": [
17198
+ "string"
17199
+ ]
17200
+ },
16677
17201
  "name": {
16678
17202
  "description": "unique name for SSL endpoint",
16679
17203
  "example": "example",
@@ -16700,6 +17224,25 @@ module PlatformAPI
16700
17224
  "string"
16701
17225
  ]
16702
17226
  },
17227
+ "self_signed?": {
17228
+ "readOnly": true,
17229
+ "type": [
17230
+ "boolean"
17231
+ ]
17232
+ },
17233
+ "starts_at": {
17234
+ "readOnly": true,
17235
+ "format": "date-time",
17236
+ "type": [
17237
+ "string"
17238
+ ]
17239
+ },
17240
+ "subject": {
17241
+ "readOnly": true,
17242
+ "type": [
17243
+ "string"
17244
+ ]
17245
+ },
16703
17246
  "updated_at": {
16704
17247
  "description": "when endpoint was updated",
16705
17248
  "example": "2012-01-01T12:00:00Z",
@@ -16828,12 +17371,62 @@ module PlatformAPI
16828
17371
  "created_at": {
16829
17372
  "$ref": "#/definitions/ssl-endpoint/definitions/created_at"
16830
17373
  },
17374
+ "display_name": {
17375
+ "$ref": "#/definitions/ssl-endpoint/definitions/display_name"
17376
+ },
17377
+ "domains": {
17378
+ "description": "domains associated with this endpoint",
17379
+ "type": [
17380
+ "array"
17381
+ ],
17382
+ "items": {
17383
+ "$ref": "#/definitions/domain/definitions/id"
17384
+ }
17385
+ },
16831
17386
  "id": {
16832
17387
  "$ref": "#/definitions/ssl-endpoint/definitions/id"
16833
17388
  },
16834
17389
  "name": {
16835
17390
  "$ref": "#/definitions/ssl-endpoint/definitions/name"
16836
17391
  },
17392
+ "ssl_cert": {
17393
+ "description": "certificate provided by this endpoint",
17394
+ "type": [
17395
+ "object"
17396
+ ],
17397
+ "properties": {
17398
+ "ca_signed?": {
17399
+ "$ref": "#/definitions/ssl-endpoint/definitions/ca_signed?"
17400
+ },
17401
+ "cert_domains": {
17402
+ "$ref": "#/definitions/ssl-endpoint/definitions/cert_domains"
17403
+ },
17404
+ "expires_at": {
17405
+ "$ref": "#/definitions/ssl-endpoint/definitions/expires_at"
17406
+ },
17407
+ "issuer": {
17408
+ "$ref": "#/definitions/ssl-endpoint/definitions/issuer"
17409
+ },
17410
+ "self_signed?": {
17411
+ "$ref": "#/definitions/ssl-endpoint/definitions/self_signed?"
17412
+ },
17413
+ "starts_at": {
17414
+ "$ref": "#/definitions/ssl-endpoint/definitions/starts_at"
17415
+ },
17416
+ "subject": {
17417
+ "$ref": "#/definitions/ssl-endpoint/definitions/subject"
17418
+ },
17419
+ "id": {
17420
+ "description": "unique identifier of this SSL certificate",
17421
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
17422
+ "format": "uuid",
17423
+ "readOnly": true,
17424
+ "type": [
17425
+ "string"
17426
+ ]
17427
+ }
17428
+ }
17429
+ },
16837
17430
  "updated_at": {
16838
17431
  "$ref": "#/definitions/ssl-endpoint/definitions/updated_at"
16839
17432
  }
@@ -16887,7 +17480,7 @@ module PlatformAPI
16887
17480
  },
16888
17481
  "name": {
16889
17482
  "description": "unique name of stack",
16890
- "example": "cedar-14",
17483
+ "example": "heroku-18",
16891
17484
  "readOnly": true,
16892
17485
  "type": [
16893
17486
  "string"
@@ -18447,6 +19040,15 @@ module PlatformAPI
18447
19040
  "boolean",
18448
19041
  "null"
18449
19042
  ]
19043
+ },
19044
+ "addons-controls": {
19045
+ "description": "Whether add-on service rules should be applied to add-on installations",
19046
+ "example": true,
19047
+ "readOnly": false,
19048
+ "type": [
19049
+ "boolean",
19050
+ "null"
19051
+ ]
18450
19052
  }
18451
19053
  },
18452
19054
  "links": [
@@ -18472,6 +19074,9 @@ module PlatformAPI
18472
19074
  "properties": {
18473
19075
  "whitelisting-enabled": {
18474
19076
  "$ref": "#/definitions/team-preferences/definitions/whitelisting-enabled"
19077
+ },
19078
+ "addons-controls": {
19079
+ "$ref": "#/definitions/team-preferences/definitions/addons-controls"
18475
19080
  }
18476
19081
  }
18477
19082
  },
@@ -18487,6 +19092,9 @@ module PlatformAPI
18487
19092
  },
18488
19093
  "whitelisting-enabled": {
18489
19094
  "$ref": "#/definitions/team-preferences/definitions/whitelisting-enabled"
19095
+ },
19096
+ "addons-controls": {
19097
+ "$ref": "#/definitions/team-preferences/definitions/addons-controls"
18490
19098
  }
18491
19099
  }
18492
19100
  },
@@ -20604,6 +21212,9 @@ module PlatformAPI
20604
21212
  "add-on": {
20605
21213
  "$ref": "#/definitions/add-on"
20606
21214
  },
21215
+ "allowed-add-on-service": {
21216
+ "$ref": "#/definitions/allowed-add-on-service"
21217
+ },
20607
21218
  "app-feature": {
20608
21219
  "$ref": "#/definitions/app-feature"
20609
21220
  },
@@ -20631,6 +21242,9 @@ module PlatformAPI
20631
21242
  "archive": {
20632
21243
  "$ref": "#/definitions/archive"
20633
21244
  },
21245
+ "audit-trail-event": {
21246
+ "$ref": "#/definitions/audit-trail-event"
21247
+ },
20634
21248
  "build": {
20635
21249
  "$ref": "#/definitions/build"
20636
21250
  },
@@ -20667,9 +21281,6 @@ module PlatformAPI
20667
21281
  "enterprise-account": {
20668
21282
  "$ref": "#/definitions/enterprise-account"
20669
21283
  },
20670
- "event": {
20671
- "$ref": "#/definitions/event"
20672
- },
20673
21284
  "filter-apps": {
20674
21285
  "$ref": "#/definitions/filter-apps"
20675
21286
  },
@@ -20790,6 +21401,9 @@ module PlatformAPI
20790
21401
  "space-nat": {
20791
21402
  "$ref": "#/definitions/space-nat"
20792
21403
  },
21404
+ "space-topology": {
21405
+ "$ref": "#/definitions/space-topology"
21406
+ },
20793
21407
  "space-transfer": {
20794
21408
  "$ref": "#/definitions/space-transfer"
20795
21409
  },