platform-api 3.0.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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/3.0.0"}
86
+ default_headers = {"Accept"=>"application/vnd.heroku+json; version=3", "User-Agent"=>"platform-api/3.5.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]
@@ -308,6 +315,13 @@ module PlatformAPI
308
315
  @dyno_resource ||= Dyno.new(@client)
309
316
  end
310
317
 
318
+ # Usage for an enterprise account at a daily resolution.
319
+ #
320
+ # @return [EnterpriseAccountDailyUsage]
321
+ def enterprise_account_daily_usage
322
+ @enterprise_account_daily_usage_resource ||= EnterpriseAccountDailyUsage.new(@client)
323
+ end
324
+
311
325
  # Enterprise account members are users with access to an enterprise account.
312
326
  #
313
327
  # @return [EnterpriseAccountMember]
@@ -315,18 +329,11 @@ module PlatformAPI
315
329
  @enterprise_account_member_resource ||= EnterpriseAccountMember.new(@client)
316
330
  end
317
331
 
318
- # Usage for an enterprise account at a daily resolution.
319
- #
320
- # @return [EnterpriseAccountUsageDaily]
321
- def enterprise_account_usage_daily
322
- @enterprise_account_usage_daily_resource ||= EnterpriseAccountUsageDaily.new(@client)
323
- end
324
-
325
332
  # Usage for an enterprise account at a monthly resolution.
326
333
  #
327
- # @return [EnterpriseAccountUsageMonthly]
328
- def enterprise_account_usage_monthly
329
- @enterprise_account_usage_monthly_resource ||= EnterpriseAccountUsageMonthly.new(@client)
334
+ # @return [EnterpriseAccountMonthlyUsage]
335
+ def enterprise_account_monthly_usage
336
+ @enterprise_account_monthly_usage_resource ||= EnterpriseAccountMonthlyUsage.new(@client)
330
337
  end
331
338
 
332
339
  # Enterprise accounts allow companies to manage their development teams and billing.
@@ -350,7 +357,7 @@ module PlatformAPI
350
357
  @formation_resource ||= Formation.new(@client)
351
358
  end
352
359
 
353
- # Identity Providers represent the SAML configuration of an Team.
360
+ # Identity Providers represent the SAML configuration of an Enterprise Account or Team.
354
361
  #
355
362
  # @return [IdentityProvider]
356
363
  def identity_provider
@@ -630,20 +637,13 @@ module PlatformAPI
630
637
  @space_transfer_resource ||= SpaceTransfer.new(@client)
631
638
  end
632
639
 
633
- # A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.
640
+ # A space is an isolated, highly available, secure app execution environment.
634
641
  #
635
642
  # @return [Space]
636
643
  def space
637
644
  @space_resource ||= Space.new(@client)
638
645
  end
639
646
 
640
- # [SSL Endpoint](https://devcenter.heroku.com/articles/ssl-endpoint) is a public address serving custom SSL cert for HTTPS traffic to a Heroku app. Note that an app must have the `ssl:endpoint` add-on installed before it can provision an SSL Endpoint using these APIs.
641
- #
642
- # @return [SSLEndpoint]
643
- def ssl_endpoint
644
- @ssl_endpoint_resource ||= SSLEndpoint.new(@client)
645
- end
646
-
647
647
  # Stacks are the different application execution environments available in the Heroku platform.
648
648
  #
649
649
  # @return [Stack]
@@ -679,6 +679,13 @@ module PlatformAPI
679
679
  @team_app_resource ||= TeamApp.new(@client)
680
680
  end
681
681
 
682
+ # Usage for an enterprise team at a daily resolution.
683
+ #
684
+ # @return [TeamDailyUsage]
685
+ def team_daily_usage
686
+ @team_daily_usage_resource ||= TeamDailyUsage.new(@client)
687
+ end
688
+
682
689
  # A team feature represents a feature enabled on a team account.
683
690
  #
684
691
  # @return [TeamFeature]
@@ -707,6 +714,13 @@ module PlatformAPI
707
714
  @team_member_resource ||= TeamMember.new(@client)
708
715
  end
709
716
 
717
+ # Usage for an enterprise team at a monthly resolution.
718
+ #
719
+ # @return [TeamMonthlyUsage]
720
+ def team_monthly_usage
721
+ @team_monthly_usage_resource ||= TeamMonthlyUsage.new(@client)
722
+ end
723
+
710
724
  # Tracks a Team's Preferences
711
725
  #
712
726
  # @return [TeamPreferences]
@@ -714,27 +728,13 @@ module PlatformAPI
714
728
  @team_preferences_resource ||= TeamPreferences.new(@client)
715
729
  end
716
730
 
717
- # A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.
731
+ # A space is an isolated, highly available, secure app execution environment.
718
732
  #
719
733
  # @return [TeamSpace]
720
734
  def team_space
721
735
  @team_space_resource ||= TeamSpace.new(@client)
722
736
  end
723
737
 
724
- # Usage for an enterprise team at a daily resolution.
725
- #
726
- # @return [TeamUsageDaily]
727
- def team_usage_daily
728
- @team_usage_daily_resource ||= TeamUsageDaily.new(@client)
729
- end
730
-
731
- # Usage for an enterprise team at a monthly resolution.
732
- #
733
- # @return [TeamUsageMonthly]
734
- def team_usage_monthly
735
- @team_usage_monthly_resource ||= TeamUsageMonthly.new(@client)
736
- end
737
-
738
738
  # Teams allow you to manage access to a shared group of applications and other resources.
739
739
  #
740
740
  # @return [Team]
@@ -776,13 +776,6 @@ module PlatformAPI
776
776
  def vpn_connection
777
777
  @vpn_connection_resource ||= VpnConnection.new(@client)
778
778
  end
779
-
780
- # Entities that have been whitelisted to be used by an Team
781
- #
782
- # @return [WhitelistedAddonService]
783
- def whitelisted_addon_service
784
- @whitelisted_addon_service_resource ||= WhitelistedAddonService.new(@client)
785
- end
786
779
  end
787
780
 
788
781
  private
@@ -832,7 +825,7 @@ module PlatformAPI
832
825
  @client.account.update(body)
833
826
  end
834
827
 
835
- # Delete account. Note that this action cannot be undone.
828
+ # 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.
836
829
  def delete()
837
830
  @client.account.delete()
838
831
  end
@@ -852,7 +845,7 @@ module PlatformAPI
852
845
  @client.account.update_by_user(account_email_or_account_id_or_account_self, body)
853
846
  end
854
847
 
855
- # Delete account. Note that this action cannot be undone.
848
+ # 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.
856
849
  #
857
850
  # @param account_email_or_account_id_or_account_self: unique email address of account or unique identifier of an account or Implicit reference to currently authorized user
858
851
  def delete_by_user(account_email_or_account_id_or_account_self)
@@ -860,7 +853,7 @@ module PlatformAPI
860
853
  end
861
854
  end
862
855
 
863
- # 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.
856
+ # 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.
864
857
  class AddonAction
865
858
  def initialize(client)
866
859
  @client = client
@@ -1188,6 +1181,36 @@ module PlatformAPI
1188
1181
  end
1189
1182
  end
1190
1183
 
1184
+ # Entities that have been allowed to be used by a Team
1185
+ class AllowedAddonService
1186
+ def initialize(client)
1187
+ @client = client
1188
+ end
1189
+
1190
+ # List all allowed add-on services for a team
1191
+ #
1192
+ # @param team_name_or_team_id: unique name of team or unique identifier of team
1193
+ def list_by_team(team_name_or_team_id)
1194
+ @client.allowed_addon_service.list_by_team(team_name_or_team_id)
1195
+ end
1196
+
1197
+ # Allow an Add-on Service
1198
+ #
1199
+ # @param team_name_or_team_id: unique name of team or unique identifier of team
1200
+ # @param body: the object to pass as the request payload
1201
+ def create_by_team(team_name_or_team_id, body = {})
1202
+ @client.allowed_addon_service.create_by_team(team_name_or_team_id, body)
1203
+ end
1204
+
1205
+ # Remove an allowed add-on service
1206
+ #
1207
+ # @param team_name_or_team_id: unique name of team or unique identifier of team
1208
+ # @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
1209
+ def delete_by_team(team_name_or_team_id, allowed_addon_service_id_or_addon_service_name)
1210
+ @client.allowed_addon_service.delete_by_team(team_name_or_team_id, allowed_addon_service_id_or_addon_service_name)
1211
+ end
1212
+ end
1213
+
1191
1214
  # An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.
1192
1215
  class AppFeature
1193
1216
  def initialize(client)
@@ -1477,7 +1500,7 @@ module PlatformAPI
1477
1500
  @client = client
1478
1501
  end
1479
1502
 
1480
- # List existing events.
1503
+ # 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&action=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.
1481
1504
  #
1482
1505
  # @param enterprise_account_id: unique identifier of the enterprise account
1483
1506
  def list(enterprise_account_id)
@@ -1652,6 +1675,15 @@ module PlatformAPI
1652
1675
  @client.domain.create(app_id_or_app_name, body)
1653
1676
  end
1654
1677
 
1678
+ # Associate an SNI endpoint
1679
+ #
1680
+ # @param app_id_or_app_name: unique identifier of app or unique name of app
1681
+ # @param domain_id_or_domain_hostname: unique identifier of this domain or full hostname
1682
+ # @param body: the object to pass as the request payload
1683
+ def update(app_id_or_app_name, domain_id_or_domain_hostname, body = {})
1684
+ @client.domain.update(app_id_or_app_name, domain_id_or_domain_hostname, body)
1685
+ end
1686
+
1655
1687
  # Delete an existing domain
1656
1688
  #
1657
1689
  # @param app_id_or_app_name: unique identifier of app or unique name of app
@@ -1748,6 +1780,22 @@ module PlatformAPI
1748
1780
  end
1749
1781
  end
1750
1782
 
1783
+ # Usage for an enterprise account at a daily resolution.
1784
+ class EnterpriseAccountDailyUsage
1785
+ def initialize(client)
1786
+ @client = client
1787
+ end
1788
+
1789
+ # 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#enterprise-account-list).
1790
+
1791
+ #
1792
+ # @param enterprise_account_id: unique identifier of the enterprise account
1793
+ # @param body: the object to pass as the request payload
1794
+ def info(enterprise_account_id, body = {})
1795
+ @client.enterprise_account_daily_usage.info(enterprise_account_id, body)
1796
+ end
1797
+ end
1798
+
1751
1799
  # Enterprise account members are users with access to an enterprise account.
1752
1800
  class EnterpriseAccountMember
1753
1801
  def initialize(client)
@@ -1787,31 +1835,19 @@ module PlatformAPI
1787
1835
  end
1788
1836
  end
1789
1837
 
1790
- # Usage for an enterprise account at a daily resolution.
1791
- class EnterpriseAccountUsageDaily
1792
- def initialize(client)
1793
- @client = client
1794
- end
1795
-
1796
- # 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 format. For example, '/enterprise-accounts/example-account/usage/daily?start=2019-01-01&end=2019-01-31' specifies all days in January for 2019.
1797
- #
1798
- # @param enterprise_account_id: unique identifier of the enterprise account
1799
- def info(enterprise_account_id)
1800
- @client.enterprise_account_usage_daily.info(enterprise_account_id)
1801
- end
1802
- end
1803
-
1804
1838
  # Usage for an enterprise account at a monthly resolution.
1805
- class EnterpriseAccountUsageMonthly
1839
+ class EnterpriseAccountMonthlyUsage
1806
1840
  def initialize(client)
1807
1841
  @client = client
1808
1842
  end
1809
1843
 
1810
- # 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 format. For example, '/enterprise-accounts/example-account/usage/monthly?start=2019-01&end=2019-02' specifies usage in January and February for 2019. If no end date is specified, one month of usage is returned.
1844
+ # 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#enterprise-account-list).
1845
+
1811
1846
  #
1812
1847
  # @param enterprise_account_id: unique identifier of the enterprise account
1813
- def info(enterprise_account_id)
1814
- @client.enterprise_account_usage_monthly.info(enterprise_account_id)
1848
+ # @param body: the object to pass as the request payload
1849
+ def info(enterprise_account_id, body = {})
1850
+ @client.enterprise_account_monthly_usage.info(enterprise_account_id, body)
1815
1851
  end
1816
1852
  end
1817
1853
 
@@ -1895,7 +1931,7 @@ module PlatformAPI
1895
1931
  end
1896
1932
  end
1897
1933
 
1898
- # Identity Providers represent the SAML configuration of an Team.
1934
+ # Identity Providers represent the SAML configuration of an Enterprise Account or Team.
1899
1935
  class IdentityProvider
1900
1936
  def initialize(client)
1901
1937
  @client = client
@@ -2346,9 +2382,9 @@ module PlatformAPI
2346
2382
 
2347
2383
  # List latest builds for each app in a pipeline
2348
2384
  #
2349
- # @param pipeline_id_or_pipeline_name: unique identifier of pipeline or name of pipeline
2350
- def list(pipeline_id_or_pipeline_name)
2351
- @client.pipeline_build.list(pipeline_id_or_pipeline_name)
2385
+ # @param pipeline_id: unique identifier of pipeline
2386
+ def list(pipeline_id)
2387
+ @client.pipeline_build.list(pipeline_id)
2352
2388
  end
2353
2389
  end
2354
2390
 
@@ -2451,9 +2487,9 @@ module PlatformAPI
2451
2487
 
2452
2488
  # List latest slug releases for each app in a pipeline
2453
2489
  #
2454
- # @param pipeline_id_or_pipeline_name: unique identifier of pipeline or name of pipeline
2455
- def list(pipeline_id_or_pipeline_name)
2456
- @client.pipeline_deployment.list(pipeline_id_or_pipeline_name)
2490
+ # @param pipeline_id: unique identifier of pipeline
2491
+ def list(pipeline_id)
2492
+ @client.pipeline_deployment.list(pipeline_id)
2457
2493
  end
2458
2494
  end
2459
2495
 
@@ -2500,9 +2536,9 @@ module PlatformAPI
2500
2536
 
2501
2537
  # List latest releases for each app in a pipeline
2502
2538
  #
2503
- # @param pipeline_id_or_pipeline_name: unique identifier of pipeline or name of pipeline
2504
- def list(pipeline_id_or_pipeline_name)
2505
- @client.pipeline_release.list(pipeline_id_or_pipeline_name)
2539
+ # @param pipeline_id: unique identifier of pipeline
2540
+ def list(pipeline_id)
2541
+ @client.pipeline_release.list(pipeline_id)
2506
2542
  end
2507
2543
  end
2508
2544
 
@@ -2514,9 +2550,9 @@ module PlatformAPI
2514
2550
 
2515
2551
  # The stack for a given pipeline, used for CI and Review Apps that have no stack defined in app.json.
2516
2552
  #
2517
- # @param pipeline_id_or_pipeline_name: unique identifier of pipeline or name of pipeline
2518
- def default_stack(pipeline_id_or_pipeline_name)
2519
- @client.pipeline_stack.default_stack(pipeline_id_or_pipeline_name)
2553
+ # @param pipeline_id: unique identifier of pipeline
2554
+ def default_stack(pipeline_id)
2555
+ @client.pipeline_stack.default_stack(pipeline_id)
2520
2556
  end
2521
2557
  end
2522
2558
 
@@ -2943,7 +2979,7 @@ module PlatformAPI
2943
2979
  end
2944
2980
  end
2945
2981
 
2946
- # A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.
2982
+ # A space is an isolated, highly available, secure app execution environment.
2947
2983
  class Space
2948
2984
  def initialize(client)
2949
2985
  @client = client
@@ -2984,53 +3020,6 @@ module PlatformAPI
2984
3020
  end
2985
3021
  end
2986
3022
 
2987
- # [SSL Endpoint](https://devcenter.heroku.com/articles/ssl-endpoint) is a public address serving custom SSL cert for HTTPS traffic to a Heroku app. Note that an app must have the `ssl:endpoint` add-on installed before it can provision an SSL Endpoint using these APIs.
2988
- class SSLEndpoint
2989
- def initialize(client)
2990
- @client = client
2991
- end
2992
-
2993
- # Create a new SSL endpoint.
2994
- #
2995
- # @param app_id_or_app_name: unique identifier of app or unique name of app
2996
- # @param body: the object to pass as the request payload
2997
- def create(app_id_or_app_name, body = {})
2998
- @client.ssl_endpoint.create(app_id_or_app_name, body)
2999
- end
3000
-
3001
- # Delete existing SSL endpoint.
3002
- #
3003
- # @param app_id_or_app_name: unique identifier of app or unique name of app
3004
- # @param ssl_endpoint_id_or_ssl_endpoint_name: unique identifier of this SSL endpoint or unique name for SSL endpoint
3005
- def delete(app_id_or_app_name, ssl_endpoint_id_or_ssl_endpoint_name)
3006
- @client.ssl_endpoint.delete(app_id_or_app_name, ssl_endpoint_id_or_ssl_endpoint_name)
3007
- end
3008
-
3009
- # Info for existing SSL endpoint.
3010
- #
3011
- # @param app_id_or_app_name: unique identifier of app or unique name of app
3012
- # @param ssl_endpoint_id_or_ssl_endpoint_name: unique identifier of this SSL endpoint or unique name for SSL endpoint
3013
- def info(app_id_or_app_name, ssl_endpoint_id_or_ssl_endpoint_name)
3014
- @client.ssl_endpoint.info(app_id_or_app_name, ssl_endpoint_id_or_ssl_endpoint_name)
3015
- end
3016
-
3017
- # List existing SSL endpoints.
3018
- #
3019
- # @param app_id_or_app_name: unique identifier of app or unique name of app
3020
- def list(app_id_or_app_name)
3021
- @client.ssl_endpoint.list(app_id_or_app_name)
3022
- end
3023
-
3024
- # Update an existing SSL endpoint.
3025
- #
3026
- # @param app_id_or_app_name: unique identifier of app or unique name of app
3027
- # @param ssl_endpoint_id_or_ssl_endpoint_name: unique identifier of this SSL endpoint or unique name for SSL endpoint
3028
- # @param body: the object to pass as the request payload
3029
- def update(app_id_or_app_name, ssl_endpoint_id_or_ssl_endpoint_name, body = {})
3030
- @client.ssl_endpoint.update(app_id_or_app_name, ssl_endpoint_id_or_ssl_endpoint_name, body)
3031
- end
3032
- end
3033
-
3034
3023
  # Stacks are the different application execution environments available in the Heroku platform.
3035
3024
  class Stack
3036
3025
  def initialize(client)
@@ -3175,6 +3164,22 @@ module PlatformAPI
3175
3164
  end
3176
3165
  end
3177
3166
 
3167
+ # Usage for an enterprise team at a daily resolution.
3168
+ class TeamDailyUsage
3169
+ def initialize(client)
3170
+ @client = client
3171
+ end
3172
+
3173
+ # 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).
3174
+
3175
+ #
3176
+ # @param team_id: unique identifier of team
3177
+ # @param body: the object to pass as the request payload
3178
+ def info(team_id, body = {})
3179
+ @client.team_daily_usage.info(team_id, body)
3180
+ end
3181
+ end
3182
+
3178
3183
  # A team feature represents a feature enabled on a team account.
3179
3184
  class TeamFeature
3180
3185
  def initialize(client)
@@ -3317,6 +3322,22 @@ module PlatformAPI
3317
3322
  end
3318
3323
  end
3319
3324
 
3325
+ # Usage for an enterprise team at a monthly resolution.
3326
+ class TeamMonthlyUsage
3327
+ def initialize(client)
3328
+ @client = client
3329
+ end
3330
+
3331
+ # 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).
3332
+
3333
+ #
3334
+ # @param team_id: unique identifier of team
3335
+ # @param body: the object to pass as the request payload
3336
+ def info(team_id, body = {})
3337
+ @client.team_monthly_usage.info(team_id, body)
3338
+ end
3339
+ end
3340
+
3320
3341
  # Tracks a Team's Preferences
3321
3342
  class TeamPreferences
3322
3343
  def initialize(client)
@@ -3339,7 +3360,7 @@ module PlatformAPI
3339
3360
  end
3340
3361
  end
3341
3362
 
3342
- # A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.
3363
+ # A space is an isolated, highly available, secure app execution environment.
3343
3364
  class TeamSpace
3344
3365
  def initialize(client)
3345
3366
  @client = client
@@ -3353,34 +3374,6 @@ module PlatformAPI
3353
3374
  end
3354
3375
  end
3355
3376
 
3356
- # Usage for an enterprise team at a daily resolution.
3357
- class TeamUsageDaily
3358
- def initialize(client)
3359
- @client = client
3360
- end
3361
-
3362
- # 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 format. For example, '/teams/example-team/usage?start=2019-01-01&end=2019-01-31' specifies all days in January for 2019.
3363
- #
3364
- # @param team_id: unique identifier of team
3365
- def info(team_id)
3366
- @client.team_usage_daily.info(team_id)
3367
- end
3368
- end
3369
-
3370
- # Usage for an enterprise team at a monthly resolution.
3371
- class TeamUsageMonthly
3372
- def initialize(client)
3373
- @client = client
3374
- end
3375
-
3376
- # Retrieves usage for an enterprise team for a range of months. Start and end dates can be specified as query parameters using the date format, YYYY-MM format. For example, '/teams/example-team/usage?start=2019-01&end=2019-02' specifies usage in January and February for 2019. If no end date is specified, one month of usage is returned.
3377
- #
3378
- # @param team_id: unique identifier of team
3379
- def info(team_id)
3380
- @client.team_usage_monthly.info(team_id)
3381
- end
3382
- end
3383
-
3384
3377
  # Teams allow you to manage access to a shared group of applications and other resources.
3385
3378
  class Team
3386
3379
  def initialize(client)
@@ -3567,35 +3560,14 @@ module PlatformAPI
3567
3560
  def info(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name)
3568
3561
  @client.vpn_connection.info(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name)
3569
3562
  end
3570
- end
3571
-
3572
- # Entities that have been whitelisted to be used by an Team
3573
- class WhitelistedAddonService
3574
- def initialize(client)
3575
- @client = client
3576
- end
3577
-
3578
- # List all whitelisted Add-on Services for an Team
3579
- #
3580
- # @param team_name_or_team_id: unique name of team or unique identifier of team
3581
- def list_by_team(team_name_or_team_id)
3582
- @client.whitelisted_addon_service.list_by_team(team_name_or_team_id)
3583
- end
3584
3563
 
3585
- # Whitelist an Add-on Service
3564
+ # Update a VPN connection in a private space.
3586
3565
  #
3587
- # @param team_name_or_team_id: unique name of team or unique identifier of team
3566
+ # @param space_id_or_space_name: unique identifier of space or unique name of space
3567
+ # @param vpn_connection_id_or_vpn_connection_name: VPN ID or VPN Name
3588
3568
  # @param body: the object to pass as the request payload
3589
- def create_by_team(team_name_or_team_id, body = {})
3590
- @client.whitelisted_addon_service.create_by_team(team_name_or_team_id, body)
3591
- end
3592
-
3593
- # Remove a whitelisted entity
3594
- #
3595
- # @param team_name_or_team_id: unique name of team or unique identifier of team
3596
- # @param whitelisted_addon_service_id_or_addon_service_name: unique identifier for this whitelisting entity or unique name of this add-on-service
3597
- def delete_by_team(team_name_or_team_id, whitelisted_addon_service_id_or_addon_service_name)
3598
- @client.whitelisted_addon_service.delete_by_team(team_name_or_team_id, whitelisted_addon_service_id_or_addon_service_name)
3569
+ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, body = {})
3570
+ @client.vpn_connection.update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, body)
3599
3571
  end
3600
3572
  end
3601
3573
 
@@ -3830,6 +3802,15 @@ module PlatformAPI
3830
3802
  "string"
3831
3803
  ]
3832
3804
  },
3805
+ "country_of_residence": {
3806
+ "description": "country where account owner resides",
3807
+ "example": "United States",
3808
+ "readOnly": false,
3809
+ "type": [
3810
+ "string",
3811
+ "null"
3812
+ ]
3813
+ },
3833
3814
  "email": {
3834
3815
  "description": "unique email address of account",
3835
3816
  "example": "username@example.com",
@@ -4001,7 +3982,7 @@ module PlatformAPI
4001
3982
  "title": "Update"
4002
3983
  },
4003
3984
  {
4004
- "description": "Delete account. Note that this action cannot be undone.",
3985
+ "description": "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.",
4005
3986
  "href": "/account",
4006
3987
  "method": "DELETE",
4007
3988
  "rel": "destroy",
@@ -4047,7 +4028,7 @@ module PlatformAPI
4047
4028
  "title": "Update By User"
4048
4029
  },
4049
4030
  {
4050
- "description": "Delete account. Note that this action cannot be undone.",
4031
+ "description": "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.",
4051
4032
  "href": "/users/{(%23%2Fdefinitions%2Faccount%2Fdefinitions%2Fidentity)}",
4052
4033
  "method": "DELETE",
4053
4034
  "rel": "destroy",
@@ -4078,10 +4059,14 @@ module PlatformAPI
4078
4059
  },
4079
4060
  "identity_provider": {
4080
4061
  "description": "Identity Provider details for federated users.",
4062
+ "strictProperties": true,
4081
4063
  "properties": {
4082
4064
  "id": {
4083
4065
  "$ref": "#/definitions/identity-provider/definitions/id"
4084
4066
  },
4067
+ "name": {
4068
+ "$ref": "#/definitions/identity-provider/definitions/name"
4069
+ },
4085
4070
  "team": {
4086
4071
  "type": [
4087
4072
  "object"
@@ -4103,46 +4088,7 @@ module PlatformAPI
4103
4088
  }
4104
4089
  },
4105
4090
  "owner": {
4106
- "description": "entity that owns this identity provider",
4107
- "properties": {
4108
- "id": {
4109
- "description": "unique identifier of the owner",
4110
- "example": "01234567-89ab-cdef-0123-456789abcdef",
4111
- "format": "uuid",
4112
- "readOnly": true,
4113
- "type": [
4114
- "string"
4115
- ]
4116
- },
4117
- "name": {
4118
- "description": "name of the owner",
4119
- "example": "acme",
4120
- "readOnly": true,
4121
- "type": [
4122
- "string"
4123
- ]
4124
- },
4125
- "type": {
4126
- "description": "type of the owner",
4127
- "enum": [
4128
- "team",
4129
- "enterprise-account"
4130
- ],
4131
- "example": "team",
4132
- "readOnly": true,
4133
- "type": [
4134
- "string"
4135
- ]
4136
- }
4137
- },
4138
- "readOnly": false,
4139
- "required": [
4140
- "id",
4141
- "type"
4142
- ],
4143
- "type": [
4144
- "object"
4145
- ]
4091
+ "$ref": "#/definitions/identity-provider/definitions/owner"
4146
4092
  }
4147
4093
  },
4148
4094
  "type": [
@@ -4174,6 +4120,9 @@ module PlatformAPI
4174
4120
  "verified": {
4175
4121
  "$ref": "#/definitions/account/definitions/verified"
4176
4122
  },
4123
+ "country_of_residence": {
4124
+ "$ref": "#/definitions/account/definitions/country_of_residence"
4125
+ },
4177
4126
  "default_organization": {
4178
4127
  "description": "team selected by default",
4179
4128
  "properties": {
@@ -4209,7 +4158,7 @@ module PlatformAPI
4209
4158
  }
4210
4159
  },
4211
4160
  "add-on-action": {
4212
- "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.",
4161
+ "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.",
4213
4162
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
4214
4163
  "stability": "development",
4215
4164
  "strictProperties": true,
@@ -5742,18 +5691,18 @@ module PlatformAPI
5742
5691
  }
5743
5692
  }
5744
5693
  },
5745
- "app-feature": {
5746
- "description": "An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.",
5694
+ "allowed-add-on-service": {
5695
+ "description": "Entities that have been allowed to be used by a Team",
5747
5696
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
5748
- "stability": "production",
5697
+ "stability": "prototype",
5749
5698
  "strictProperties": true,
5750
- "title": "Heroku Platform API - App Feature",
5699
+ "title": "Heroku Platform API - Allowed Add-on Service",
5751
5700
  "type": [
5752
5701
  "object"
5753
5702
  ],
5754
5703
  "definitions": {
5755
- "created_at": {
5756
- "description": "when app feature was created",
5704
+ "added_at": {
5705
+ "description": "when the add-on service was allowed",
5757
5706
  "example": "2012-01-01T12:00:00Z",
5758
5707
  "format": "date-time",
5759
5708
  "readOnly": true,
@@ -5761,19 +5710,170 @@ module PlatformAPI
5761
5710
  "string"
5762
5711
  ]
5763
5712
  },
5764
- "description": {
5765
- "description": "description of app feature",
5766
- "example": "Causes app to example.",
5713
+ "added_by": {
5714
+ "description": "the user which allowed the add-on service",
5715
+ "properties": {
5716
+ "email": {
5717
+ "$ref": "#/definitions/account/definitions/email",
5718
+ "type": [
5719
+ "string",
5720
+ "null"
5721
+ ]
5722
+ },
5723
+ "id": {
5724
+ "$ref": "#/definitions/account/definitions/id",
5725
+ "type": [
5726
+ "string",
5727
+ "null"
5728
+ ]
5729
+ }
5730
+ },
5767
5731
  "readOnly": true,
5768
5732
  "type": [
5769
- "string"
5733
+ "object"
5770
5734
  ]
5771
5735
  },
5772
- "doc_url": {
5773
- "description": "documentation URL of app feature",
5774
- "example": "http://devcenter.heroku.com/articles/example",
5775
- "readOnly": true,
5776
- "type": [
5736
+ "addon_service": {
5737
+ "description": "the add-on service allowed for use",
5738
+ "properties": {
5739
+ "id": {
5740
+ "$ref": "#/definitions/add-on-service/definitions/id"
5741
+ },
5742
+ "name": {
5743
+ "$ref": "#/definitions/add-on-service/definitions/name"
5744
+ },
5745
+ "human_name": {
5746
+ "$ref": "#/definitions/add-on-service/definitions/human_name"
5747
+ }
5748
+ },
5749
+ "readOnly": true,
5750
+ "type": [
5751
+ "object"
5752
+ ]
5753
+ },
5754
+ "id": {
5755
+ "description": "unique identifier for this allowed add-on service record",
5756
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
5757
+ "format": "uuid",
5758
+ "readOnly": true,
5759
+ "type": [
5760
+ "string"
5761
+ ]
5762
+ },
5763
+ "identity": {
5764
+ "anyOf": [
5765
+ {
5766
+ "$ref": "#/definitions/allowed-add-on-service/definitions/id"
5767
+ },
5768
+ {
5769
+ "$ref": "#/definitions/add-on-service/definitions/name"
5770
+ }
5771
+ ]
5772
+ }
5773
+ },
5774
+ "links": [
5775
+ {
5776
+ "description": "List all allowed add-on services for a team",
5777
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/allowed-addon-services",
5778
+ "method": "GET",
5779
+ "rel": "instances",
5780
+ "targetSchema": {
5781
+ "items": {
5782
+ "$ref": "#/definitions/allowed-add-on-service"
5783
+ },
5784
+ "type": [
5785
+ "array"
5786
+ ]
5787
+ },
5788
+ "title": "List By Team"
5789
+ },
5790
+ {
5791
+ "description": "Allow an Add-on Service",
5792
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/allowed-addon-services",
5793
+ "method": "POST",
5794
+ "rel": "create",
5795
+ "schema": {
5796
+ "type": [
5797
+ "object"
5798
+ ],
5799
+ "properties": {
5800
+ "addon_service": {
5801
+ "description": "name of the add-on service to allow",
5802
+ "example": "heroku-postgresql",
5803
+ "type": [
5804
+ "string"
5805
+ ]
5806
+ }
5807
+ }
5808
+ },
5809
+ "targetSchema": {
5810
+ "items": {
5811
+ "$ref": "#/definitions/allowed-add-on-service"
5812
+ },
5813
+ "type": [
5814
+ "array"
5815
+ ]
5816
+ },
5817
+ "title": "Create By Team"
5818
+ },
5819
+ {
5820
+ "description": "Remove an allowed add-on service",
5821
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/allowed-addon-services/{(%23%2Fdefinitions%2Fallowed-add-on-service%2Fdefinitions%2Fidentity)}",
5822
+ "method": "DELETE",
5823
+ "rel": "destroy",
5824
+ "targetSchema": {
5825
+ "$ref": "#/definitions/allowed-add-on-service"
5826
+ },
5827
+ "title": "Delete By Team"
5828
+ }
5829
+ ],
5830
+ "properties": {
5831
+ "added_at": {
5832
+ "$ref": "#/definitions/allowed-add-on-service/definitions/added_at"
5833
+ },
5834
+ "added_by": {
5835
+ "$ref": "#/definitions/allowed-add-on-service/definitions/added_by"
5836
+ },
5837
+ "addon_service": {
5838
+ "$ref": "#/definitions/allowed-add-on-service/definitions/addon_service"
5839
+ },
5840
+ "id": {
5841
+ "$ref": "#/definitions/allowed-add-on-service/definitions/id"
5842
+ }
5843
+ }
5844
+ },
5845
+ "app-feature": {
5846
+ "description": "An app feature represents a Heroku labs capability that can be enabled or disabled for an app on Heroku.",
5847
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
5848
+ "stability": "production",
5849
+ "strictProperties": true,
5850
+ "title": "Heroku Platform API - App Feature",
5851
+ "type": [
5852
+ "object"
5853
+ ],
5854
+ "definitions": {
5855
+ "created_at": {
5856
+ "description": "when app feature was created",
5857
+ "example": "2012-01-01T12:00:00Z",
5858
+ "format": "date-time",
5859
+ "readOnly": true,
5860
+ "type": [
5861
+ "string"
5862
+ ]
5863
+ },
5864
+ "description": {
5865
+ "description": "description of app feature",
5866
+ "example": "Causes app to example.",
5867
+ "readOnly": true,
5868
+ "type": [
5869
+ "string"
5870
+ ]
5871
+ },
5872
+ "doc_url": {
5873
+ "description": "documentation URL of app feature",
5874
+ "example": "http://devcenter.heroku.com/articles/example",
5875
+ "readOnly": true,
5876
+ "type": [
5777
5877
  "string"
5778
5878
  ]
5779
5879
  },
@@ -7345,6 +7445,15 @@ module PlatformAPI
7345
7445
  },
7346
7446
  "stack": {
7347
7447
  "$ref": "#/definitions/stack/definitions/identity"
7448
+ },
7449
+ "feature_flags": {
7450
+ "description": "unique name of app feature",
7451
+ "type": [
7452
+ "array"
7453
+ ],
7454
+ "items": {
7455
+ "$ref": "#/definitions/app-feature/definitions/name"
7456
+ }
7348
7457
  }
7349
7458
  },
7350
7459
  "type": [
@@ -7630,7 +7739,7 @@ module PlatformAPI
7630
7739
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
7631
7740
  "title": "Heroku Platform API - Audit Trail Archive",
7632
7741
  "description": "An audit trail archive represents a monthly json zipped file containing events",
7633
- "stability": "development",
7742
+ "stability": "production",
7634
7743
  "strictProperties": true,
7635
7744
  "type": [
7636
7745
  "object"
@@ -7649,12 +7758,24 @@ module PlatformAPI
7649
7758
  },
7650
7759
  "month": {
7651
7760
  "description": "month of the archive",
7652
- "example": 10,
7761
+ "enum": [
7762
+ "01",
7763
+ "02",
7764
+ "03",
7765
+ "04",
7766
+ "05",
7767
+ "06",
7768
+ "07",
7769
+ "08",
7770
+ "09",
7771
+ "10",
7772
+ "11",
7773
+ "12"
7774
+ ],
7775
+ "example": "10",
7653
7776
  "readOnly": true,
7654
- "minimum": 1,
7655
- "maximum": 12,
7656
7777
  "type": [
7657
- "integer"
7778
+ "string"
7658
7779
  ]
7659
7780
  },
7660
7781
  "year": {
@@ -7737,7 +7858,7 @@ module PlatformAPI
7737
7858
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
7738
7859
  "title": "Heroku Platform API - Audit Trail Event",
7739
7860
  "description": "An audit trail event represents some action on the platform",
7740
- "stability": "development",
7861
+ "stability": "production",
7741
7862
  "strictProperties": true,
7742
7863
  "type": [
7743
7864
  "object"
@@ -7751,13 +7872,6 @@ module PlatformAPI
7751
7872
  "string"
7752
7873
  ]
7753
7874
  },
7754
- "identity": {
7755
- "anyOf": [
7756
- {
7757
- "$ref": "#/definitions/audit-trail-event/definitions/id"
7758
- }
7759
- ]
7760
- },
7761
7875
  "type": {
7762
7876
  "description": "type of event",
7763
7877
  "readOnly": true,
@@ -7906,7 +8020,7 @@ module PlatformAPI
7906
8020
  },
7907
8021
  "links": [
7908
8022
  {
7909
- "description": "List existing events.",
8023
+ "description": "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&action=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.",
7910
8024
  "href": "/enterprise-accounts/{(%23%2Fdefinitions%2Fenterprise-account%2Fdefinitions%2Fidentity)}/events",
7911
8025
  "method": "GET",
7912
8026
  "rel": "instances",
@@ -8911,6 +9025,13 @@ module PlatformAPI
8911
9025
  "type": [
8912
9026
  "string"
8913
9027
  ]
9028
+ },
9029
+ "sni_endpoint": {
9030
+ "description": "null or unique identifier or name for SNI endpoint",
9031
+ "type": [
9032
+ "null",
9033
+ "string"
9034
+ ]
8914
9035
  }
8915
9036
  },
8916
9037
  "links": [
@@ -8923,10 +9044,14 @@ module PlatformAPI
8923
9044
  "properties": {
8924
9045
  "hostname": {
8925
9046
  "$ref": "#/definitions/domain/definitions/hostname"
9047
+ },
9048
+ "sni_endpoint": {
9049
+ "$ref": "#/definitions/domain/definitions/sni_endpoint"
8926
9050
  }
8927
9051
  },
8928
9052
  "required": [
8929
- "hostname"
9053
+ "hostname",
9054
+ "sni_endpoint"
8930
9055
  ],
8931
9056
  "type": [
8932
9057
  "object"
@@ -8937,6 +9062,29 @@ module PlatformAPI
8937
9062
  },
8938
9063
  "title": "Create"
8939
9064
  },
9065
+ {
9066
+ "description": "Associate an SNI endpoint",
9067
+ "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/domains/{(%23%2Fdefinitions%2Fdomain%2Fdefinitions%2Fidentity)}",
9068
+ "method": "PATCH",
9069
+ "rel": "update",
9070
+ "schema": {
9071
+ "properties": {
9072
+ "sni_endpoint": {
9073
+ "$ref": "#/definitions/domain/definitions/sni_endpoint"
9074
+ }
9075
+ },
9076
+ "required": [
9077
+ "sni_endpoint"
9078
+ ],
9079
+ "type": [
9080
+ "object"
9081
+ ]
9082
+ },
9083
+ "targetSchema": {
9084
+ "$ref": "#/definitions/domain"
9085
+ },
9086
+ "title": "Update"
9087
+ },
8940
9088
  {
8941
9089
  "description": "Delete an existing domain",
8942
9090
  "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/domains/{(%23%2Fdefinitions%2Fdomain%2Fdefinitions%2Fidentity)}",
@@ -9014,6 +9162,21 @@ module PlatformAPI
9014
9162
  },
9015
9163
  "status": {
9016
9164
  "$ref": "#/definitions/domain/definitions/status"
9165
+ },
9166
+ "sni_endpoint": {
9167
+ "description": "sni endpoint the domain is associated with",
9168
+ "properties": {
9169
+ "name": {
9170
+ "$ref": "#/definitions/sni-endpoint/definitions/name"
9171
+ },
9172
+ "id": {
9173
+ "$ref": "#/definitions/sni-endpoint/definitions/id"
9174
+ }
9175
+ },
9176
+ "type": [
9177
+ "null",
9178
+ "object"
9179
+ ]
9017
9180
  }
9018
9181
  }
9019
9182
  },
@@ -9483,18 +9646,51 @@ module PlatformAPI
9483
9646
  }
9484
9647
  }
9485
9648
  },
9486
- "enterprise-account-member": {
9649
+ "enterprise-account-daily-usage": {
9487
9650
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
9488
- "description": "Enterprise account members are users with access to an enterprise account.",
9651
+ "description": "Usage for an enterprise account at a daily resolution.",
9489
9652
  "stability": "development",
9490
9653
  "strictProperties": true,
9491
- "title": "Heroku Platform API - Enterprise Account Member",
9654
+ "title": "Heroku Platform API - Enterprise Account Daily Usage",
9492
9655
  "type": [
9493
9656
  "object"
9494
9657
  ],
9495
9658
  "definitions": {
9659
+ "addons": {
9660
+ "description": "total add-on credits used",
9661
+ "example": 250.0,
9662
+ "readOnly": true,
9663
+ "type": [
9664
+ "number"
9665
+ ]
9666
+ },
9667
+ "data": {
9668
+ "description": "total add-on credits used for first party add-ons",
9669
+ "example": 34.89,
9670
+ "readOnly": true,
9671
+ "type": [
9672
+ "number"
9673
+ ]
9674
+ },
9675
+ "date": {
9676
+ "description": "date of the usage",
9677
+ "example": "2019-01-01",
9678
+ "format": "date",
9679
+ "readOnly": true,
9680
+ "type": [
9681
+ "string"
9682
+ ]
9683
+ },
9684
+ "dynos": {
9685
+ "description": "dynos used",
9686
+ "example": 1.548,
9687
+ "readOnly": true,
9688
+ "type": [
9689
+ "number"
9690
+ ]
9691
+ },
9496
9692
  "id": {
9497
- "description": "unique identifier of the member",
9693
+ "description": "enterprise account identifier",
9498
9694
  "example": "01234567-89ab-cdef-0123-456789abcdef",
9499
9695
  "format": "uuid",
9500
9696
  "readOnly": true,
@@ -9502,32 +9698,197 @@ module PlatformAPI
9502
9698
  "string"
9503
9699
  ]
9504
9700
  },
9505
- "identity": {
9506
- "anyOf": [
9507
- {
9508
- "$ref": "#/definitions/enterprise-account-member/definitions/id"
9509
- }
9701
+ "name": {
9702
+ "description": "name of the enterprise account",
9703
+ "example": "example-co",
9704
+ "readOnly": true,
9705
+ "type": [
9706
+ "string"
9510
9707
  ]
9511
9708
  },
9512
- "permission": {
9513
- "description": "permission in the enterprise account",
9514
- "enum": [
9515
- "view",
9516
- "create",
9517
- "manage",
9518
- "billing"
9519
- ],
9520
- "example": "view",
9709
+ "partner": {
9710
+ "description": "total add-on credits used for third party add-ons",
9711
+ "example": 12.34,
9521
9712
  "readOnly": true,
9522
9713
  "type": [
9523
- "string"
9714
+ "number"
9524
9715
  ]
9525
9716
  },
9526
- "permissions": {
9527
- "description": "permissions for enterprise account",
9528
- "example": [
9529
- "view"
9530
- ],
9717
+ "space": {
9718
+ "description": "space credits used",
9719
+ "example": 1.548,
9720
+ "readOnly": true,
9721
+ "type": [
9722
+ "number"
9723
+ ]
9724
+ },
9725
+ "start_date": {
9726
+ "description": "range start date",
9727
+ "example": "2019-01-25",
9728
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
9729
+ "readOnly": true,
9730
+ "type": [
9731
+ "string"
9732
+ ]
9733
+ },
9734
+ "end_date": {
9735
+ "description": "range end date",
9736
+ "example": "2019-02-25",
9737
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
9738
+ "readOnly": true,
9739
+ "type": [
9740
+ "string"
9741
+ ]
9742
+ }
9743
+ },
9744
+ "links": [
9745
+ {
9746
+ "description": "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#enterprise-account-list).\n",
9747
+ "href": "/enterprise-accounts/{(%23%2Fdefinitions%2Fenterprise-account%2Fdefinitions%2Fid)}/usage/daily",
9748
+ "method": "GET",
9749
+ "rel": "instances",
9750
+ "title": "Info",
9751
+ "schema": {
9752
+ "properties": {
9753
+ "start": {
9754
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/start_date"
9755
+ },
9756
+ "end": {
9757
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/end_date"
9758
+ }
9759
+ },
9760
+ "required": [
9761
+ "start"
9762
+ ],
9763
+ "type": [
9764
+ "object"
9765
+ ]
9766
+ },
9767
+ "targetSchema": {
9768
+ "items": {
9769
+ "$ref": "#/definitions/enterprise-account-daily-usage"
9770
+ },
9771
+ "type": [
9772
+ "array"
9773
+ ]
9774
+ }
9775
+ }
9776
+ ],
9777
+ "properties": {
9778
+ "addons": {
9779
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/addons"
9780
+ },
9781
+ "teams": {
9782
+ "description": "usage by team",
9783
+ "type": [
9784
+ "array"
9785
+ ],
9786
+ "items": {
9787
+ "type": [
9788
+ "object"
9789
+ ],
9790
+ "properties": {
9791
+ "addons": {
9792
+ "$ref": "#/definitions/team-daily-usage/definitions/addons"
9793
+ },
9794
+ "apps": {
9795
+ "description": "app usage in the team",
9796
+ "type": [
9797
+ "array"
9798
+ ],
9799
+ "items": {
9800
+ "$ref": "#/definitions/team-daily-usage/definitions/app_usage_daily"
9801
+ }
9802
+ },
9803
+ "data": {
9804
+ "$ref": "#/definitions/team-daily-usage/definitions/data"
9805
+ },
9806
+ "dynos": {
9807
+ "$ref": "#/definitions/team-daily-usage/definitions/dynos"
9808
+ },
9809
+ "id": {
9810
+ "$ref": "#/definitions/team-daily-usage/definitions/id"
9811
+ },
9812
+ "name": {
9813
+ "$ref": "#/definitions/team-daily-usage/definitions/name"
9814
+ },
9815
+ "partner": {
9816
+ "$ref": "#/definitions/team-daily-usage/definitions/partner"
9817
+ },
9818
+ "space": {
9819
+ "$ref": "#/definitions/team-daily-usage/definitions/space"
9820
+ }
9821
+ }
9822
+ }
9823
+ },
9824
+ "data": {
9825
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/data"
9826
+ },
9827
+ "date": {
9828
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/date"
9829
+ },
9830
+ "dynos": {
9831
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/dynos"
9832
+ },
9833
+ "id": {
9834
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/id"
9835
+ },
9836
+ "name": {
9837
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/name"
9838
+ },
9839
+ "partner": {
9840
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/partner"
9841
+ },
9842
+ "space": {
9843
+ "$ref": "#/definitions/enterprise-account-daily-usage/definitions/space"
9844
+ }
9845
+ }
9846
+ },
9847
+ "enterprise-account-member": {
9848
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
9849
+ "description": "Enterprise account members are users with access to an enterprise account.",
9850
+ "stability": "development",
9851
+ "strictProperties": true,
9852
+ "title": "Heroku Platform API - Enterprise Account Member",
9853
+ "type": [
9854
+ "object"
9855
+ ],
9856
+ "definitions": {
9857
+ "id": {
9858
+ "description": "unique identifier of the member",
9859
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
9860
+ "format": "uuid",
9861
+ "readOnly": true,
9862
+ "type": [
9863
+ "string"
9864
+ ]
9865
+ },
9866
+ "identity": {
9867
+ "anyOf": [
9868
+ {
9869
+ "$ref": "#/definitions/enterprise-account-member/definitions/id"
9870
+ }
9871
+ ]
9872
+ },
9873
+ "permission": {
9874
+ "description": "permission in the enterprise account",
9875
+ "enum": [
9876
+ "view",
9877
+ "create",
9878
+ "manage",
9879
+ "billing"
9880
+ ],
9881
+ "example": "view",
9882
+ "readOnly": true,
9883
+ "type": [
9884
+ "string"
9885
+ ]
9886
+ },
9887
+ "permissions": {
9888
+ "description": "permissions for enterprise account",
9889
+ "example": [
9890
+ "view"
9891
+ ],
9531
9892
  "readOnly": true,
9532
9893
  "type": [
9533
9894
  "array"
@@ -9736,171 +10097,7 @@ module PlatformAPI
9736
10097
  }
9737
10098
  }
9738
10099
  },
9739
- "enterprise-account-usage-daily": {
9740
- "$schema": "http://json-schema.org/draft-04/hyper-schema",
9741
- "description": "Usage for an enterprise account at a daily resolution.",
9742
- "stability": "development",
9743
- "strictProperties": true,
9744
- "title": "Heroku Platform API - Enterprise Account Daily Usage",
9745
- "type": [
9746
- "object"
9747
- ],
9748
- "definitions": {
9749
- "addons": {
9750
- "description": "total add-on credits used",
9751
- "example": 250.0,
9752
- "readOnly": true,
9753
- "type": [
9754
- "number"
9755
- ]
9756
- },
9757
- "data": {
9758
- "description": "total add-on credits used for first party add-ons",
9759
- "example": 34.89,
9760
- "readOnly": true,
9761
- "type": [
9762
- "number"
9763
- ]
9764
- },
9765
- "date": {
9766
- "description": "date of the usage",
9767
- "example": "2019-01-01",
9768
- "format": "date",
9769
- "readOnly": true,
9770
- "type": [
9771
- "string"
9772
- ]
9773
- },
9774
- "dynos": {
9775
- "description": "dynos used",
9776
- "example": 1.548,
9777
- "readOnly": true,
9778
- "type": [
9779
- "number"
9780
- ]
9781
- },
9782
- "id": {
9783
- "description": "enterprise account identifier",
9784
- "example": "01234567-89ab-cdef-0123-456789abcdef",
9785
- "format": "uuid",
9786
- "readOnly": true,
9787
- "type": [
9788
- "string"
9789
- ]
9790
- },
9791
- "name": {
9792
- "description": "name of the enterprise account",
9793
- "example": "example-co",
9794
- "readOnly": true,
9795
- "type": [
9796
- "string"
9797
- ]
9798
- },
9799
- "partner": {
9800
- "description": "total add-on credits used for third party add-ons",
9801
- "example": 12.34,
9802
- "readOnly": true,
9803
- "type": [
9804
- "number"
9805
- ]
9806
- },
9807
- "space": {
9808
- "description": "space credits used",
9809
- "example": 1.548,
9810
- "readOnly": true,
9811
- "type": [
9812
- "number"
9813
- ]
9814
- }
9815
- },
9816
- "links": [
9817
- {
9818
- "description": "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 format. For example, '/enterprise-accounts/example-account/usage/daily?start=2019-01-01&end=2019-01-31' specifies all days in January for 2019.",
9819
- "href": "/enterprise-accounts/{(%23%2Fdefinitions%2Fenterprise-account%2Fdefinitions%2Fid)}/usage/daily",
9820
- "method": "GET",
9821
- "title": "Info",
9822
- "rel": "instances",
9823
- "targetSchema": {
9824
- "items": {
9825
- "$ref": "#/definitions/enterprise-account-usage-daily"
9826
- },
9827
- "type": [
9828
- "array"
9829
- ]
9830
- }
9831
- }
9832
- ],
9833
- "properties": {
9834
- "addons": {
9835
- "$ref": "#/definitions/enterprise-account-usage-daily/definitions/addons"
9836
- },
9837
- "teams": {
9838
- "description": "usage by team",
9839
- "type": [
9840
- "array"
9841
- ],
9842
- "items": {
9843
- "type": [
9844
- "object"
9845
- ],
9846
- "properties": {
9847
- "addons": {
9848
- "$ref": "#/definitions/team-usage-daily/definitions/addons"
9849
- },
9850
- "apps": {
9851
- "description": "app usage in the team",
9852
- "type": [
9853
- "array"
9854
- ],
9855
- "items": {
9856
- "$ref": "#/definitions/team-usage-daily/definitions/app_usage_daily"
9857
- }
9858
- },
9859
- "data": {
9860
- "$ref": "#/definitions/team-usage-daily/definitions/data"
9861
- },
9862
- "dynos": {
9863
- "$ref": "#/definitions/team-usage-daily/definitions/dynos"
9864
- },
9865
- "id": {
9866
- "$ref": "#/definitions/team-usage-daily/definitions/id"
9867
- },
9868
- "name": {
9869
- "$ref": "#/definitions/team-usage-daily/definitions/name"
9870
- },
9871
- "partner": {
9872
- "$ref": "#/definitions/team-usage-daily/definitions/partner"
9873
- },
9874
- "space": {
9875
- "$ref": "#/definitions/team-usage-daily/definitions/space"
9876
- }
9877
- }
9878
- }
9879
- },
9880
- "data": {
9881
- "$ref": "#/definitions/enterprise-account-usage-daily/definitions/data"
9882
- },
9883
- "date": {
9884
- "$ref": "#/definitions/enterprise-account-usage-daily/definitions/date"
9885
- },
9886
- "dynos": {
9887
- "$ref": "#/definitions/enterprise-account-usage-daily/definitions/dynos"
9888
- },
9889
- "id": {
9890
- "$ref": "#/definitions/enterprise-account-usage-daily/definitions/id"
9891
- },
9892
- "name": {
9893
- "$ref": "#/definitions/enterprise-account-usage-daily/definitions/name"
9894
- },
9895
- "partner": {
9896
- "$ref": "#/definitions/enterprise-account-usage-daily/definitions/partner"
9897
- },
9898
- "space": {
9899
- "$ref": "#/definitions/enterprise-account-usage-daily/definitions/space"
9900
- }
9901
- }
9902
- },
9903
- "enterprise-account-usage-monthly": {
10100
+ "enterprise-account-monthly-usage": {
9904
10101
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
9905
10102
  "description": "Usage for an enterprise account at a monthly resolution.",
9906
10103
  "stability": "development",
@@ -9983,18 +10180,52 @@ module PlatformAPI
9983
10180
  "type": [
9984
10181
  "number"
9985
10182
  ]
10183
+ },
10184
+ "start_date": {
10185
+ "description": "range start date",
10186
+ "example": "2019-01",
10187
+ "pattern": "^[0-9]{4}-[0-9]{2}$",
10188
+ "readOnly": true,
10189
+ "type": [
10190
+ "string"
10191
+ ]
10192
+ },
10193
+ "end_date": {
10194
+ "description": "range end date",
10195
+ "example": "2019-02",
10196
+ "pattern": "^[0-9]{4}-[0-9]{2}$",
10197
+ "readOnly": true,
10198
+ "type": [
10199
+ "string"
10200
+ ]
9986
10201
  }
9987
10202
  },
9988
10203
  "links": [
9989
10204
  {
9990
- "description": "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 format. For example, '/enterprise-accounts/example-account/usage/monthly?start=2019-01&end=2019-02' specifies usage in January and February for 2019. If no end date is specified, one month of usage is returned.",
10205
+ "description": "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#enterprise-account-list).\n",
9991
10206
  "href": "/enterprise-accounts/{(%23%2Fdefinitions%2Fenterprise-account%2Fdefinitions%2Fid)}/usage/monthly",
9992
10207
  "method": "GET",
9993
10208
  "rel": "instances",
9994
10209
  "title": "Info",
10210
+ "schema": {
10211
+ "properties": {
10212
+ "start": {
10213
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/start_date"
10214
+ },
10215
+ "end": {
10216
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/end_date"
10217
+ }
10218
+ },
10219
+ "required": [
10220
+ "start"
10221
+ ],
10222
+ "type": [
10223
+ "object"
10224
+ ]
10225
+ },
9995
10226
  "targetSchema": {
9996
10227
  "items": {
9997
- "$ref": "#/definitions/enterprise-account-usage-monthly"
10228
+ "$ref": "#/definitions/enterprise-account-monthly-usage"
9998
10229
  },
9999
10230
  "type": [
10000
10231
  "array"
@@ -10004,7 +10235,7 @@ module PlatformAPI
10004
10235
  ],
10005
10236
  "properties": {
10006
10237
  "addons": {
10007
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/addons"
10238
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/addons"
10008
10239
  },
10009
10240
  "teams": {
10010
10241
  "description": "usage by team",
@@ -10017,7 +10248,7 @@ module PlatformAPI
10017
10248
  ],
10018
10249
  "properties": {
10019
10250
  "addons": {
10020
- "$ref": "#/definitions/team-usage-monthly/definitions/addons"
10251
+ "$ref": "#/definitions/team-monthly-usage/definitions/addons"
10021
10252
  },
10022
10253
  "apps": {
10023
10254
  "description": "app usage in the team",
@@ -10025,56 +10256,56 @@ module PlatformAPI
10025
10256
  "array"
10026
10257
  ],
10027
10258
  "items": {
10028
- "$ref": "#/definitions/team-usage-monthly/definitions/app_usage_monthly"
10259
+ "$ref": "#/definitions/team-monthly-usage/definitions/app_usage_monthly"
10029
10260
  }
10030
10261
  },
10031
10262
  "connect": {
10032
- "$ref": "#/definitions/team-usage-monthly/definitions/connect"
10263
+ "$ref": "#/definitions/team-monthly-usage/definitions/connect"
10033
10264
  },
10034
10265
  "data": {
10035
- "$ref": "#/definitions/team-usage-monthly/definitions/data"
10266
+ "$ref": "#/definitions/team-monthly-usage/definitions/data"
10036
10267
  },
10037
10268
  "dynos": {
10038
- "$ref": "#/definitions/team-usage-monthly/definitions/dynos"
10269
+ "$ref": "#/definitions/team-monthly-usage/definitions/dynos"
10039
10270
  },
10040
10271
  "id": {
10041
- "$ref": "#/definitions/team-usage-monthly/definitions/id"
10272
+ "$ref": "#/definitions/team-monthly-usage/definitions/id"
10042
10273
  },
10043
10274
  "name": {
10044
- "$ref": "#/definitions/team-usage-monthly/definitions/name"
10275
+ "$ref": "#/definitions/team-monthly-usage/definitions/name"
10045
10276
  },
10046
10277
  "partner": {
10047
- "$ref": "#/definitions/team-usage-monthly/definitions/partner"
10278
+ "$ref": "#/definitions/team-monthly-usage/definitions/partner"
10048
10279
  },
10049
10280
  "space": {
10050
- "$ref": "#/definitions/team-usage-monthly/definitions/space"
10281
+ "$ref": "#/definitions/team-monthly-usage/definitions/space"
10051
10282
  }
10052
10283
  }
10053
10284
  }
10054
10285
  },
10055
10286
  "connect": {
10056
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/connect"
10287
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/connect"
10057
10288
  },
10058
10289
  "data": {
10059
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/data"
10290
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/data"
10060
10291
  },
10061
10292
  "dynos": {
10062
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/dynos"
10293
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/dynos"
10063
10294
  },
10064
10295
  "id": {
10065
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/id"
10296
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/id"
10066
10297
  },
10067
10298
  "month": {
10068
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/month"
10299
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/month"
10069
10300
  },
10070
10301
  "name": {
10071
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/name"
10302
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/name"
10072
10303
  },
10073
10304
  "partner": {
10074
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/partner"
10305
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/partner"
10075
10306
  },
10076
10307
  "space": {
10077
- "$ref": "#/definitions/enterprise-account-usage-monthly/definitions/space"
10308
+ "$ref": "#/definitions/enterprise-account-monthly-usage/definitions/space"
10078
10309
  }
10079
10310
  }
10080
10311
  },
@@ -10113,6 +10344,25 @@ module PlatformAPI
10113
10344
  }
10114
10345
  ]
10115
10346
  },
10347
+ "identity_provider": {
10348
+ "description": "Identity Provider associated with the Enterprise Account",
10349
+ "strictProperties": true,
10350
+ "type": [
10351
+ "null",
10352
+ "object"
10353
+ ],
10354
+ "properties": {
10355
+ "id": {
10356
+ "$ref": "#/definitions/identity-provider/definitions/id"
10357
+ },
10358
+ "name": {
10359
+ "$ref": "#/definitions/identity-provider/definitions/name"
10360
+ },
10361
+ "owner": {
10362
+ "$ref": "#/definitions/identity-provider/definitions/owner"
10363
+ }
10364
+ }
10365
+ },
10116
10366
  "name": {
10117
10367
  "description": "unique name of the enterprise account",
10118
10368
  "example": "example",
@@ -10215,27 +10465,7 @@ module PlatformAPI
10215
10465
  "$ref": "#/definitions/enterprise-account/definitions/trial"
10216
10466
  },
10217
10467
  "identity_provider": {
10218
- "description": "Identity Provider associated with the Enterprise Account",
10219
- "strictProperties": true,
10220
- "type": [
10221
- "null",
10222
- "object"
10223
- ],
10224
- "properties": {
10225
- "id": {
10226
- "$ref": "#/definitions/identity-provider/definitions/id"
10227
- },
10228
- "name": {
10229
- "description": "user-friendly unique identifier for this identity provider",
10230
- "example": "acme-sso",
10231
- "type": [
10232
- "string"
10233
- ]
10234
- },
10235
- "owner": {
10236
- "$ref": "#/definitions/identity-provider/definitions/owner"
10237
- }
10238
- }
10468
+ "$ref": "#/definitions/enterprise-account/definitions/identity_provider"
10239
10469
  }
10240
10470
  }
10241
10471
  },
@@ -10532,7 +10762,7 @@ module PlatformAPI
10532
10762
  }
10533
10763
  },
10534
10764
  "identity-provider": {
10535
- "description": "Identity Providers represent the SAML configuration of an Team.",
10765
+ "description": "Identity Providers represent the SAML configuration of an Enterprise Account or Team.",
10536
10766
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
10537
10767
  "stability": "production",
10538
10768
  "strictProperties": true,
@@ -10575,6 +10805,13 @@ module PlatformAPI
10575
10805
  "string"
10576
10806
  ]
10577
10807
  },
10808
+ "name": {
10809
+ "description": "user-friendly unique identifier for this identity provider",
10810
+ "example": "acme-sso",
10811
+ "type": [
10812
+ "string"
10813
+ ]
10814
+ },
10578
10815
  "slo_target_url": {
10579
10816
  "description": "single log out URL for this identity provider",
10580
10817
  "example": "https://example.com/idp/logout",
@@ -13118,7 +13355,7 @@ module PlatformAPI
13118
13355
  "links": [
13119
13356
  {
13120
13357
  "description": "List latest builds for each app in a pipeline",
13121
- "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fidentity)}/latest-builds",
13358
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}/latest-builds",
13122
13359
  "method": "GET",
13123
13360
  "rel": "instances",
13124
13361
  "targetSchema": {
@@ -13468,7 +13705,7 @@ module PlatformAPI
13468
13705
  "links": [
13469
13706
  {
13470
13707
  "description": "List latest slug releases for each app in a pipeline",
13471
- "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fidentity)}/latest-deployments",
13708
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}/latest-deployments",
13472
13709
  "method": "GET",
13473
13710
  "rel": "instances",
13474
13711
  "targetSchema": {
@@ -13817,7 +14054,7 @@ module PlatformAPI
13817
14054
  "links": [
13818
14055
  {
13819
14056
  "description": "List latest releases for each app in a pipeline",
13820
- "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fidentity)}/latest-releases",
14057
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}/latest-releases",
13821
14058
  "method": "GET",
13822
14059
  "rel": "instances",
13823
14060
  "targetSchema": {
@@ -13844,7 +14081,7 @@ module PlatformAPI
13844
14081
  "links": [
13845
14082
  {
13846
14083
  "description": "The stack for a given pipeline, used for CI and Review Apps that have no stack defined in app.json.",
13847
- "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fidentity)}/pipeline-stack",
14084
+ "href": "/pipelines/{(%23%2Fdefinitions%2Fpipeline%2Fdefinitions%2Fid)}/pipeline-stack",
13848
14085
  "method": "GET",
13849
14086
  "rel": "self",
13850
14087
  "targetSchema": {
@@ -14154,11 +14391,11 @@ module PlatformAPI
14154
14391
  "targetSchema": {
14155
14392
  "items": {
14156
14393
  "$ref": "#/definitions/pipeline"
14157
- }
14394
+ },
14395
+ "type": [
14396
+ "array"
14397
+ ]
14158
14398
  },
14159
- "type": [
14160
- "array"
14161
- ],
14162
14399
  "title": "List"
14163
14400
  }
14164
14401
  ],
@@ -15727,7 +15964,7 @@ module PlatformAPI
15727
15964
  "size": 2048,
15728
15965
  "stack": {
15729
15966
  "id": "01234567-89ab-cdef-0123-456789abcdef",
15730
- "name": "cedar-14"
15967
+ "name": "heroku-18"
15731
15968
  },
15732
15969
  "updated_at": "2012-01-01T12:00:00Z"
15733
15970
  }
@@ -15857,17 +16094,21 @@ module PlatformAPI
15857
16094
  "object"
15858
16095
  ],
15859
16096
  "definitions": {
15860
- "certificate_chain": {
15861
- "description": "raw contents of the public certificate chain (eg: .crt or .pem file)",
15862
- "example": "-----BEGIN CERTIFICATE----- ...",
15863
- "readOnly": false,
16097
+ "ca_signed?": {
16098
+ "readOnly": true,
15864
16099
  "type": [
15865
- "string"
16100
+ "boolean"
15866
16101
  ]
15867
16102
  },
15868
- "cname": {
15869
- "description": "deprecated; refer to GET /apps/:id/domains for valid CNAMEs for this app",
15870
- "example": "example.herokussl.com",
16103
+ "cert_domains": {
16104
+ "readOnly": true,
16105
+ "type": [
16106
+ "array"
16107
+ ]
16108
+ },
16109
+ "certificate_chain": {
16110
+ "description": "raw contents of the public certificate chain (eg: .crt or .pem file)",
16111
+ "example": "-----BEGIN CERTIFICATE----- ...",
15871
16112
  "readOnly": false,
15872
16113
  "type": [
15873
16114
  "string"
@@ -15882,6 +16123,33 @@ module PlatformAPI
15882
16123
  "string"
15883
16124
  ]
15884
16125
  },
16126
+ "domains": {
16127
+ "description": "domains associated with this SSL certificate",
16128
+ "type": [
16129
+ "array"
16130
+ ],
16131
+ "readOnly": true,
16132
+ "items": {
16133
+ "$ref": "#/definitions/domain/definitions/id"
16134
+ }
16135
+ },
16136
+ "display_name": {
16137
+ "description": "unique name for SSL certificate",
16138
+ "example": "example",
16139
+ "pattern": "^[a-z][a-z0-9-]{2,29}$",
16140
+ "readOnly": false,
16141
+ "type": [
16142
+ "string",
16143
+ "null"
16144
+ ]
16145
+ },
16146
+ "expires_at": {
16147
+ "readOnly": true,
16148
+ "format": "date-time",
16149
+ "type": [
16150
+ "string"
16151
+ ]
16152
+ },
15885
16153
  "id": {
15886
16154
  "description": "unique identifier of this SNI endpoint",
15887
16155
  "example": "01234567-89ab-cdef-0123-456789abcdef",
@@ -15901,6 +16169,12 @@ module PlatformAPI
15901
16169
  }
15902
16170
  ]
15903
16171
  },
16172
+ "issuer": {
16173
+ "readOnly": true,
16174
+ "type": [
16175
+ "string"
16176
+ ]
16177
+ },
15904
16178
  "name": {
15905
16179
  "description": "unique name for SNI endpoint",
15906
16180
  "example": "example",
@@ -15918,6 +16192,25 @@ module PlatformAPI
15918
16192
  "string"
15919
16193
  ]
15920
16194
  },
16195
+ "self_signed?": {
16196
+ "readOnly": true,
16197
+ "type": [
16198
+ "boolean"
16199
+ ]
16200
+ },
16201
+ "starts_at": {
16202
+ "readOnly": true,
16203
+ "format": "date-time",
16204
+ "type": [
16205
+ "string"
16206
+ ]
16207
+ },
16208
+ "subject": {
16209
+ "readOnly": true,
16210
+ "type": [
16211
+ "string"
16212
+ ]
16213
+ },
15921
16214
  "updated_at": {
15922
16215
  "description": "when SNI endpoint was updated",
15923
16216
  "example": "2012-01-01T12:00:00Z",
@@ -16023,9 +16316,6 @@ module PlatformAPI
16023
16316
  "certificate_chain": {
16024
16317
  "$ref": "#/definitions/sni-endpoint/definitions/certificate_chain"
16025
16318
  },
16026
- "cname": {
16027
- "$ref": "#/definitions/sni-endpoint/definitions/cname"
16028
- },
16029
16319
  "created_at": {
16030
16320
  "$ref": "#/definitions/sni-endpoint/definitions/created_at"
16031
16321
  },
@@ -16037,6 +16327,65 @@ module PlatformAPI
16037
16327
  },
16038
16328
  "updated_at": {
16039
16329
  "$ref": "#/definitions/sni-endpoint/definitions/updated_at"
16330
+ },
16331
+ "display_name": {
16332
+ "$ref": "#/definitions/sni-endpoint/definitions/display_name"
16333
+ },
16334
+ "domains": {
16335
+ "$ref": "#/definitions/sni-endpoint/definitions/domains"
16336
+ },
16337
+ "app": {
16338
+ "description": "application that this SSL certificate is on",
16339
+ "properties": {
16340
+ "id": {
16341
+ "$ref": "#/definitions/app/definitions/id"
16342
+ },
16343
+ "name": {
16344
+ "$ref": "#/definitions/app/definitions/name"
16345
+ }
16346
+ },
16347
+ "strictProperties": true,
16348
+ "type": [
16349
+ "object"
16350
+ ]
16351
+ },
16352
+ "ssl_cert": {
16353
+ "description": "certificate provided by this endpoint",
16354
+ "type": [
16355
+ "object"
16356
+ ],
16357
+ "properties": {
16358
+ "ca_signed?": {
16359
+ "$ref": "#/definitions/sni-endpoint/definitions/ca_signed?"
16360
+ },
16361
+ "cert_domains": {
16362
+ "$ref": "#/definitions/sni-endpoint/definitions/cert_domains"
16363
+ },
16364
+ "expires_at": {
16365
+ "$ref": "#/definitions/sni-endpoint/definitions/expires_at"
16366
+ },
16367
+ "issuer": {
16368
+ "$ref": "#/definitions/sni-endpoint/definitions/issuer"
16369
+ },
16370
+ "self_signed?": {
16371
+ "$ref": "#/definitions/sni-endpoint/definitions/self_signed?"
16372
+ },
16373
+ "starts_at": {
16374
+ "$ref": "#/definitions/sni-endpoint/definitions/starts_at"
16375
+ },
16376
+ "subject": {
16377
+ "$ref": "#/definitions/sni-endpoint/definitions/subject"
16378
+ },
16379
+ "id": {
16380
+ "description": "unique identifier of this SSL certificate",
16381
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
16382
+ "format": "uuid",
16383
+ "readOnly": true,
16384
+ "type": [
16385
+ "string"
16386
+ ]
16387
+ }
16388
+ }
16040
16389
  }
16041
16390
  }
16042
16391
  },
@@ -16395,7 +16744,10 @@ module PlatformAPI
16395
16744
  "string"
16396
16745
  ]
16397
16746
  }
16398
- }
16747
+ },
16748
+ "type": [
16749
+ "object"
16750
+ ]
16399
16751
  },
16400
16752
  "formation": {
16401
16753
  "description": "formations for application",
@@ -16517,7 +16869,7 @@ module PlatformAPI
16517
16869
  ]
16518
16870
  },
16519
16871
  "space": {
16520
- "description": "A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.",
16872
+ "description": "A space is an isolated, highly available, secure app execution environment.",
16521
16873
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
16522
16874
  "stability": "prototype",
16523
16875
  "strictProperties": true,
@@ -16593,6 +16945,13 @@ module PlatformAPI
16593
16945
  "string"
16594
16946
  ]
16595
16947
  },
16948
+ "log_drain_url": {
16949
+ "description": "URL to which all apps will drain logs. Only settable during space creation and enables direct logging. Must use HTTPS.",
16950
+ "example": "https://example.com/logs",
16951
+ "type": [
16952
+ "string"
16953
+ ]
16954
+ },
16596
16955
  "cidr": {
16597
16956
  "description": "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",
16598
16957
  "example": "172.20.20.30/16",
@@ -16664,333 +17023,117 @@ module PlatformAPI
16664
17023
  "method": "DELETE",
16665
17024
  "rel": "destroy",
16666
17025
  "targetSchema": {
16667
- "$ref": "#/definitions/space"
16668
- },
16669
- "title": "Delete"
16670
- },
16671
- {
16672
- "description": "Create a new space.",
16673
- "href": "/spaces",
16674
- "method": "POST",
16675
- "rel": "create",
16676
- "schema": {
16677
- "properties": {
16678
- "name": {
16679
- "$ref": "#/definitions/space/definitions/name"
16680
- },
16681
- "team": {
16682
- "$ref": "#/definitions/team/definitions/name"
16683
- },
16684
- "region": {
16685
- "$ref": "#/definitions/region/definitions/identity"
16686
- },
16687
- "shield": {
16688
- "$ref": "#/definitions/space/definitions/shield"
16689
- },
16690
- "cidr": {
16691
- "$ref": "#/definitions/space/definitions/cidr"
16692
- },
16693
- "data_cidr": {
16694
- "$ref": "#/definitions/space/definitions/data_cidr"
16695
- }
16696
- },
16697
- "required": [
16698
- "name",
16699
- "team"
16700
- ],
16701
- "type": [
16702
- "object"
16703
- ]
16704
- },
16705
- "targetSchema": {
16706
- "$ref": "#/definitions/space"
16707
- },
16708
- "title": "Create"
16709
- }
16710
- ],
16711
- "properties": {
16712
- "created_at": {
16713
- "$ref": "#/definitions/space/definitions/created_at"
16714
- },
16715
- "id": {
16716
- "$ref": "#/definitions/space/definitions/id"
16717
- },
16718
- "name": {
16719
- "$ref": "#/definitions/space/definitions/name"
16720
- },
16721
- "organization": {
16722
- "description": "organization that owns this space",
16723
- "properties": {
16724
- "name": {
16725
- "$ref": "#/definitions/team/definitions/name"
16726
- }
16727
- },
16728
- "type": [
16729
- "object"
16730
- ]
16731
- },
16732
- "team": {
16733
- "description": "team that owns this space",
16734
- "properties": {
16735
- "id": {
16736
- "$ref": "#/definitions/team/definitions/id"
16737
- },
16738
- "name": {
16739
- "$ref": "#/definitions/team/definitions/name"
16740
- }
16741
- },
16742
- "type": [
16743
- "object"
16744
- ]
16745
- },
16746
- "region": {
16747
- "description": "identity of space region",
16748
- "properties": {
16749
- "id": {
16750
- "$ref": "#/definitions/region/definitions/id"
16751
- },
16752
- "name": {
16753
- "$ref": "#/definitions/region/definitions/name"
16754
- }
16755
- },
16756
- "strictProperties": true,
16757
- "type": [
16758
- "object"
16759
- ]
16760
- },
16761
- "shield": {
16762
- "$ref": "#/definitions/space/definitions/shield"
16763
- },
16764
- "state": {
16765
- "$ref": "#/definitions/space/definitions/state"
16766
- },
16767
- "updated_at": {
16768
- "$ref": "#/definitions/space/definitions/updated_at"
16769
- },
16770
- "cidr": {
16771
- "$ref": "#/definitions/space/definitions/cidr"
16772
- },
16773
- "data_cidr": {
16774
- "$ref": "#/definitions/space/definitions/data_cidr"
16775
- }
16776
- }
16777
- },
16778
- "ssl-endpoint": {
16779
- "description": "[SSL Endpoint](https://devcenter.heroku.com/articles/ssl-endpoint) is a public address serving custom SSL cert for HTTPS traffic to a Heroku app. Note that an app must have the `ssl:endpoint` add-on installed before it can provision an SSL Endpoint using these APIs.",
16780
- "$schema": "http://json-schema.org/draft-04/hyper-schema",
16781
- "title": "Heroku Platform API - SSL Endpoint",
16782
- "stability": "production",
16783
- "strictProperties": true,
16784
- "type": [
16785
- "object"
16786
- ],
16787
- "definitions": {
16788
- "certificate_chain": {
16789
- "description": "raw contents of the public certificate chain (eg: .crt or .pem file)",
16790
- "example": "-----BEGIN CERTIFICATE----- ...",
16791
- "readOnly": false,
16792
- "type": [
16793
- "string"
16794
- ]
16795
- },
16796
- "cname": {
16797
- "description": "canonical name record, the address to point a domain at",
16798
- "example": "example.herokussl.com",
16799
- "readOnly": false,
16800
- "type": [
16801
- "string"
16802
- ]
16803
- },
16804
- "created_at": {
16805
- "description": "when endpoint was created",
16806
- "example": "2012-01-01T12:00:00Z",
16807
- "format": "date-time",
16808
- "readOnly": true,
16809
- "type": [
16810
- "string"
16811
- ]
16812
- },
16813
- "id": {
16814
- "description": "unique identifier of this SSL endpoint",
16815
- "example": "01234567-89ab-cdef-0123-456789abcdef",
16816
- "format": "uuid",
16817
- "readOnly": true,
16818
- "type": [
16819
- "string"
16820
- ]
16821
- },
16822
- "identity": {
16823
- "anyOf": [
16824
- {
16825
- "$ref": "#/definitions/ssl-endpoint/definitions/id"
16826
- },
16827
- {
16828
- "$ref": "#/definitions/ssl-endpoint/definitions/name"
16829
- }
16830
- ]
16831
- },
16832
- "name": {
16833
- "description": "unique name for SSL endpoint",
16834
- "example": "example",
16835
- "pattern": "^[a-z][a-z0-9-]{2,29}$",
16836
- "readOnly": true,
16837
- "type": [
16838
- "string"
16839
- ]
16840
- },
16841
- "preprocess": {
16842
- "default": true,
16843
- "description": "allow Heroku to modify an uploaded public certificate chain if deemed advantageous by adding missing intermediaries, stripping unnecessary ones, etc.",
16844
- "example": true,
16845
- "readOnly": false,
16846
- "type": [
16847
- "boolean"
16848
- ]
16849
- },
16850
- "private_key": {
16851
- "description": "contents of the private key (eg .key file)",
16852
- "example": "-----BEGIN RSA PRIVATE KEY----- ...",
16853
- "readOnly": false,
16854
- "type": [
16855
- "string"
16856
- ]
16857
- },
16858
- "updated_at": {
16859
- "description": "when endpoint was updated",
16860
- "example": "2012-01-01T12:00:00Z",
16861
- "format": "date-time",
16862
- "readOnly": true,
16863
- "type": [
16864
- "string"
16865
- ]
16866
- }
16867
- },
16868
- "links": [
16869
- {
16870
- "description": "Create a new SSL endpoint.",
16871
- "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/ssl-endpoints",
16872
- "method": "POST",
16873
- "rel": "create",
16874
- "schema": {
16875
- "properties": {
16876
- "certificate_chain": {
16877
- "$ref": "#/definitions/ssl-endpoint/definitions/certificate_chain"
16878
- },
16879
- "preprocess": {
16880
- "$ref": "#/definitions/ssl-endpoint/definitions/preprocess"
16881
- },
16882
- "private_key": {
16883
- "$ref": "#/definitions/ssl-endpoint/definitions/private_key"
16884
- }
16885
- },
16886
- "required": [
16887
- "certificate_chain",
16888
- "private_key"
16889
- ],
16890
- "type": [
16891
- "object"
16892
- ]
16893
- },
16894
- "targetSchema": {
16895
- "$ref": "#/definitions/ssl-endpoint"
16896
- },
16897
- "title": "Create"
16898
- },
16899
- {
16900
- "description": "Delete existing SSL endpoint.",
16901
- "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/ssl-endpoints/{(%23%2Fdefinitions%2Fssl-endpoint%2Fdefinitions%2Fidentity)}",
16902
- "method": "DELETE",
16903
- "rel": "destroy",
16904
- "targetSchema": {
16905
- "$ref": "#/definitions/ssl-endpoint"
16906
- },
16907
- "title": "Delete"
16908
- },
16909
- {
16910
- "description": "Info for existing SSL endpoint.",
16911
- "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/ssl-endpoints/{(%23%2Fdefinitions%2Fssl-endpoint%2Fdefinitions%2Fidentity)}",
16912
- "method": "GET",
16913
- "rel": "self",
16914
- "targetSchema": {
16915
- "$ref": "#/definitions/ssl-endpoint"
16916
- },
16917
- "title": "Info"
16918
- },
16919
- {
16920
- "description": "List existing SSL endpoints.",
16921
- "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/ssl-endpoints",
16922
- "method": "GET",
16923
- "rel": "instances",
16924
- "targetSchema": {
16925
- "items": {
16926
- "$ref": "#/definitions/ssl-endpoint"
16927
- },
16928
- "type": [
16929
- "array"
16930
- ]
17026
+ "$ref": "#/definitions/space"
16931
17027
  },
16932
- "title": "List"
17028
+ "title": "Delete"
16933
17029
  },
16934
17030
  {
16935
- "description": "Update an existing SSL endpoint.",
16936
- "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/ssl-endpoints/{(%23%2Fdefinitions%2Fssl-endpoint%2Fdefinitions%2Fidentity)}",
16937
- "method": "PATCH",
16938
- "rel": "update",
17031
+ "description": "Create a new space.",
17032
+ "href": "/spaces",
17033
+ "method": "POST",
17034
+ "rel": "create",
16939
17035
  "schema": {
16940
17036
  "properties": {
16941
- "certificate_chain": {
16942
- "$ref": "#/definitions/ssl-endpoint/definitions/certificate_chain"
17037
+ "name": {
17038
+ "$ref": "#/definitions/space/definitions/name"
16943
17039
  },
16944
- "preprocess": {
16945
- "$ref": "#/definitions/ssl-endpoint/definitions/preprocess"
17040
+ "team": {
17041
+ "$ref": "#/definitions/team/definitions/name"
16946
17042
  },
16947
- "private_key": {
16948
- "$ref": "#/definitions/ssl-endpoint/definitions/private_key"
17043
+ "region": {
17044
+ "$ref": "#/definitions/region/definitions/identity"
17045
+ },
17046
+ "shield": {
17047
+ "$ref": "#/definitions/space/definitions/shield"
17048
+ },
17049
+ "cidr": {
17050
+ "$ref": "#/definitions/space/definitions/cidr"
17051
+ },
17052
+ "data_cidr": {
17053
+ "$ref": "#/definitions/space/definitions/data_cidr"
17054
+ },
17055
+ "log_drain_url": {
17056
+ "$ref": "#/definitions/space/definitions/log_drain_url"
16949
17057
  }
16950
17058
  },
17059
+ "required": [
17060
+ "name",
17061
+ "team"
17062
+ ],
16951
17063
  "type": [
16952
17064
  "object"
16953
17065
  ]
16954
17066
  },
16955
17067
  "targetSchema": {
16956
- "$ref": "#/definitions/ssl-endpoint"
17068
+ "$ref": "#/definitions/space"
16957
17069
  },
16958
- "title": "Update"
17070
+ "title": "Create"
16959
17071
  }
16960
17072
  ],
16961
17073
  "properties": {
16962
- "app": {
16963
- "description": "application associated with this ssl-endpoint",
17074
+ "created_at": {
17075
+ "$ref": "#/definitions/space/definitions/created_at"
17076
+ },
17077
+ "id": {
17078
+ "$ref": "#/definitions/space/definitions/id"
17079
+ },
17080
+ "name": {
17081
+ "$ref": "#/definitions/space/definitions/name"
17082
+ },
17083
+ "organization": {
17084
+ "description": "organization that owns this space",
17085
+ "properties": {
17086
+ "name": {
17087
+ "$ref": "#/definitions/team/definitions/name"
17088
+ }
17089
+ },
16964
17090
  "type": [
16965
17091
  "object"
16966
- ],
17092
+ ]
17093
+ },
17094
+ "team": {
17095
+ "description": "team that owns this space",
16967
17096
  "properties": {
16968
17097
  "id": {
16969
- "$ref": "#/definitions/app/definitions/id"
17098
+ "$ref": "#/definitions/team/definitions/id"
16970
17099
  },
16971
17100
  "name": {
16972
- "$ref": "#/definitions/app/definitions/name"
17101
+ "$ref": "#/definitions/team/definitions/name"
16973
17102
  }
16974
17103
  },
16975
- "strictProperties": true
17104
+ "type": [
17105
+ "object"
17106
+ ]
16976
17107
  },
16977
- "certificate_chain": {
16978
- "$ref": "#/definitions/ssl-endpoint/definitions/certificate_chain"
17108
+ "region": {
17109
+ "description": "identity of space region",
17110
+ "properties": {
17111
+ "id": {
17112
+ "$ref": "#/definitions/region/definitions/id"
17113
+ },
17114
+ "name": {
17115
+ "$ref": "#/definitions/region/definitions/name"
17116
+ }
17117
+ },
17118
+ "strictProperties": true,
17119
+ "type": [
17120
+ "object"
17121
+ ]
16979
17122
  },
16980
- "cname": {
16981
- "$ref": "#/definitions/ssl-endpoint/definitions/cname"
17123
+ "shield": {
17124
+ "$ref": "#/definitions/space/definitions/shield"
16982
17125
  },
16983
- "created_at": {
16984
- "$ref": "#/definitions/ssl-endpoint/definitions/created_at"
17126
+ "state": {
17127
+ "$ref": "#/definitions/space/definitions/state"
16985
17128
  },
16986
- "id": {
16987
- "$ref": "#/definitions/ssl-endpoint/definitions/id"
17129
+ "updated_at": {
17130
+ "$ref": "#/definitions/space/definitions/updated_at"
16988
17131
  },
16989
- "name": {
16990
- "$ref": "#/definitions/ssl-endpoint/definitions/name"
17132
+ "cidr": {
17133
+ "$ref": "#/definitions/space/definitions/cidr"
16991
17134
  },
16992
- "updated_at": {
16993
- "$ref": "#/definitions/ssl-endpoint/definitions/updated_at"
17135
+ "data_cidr": {
17136
+ "$ref": "#/definitions/space/definitions/data_cidr"
16994
17137
  }
16995
17138
  }
16996
17139
  },
@@ -17042,7 +17185,7 @@ module PlatformAPI
17042
17185
  },
17043
17186
  "name": {
17044
17187
  "description": "unique name of stack",
17045
- "example": "cedar-14",
17188
+ "example": "heroku-18",
17046
17189
  "readOnly": true,
17047
17190
  "type": [
17048
17191
  "string"
@@ -17679,8 +17822,195 @@ module PlatformAPI
17679
17822
  "updated_at": {
17680
17823
  "$ref": "#/definitions/app/definitions/updated_at"
17681
17824
  },
17682
- "web_url": {
17683
- "$ref": "#/definitions/app/definitions/web_url"
17825
+ "web_url": {
17826
+ "$ref": "#/definitions/app/definitions/web_url"
17827
+ }
17828
+ }
17829
+ },
17830
+ "team-daily-usage": {
17831
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
17832
+ "description": "Usage for an enterprise team at a daily resolution.",
17833
+ "stability": "development",
17834
+ "strictProperties": true,
17835
+ "title": "Heroku Platform API - Team Daily Usage",
17836
+ "type": [
17837
+ "object"
17838
+ ],
17839
+ "definitions": {
17840
+ "addons": {
17841
+ "description": "total add-on credits used",
17842
+ "example": 250.0,
17843
+ "readOnly": true,
17844
+ "type": [
17845
+ "number"
17846
+ ]
17847
+ },
17848
+ "app_usage_daily": {
17849
+ "description": "Usage for an app at a daily resolution.",
17850
+ "type": [
17851
+ "object"
17852
+ ],
17853
+ "properties": {
17854
+ "addons": {
17855
+ "$ref": "#/definitions/team-daily-usage/definitions/addons"
17856
+ },
17857
+ "app_name": {
17858
+ "$ref": "#/definitions/app/definitions/name"
17859
+ },
17860
+ "data": {
17861
+ "$ref": "#/definitions/team-daily-usage/definitions/data"
17862
+ },
17863
+ "dynos": {
17864
+ "$ref": "#/definitions/team-daily-usage/definitions/dynos"
17865
+ },
17866
+ "partner": {
17867
+ "$ref": "#/definitions/team-daily-usage/definitions/partner"
17868
+ }
17869
+ }
17870
+ },
17871
+ "data": {
17872
+ "description": "total add-on credits used for first party add-ons",
17873
+ "example": 34.89,
17874
+ "readOnly": true,
17875
+ "type": [
17876
+ "number"
17877
+ ]
17878
+ },
17879
+ "date": {
17880
+ "description": "date of the usage",
17881
+ "example": "2019-01-01",
17882
+ "format": "date",
17883
+ "readOnly": true,
17884
+ "type": [
17885
+ "string"
17886
+ ]
17887
+ },
17888
+ "dynos": {
17889
+ "description": "dynos used",
17890
+ "example": 1.548,
17891
+ "readOnly": true,
17892
+ "type": [
17893
+ "number"
17894
+ ]
17895
+ },
17896
+ "id": {
17897
+ "description": "team identifier",
17898
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
17899
+ "format": "uuid",
17900
+ "readOnly": true,
17901
+ "type": [
17902
+ "string"
17903
+ ]
17904
+ },
17905
+ "name": {
17906
+ "description": "name of the team",
17907
+ "example": "ops",
17908
+ "readOnly": true,
17909
+ "type": [
17910
+ "string"
17911
+ ]
17912
+ },
17913
+ "partner": {
17914
+ "description": "total add-on credits used for third party add-ons",
17915
+ "example": 12.34,
17916
+ "readOnly": true,
17917
+ "type": [
17918
+ "number"
17919
+ ]
17920
+ },
17921
+ "space": {
17922
+ "description": "space credits used",
17923
+ "example": 1.548,
17924
+ "readOnly": true,
17925
+ "type": [
17926
+ "number"
17927
+ ]
17928
+ },
17929
+ "start_date": {
17930
+ "description": "range start date",
17931
+ "example": "2019-01-25",
17932
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
17933
+ "readOnly": true,
17934
+ "type": [
17935
+ "string"
17936
+ ]
17937
+ },
17938
+ "end_date": {
17939
+ "description": "range end date",
17940
+ "example": "2019-02-25",
17941
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
17942
+ "readOnly": true,
17943
+ "type": [
17944
+ "string"
17945
+ ]
17946
+ }
17947
+ },
17948
+ "links": [
17949
+ {
17950
+ "description": "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).\n",
17951
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fid)}/usage/daily",
17952
+ "method": "GET",
17953
+ "title": "Info",
17954
+ "schema": {
17955
+ "properties": {
17956
+ "start": {
17957
+ "$ref": "#/definitions/team-daily-usage/definitions/start_date"
17958
+ },
17959
+ "end": {
17960
+ "$ref": "#/definitions/team-daily-usage/definitions/end_date"
17961
+ }
17962
+ },
17963
+ "required": [
17964
+ "start"
17965
+ ],
17966
+ "type": [
17967
+ "object"
17968
+ ]
17969
+ },
17970
+ "rel": "instances",
17971
+ "targetSchema": {
17972
+ "items": {
17973
+ "$ref": "#/definitions/team-daily-usage"
17974
+ },
17975
+ "type": [
17976
+ "array"
17977
+ ]
17978
+ }
17979
+ }
17980
+ ],
17981
+ "properties": {
17982
+ "addons": {
17983
+ "$ref": "#/definitions/team-daily-usage/definitions/addons"
17984
+ },
17985
+ "apps": {
17986
+ "description": "app usage in the team",
17987
+ "type": [
17988
+ "array"
17989
+ ],
17990
+ "items": {
17991
+ "$ref": "#/definitions/team-daily-usage/definitions/app_usage_daily"
17992
+ }
17993
+ },
17994
+ "data": {
17995
+ "$ref": "#/definitions/team-daily-usage/definitions/data"
17996
+ },
17997
+ "date": {
17998
+ "$ref": "#/definitions/team-daily-usage/definitions/date"
17999
+ },
18000
+ "dynos": {
18001
+ "$ref": "#/definitions/team-daily-usage/definitions/dynos"
18002
+ },
18003
+ "id": {
18004
+ "$ref": "#/definitions/team-daily-usage/definitions/id"
18005
+ },
18006
+ "name": {
18007
+ "$ref": "#/definitions/team-daily-usage/definitions/name"
18008
+ },
18009
+ "partner": {
18010
+ "$ref": "#/definitions/team-daily-usage/definitions/partner"
18011
+ },
18012
+ "space": {
18013
+ "$ref": "#/definitions/team-daily-usage/definitions/space"
17684
18014
  }
17685
18015
  }
17686
18016
  },
@@ -18566,266 +18896,7 @@ module PlatformAPI
18566
18896
  }
18567
18897
  }
18568
18898
  },
18569
- "team-preferences": {
18570
- "description": "Tracks a Team's Preferences",
18571
- "$schema": "http://json-schema.org/draft-04/hyper-schema",
18572
- "stability": "development",
18573
- "strictProperties": true,
18574
- "title": "Heroku Platform API - Team Preferences",
18575
- "type": [
18576
- "object"
18577
- ],
18578
- "definitions": {
18579
- "default-permission": {
18580
- "description": "The default permission used when adding new members to the team",
18581
- "example": "member",
18582
- "readOnly": false,
18583
- "enum": [
18584
- "admin",
18585
- "member",
18586
- "viewer",
18587
- null
18588
- ],
18589
- "type": [
18590
- "null",
18591
- "string"
18592
- ]
18593
- },
18594
- "identity": {
18595
- "$ref": "#/definitions/team/definitions/identity"
18596
- },
18597
- "whitelisting-enabled": {
18598
- "description": "Whether whitelisting rules should be applied to add-on installations",
18599
- "example": true,
18600
- "readOnly": false,
18601
- "type": [
18602
- "boolean",
18603
- "null"
18604
- ]
18605
- }
18606
- },
18607
- "links": [
18608
- {
18609
- "description": "Retrieve Team Preferences",
18610
- "href": "/teams/{(%23%2Fdefinitions%2Fteam-preferences%2Fdefinitions%2Fidentity)}/preferences",
18611
- "method": "GET",
18612
- "rel": "self",
18613
- "targetSchema": {
18614
- "$ref": "#/definitions/team-preferences"
18615
- },
18616
- "title": "List"
18617
- },
18618
- {
18619
- "description": "Update Team Preferences",
18620
- "href": "/teams/{(%23%2Fdefinitions%2Fteam-preferences%2Fdefinitions%2Fidentity)}/preferences",
18621
- "method": "PATCH",
18622
- "rel": "update",
18623
- "schema": {
18624
- "type": [
18625
- "object"
18626
- ],
18627
- "properties": {
18628
- "whitelisting-enabled": {
18629
- "$ref": "#/definitions/team-preferences/definitions/whitelisting-enabled"
18630
- }
18631
- }
18632
- },
18633
- "targetSchema": {
18634
- "$ref": "#/definitions/team-preferences"
18635
- },
18636
- "title": "Update"
18637
- }
18638
- ],
18639
- "properties": {
18640
- "default-permission": {
18641
- "$ref": "#/definitions/team-preferences/definitions/default-permission"
18642
- },
18643
- "whitelisting-enabled": {
18644
- "$ref": "#/definitions/team-preferences/definitions/whitelisting-enabled"
18645
- }
18646
- }
18647
- },
18648
- "team-space": {
18649
- "description": "A space is an isolated, highly available, secure app execution environments, running in the modern VPC substrate.",
18650
- "$schema": "http://json-schema.org/draft-04/hyper-schema",
18651
- "stability": "prototype",
18652
- "strictProperties": true,
18653
- "title": "Heroku Platform API - Space",
18654
- "type": [
18655
- "object"
18656
- ],
18657
- "links": [
18658
- {
18659
- "description": "List spaces owned by the team",
18660
- "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/spaces",
18661
- "method": "GET",
18662
- "rel": "instances",
18663
- "targetSchema": {
18664
- "items": {
18665
- "$ref": "#/definitions/space"
18666
- },
18667
- "type": [
18668
- "array"
18669
- ]
18670
- },
18671
- "title": "List"
18672
- }
18673
- ]
18674
- },
18675
- "team-usage-daily": {
18676
- "$schema": "http://json-schema.org/draft-04/hyper-schema",
18677
- "description": "Usage for an enterprise team at a daily resolution.",
18678
- "stability": "development",
18679
- "strictProperties": true,
18680
- "title": "Heroku Platform API - Team Daily Usage",
18681
- "type": [
18682
- "object"
18683
- ],
18684
- "definitions": {
18685
- "addons": {
18686
- "description": "total add-on credits used",
18687
- "example": 250.0,
18688
- "readOnly": true,
18689
- "type": [
18690
- "number"
18691
- ]
18692
- },
18693
- "app_usage_daily": {
18694
- "description": "Usage for an app at a daily resolution.",
18695
- "type": [
18696
- "object"
18697
- ],
18698
- "properties": {
18699
- "addons": {
18700
- "$ref": "#/definitions/team-usage-daily/definitions/addons"
18701
- },
18702
- "app_name": {
18703
- "$ref": "#/definitions/app/definitions/name"
18704
- },
18705
- "data": {
18706
- "$ref": "#/definitions/team-usage-daily/definitions/data"
18707
- },
18708
- "dynos": {
18709
- "$ref": "#/definitions/team-usage-daily/definitions/dynos"
18710
- },
18711
- "partner": {
18712
- "$ref": "#/definitions/team-usage-daily/definitions/partner"
18713
- }
18714
- }
18715
- },
18716
- "data": {
18717
- "description": "total add-on credits used for first party add-ons",
18718
- "example": 34.89,
18719
- "readOnly": true,
18720
- "type": [
18721
- "number"
18722
- ]
18723
- },
18724
- "date": {
18725
- "description": "date of the usage",
18726
- "example": "2019-01-01",
18727
- "format": "date",
18728
- "readOnly": true,
18729
- "type": [
18730
- "string"
18731
- ]
18732
- },
18733
- "dynos": {
18734
- "description": "dynos used",
18735
- "example": 1.548,
18736
- "readOnly": true,
18737
- "type": [
18738
- "number"
18739
- ]
18740
- },
18741
- "id": {
18742
- "description": "team identifier",
18743
- "example": "01234567-89ab-cdef-0123-456789abcdef",
18744
- "format": "uuid",
18745
- "readOnly": true,
18746
- "type": [
18747
- "string"
18748
- ]
18749
- },
18750
- "name": {
18751
- "description": "name of the team",
18752
- "example": "ops",
18753
- "readOnly": true,
18754
- "type": [
18755
- "string"
18756
- ]
18757
- },
18758
- "partner": {
18759
- "description": "total add-on credits used for third party add-ons",
18760
- "example": 12.34,
18761
- "readOnly": true,
18762
- "type": [
18763
- "number"
18764
- ]
18765
- },
18766
- "space": {
18767
- "description": "space credits used",
18768
- "example": 1.548,
18769
- "readOnly": true,
18770
- "type": [
18771
- "number"
18772
- ]
18773
- }
18774
- },
18775
- "links": [
18776
- {
18777
- "description": "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 format. For example, '/teams/example-team/usage?start=2019-01-01&end=2019-01-31' specifies all days in January for 2019.",
18778
- "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fid)}/usage/daily",
18779
- "method": "GET",
18780
- "title": "Info",
18781
- "rel": "instances",
18782
- "targetSchema": {
18783
- "items": {
18784
- "$ref": "#/definitions/team-usage-daily"
18785
- },
18786
- "type": [
18787
- "array"
18788
- ]
18789
- }
18790
- }
18791
- ],
18792
- "properties": {
18793
- "addons": {
18794
- "$ref": "#/definitions/team-usage-daily/definitions/addons"
18795
- },
18796
- "apps": {
18797
- "description": "app usage in the team",
18798
- "type": [
18799
- "array"
18800
- ],
18801
- "items": {
18802
- "$ref": "#/definitions/team-usage-daily/definitions/app_usage_daily"
18803
- }
18804
- },
18805
- "data": {
18806
- "$ref": "#/definitions/team-usage-daily/definitions/data"
18807
- },
18808
- "date": {
18809
- "$ref": "#/definitions/team-usage-daily/definitions/date"
18810
- },
18811
- "dynos": {
18812
- "$ref": "#/definitions/team-usage-daily/definitions/dynos"
18813
- },
18814
- "id": {
18815
- "$ref": "#/definitions/team-usage-daily/definitions/id"
18816
- },
18817
- "name": {
18818
- "$ref": "#/definitions/team-usage-daily/definitions/name"
18819
- },
18820
- "partner": {
18821
- "$ref": "#/definitions/team-usage-daily/definitions/partner"
18822
- },
18823
- "space": {
18824
- "$ref": "#/definitions/team-usage-daily/definitions/space"
18825
- }
18826
- }
18827
- },
18828
- "team-usage-monthly": {
18899
+ "team-monthly-usage": {
18829
18900
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
18830
18901
  "description": "Usage for an enterprise team at a monthly resolution.",
18831
18902
  "stability": "development",
@@ -18850,19 +18921,19 @@ module PlatformAPI
18850
18921
  ],
18851
18922
  "properties": {
18852
18923
  "addons": {
18853
- "$ref": "#/definitions/team-usage-monthly/definitions/addons"
18924
+ "$ref": "#/definitions/team-monthly-usage/definitions/addons"
18854
18925
  },
18855
18926
  "app_name": {
18856
18927
  "$ref": "#/definitions/app/definitions/name"
18857
18928
  },
18858
18929
  "data": {
18859
- "$ref": "#/definitions/team-usage-monthly/definitions/data"
18930
+ "$ref": "#/definitions/team-monthly-usage/definitions/data"
18860
18931
  },
18861
18932
  "dynos": {
18862
- "$ref": "#/definitions/team-usage-monthly/definitions/dynos"
18933
+ "$ref": "#/definitions/team-monthly-usage/definitions/dynos"
18863
18934
  },
18864
18935
  "partner": {
18865
- "$ref": "#/definitions/team-usage-monthly/definitions/partner"
18936
+ "$ref": "#/definitions/team-monthly-usage/definitions/partner"
18866
18937
  }
18867
18938
  }
18868
18939
  },
@@ -18931,18 +19002,52 @@ module PlatformAPI
18931
19002
  "type": [
18932
19003
  "number"
18933
19004
  ]
19005
+ },
19006
+ "start_date": {
19007
+ "description": "range start date",
19008
+ "example": "2019-01",
19009
+ "pattern": "^[0-9]{4}-[0-9]{2}$",
19010
+ "readOnly": true,
19011
+ "type": [
19012
+ "string"
19013
+ ]
19014
+ },
19015
+ "end_date": {
19016
+ "description": "range end date",
19017
+ "example": "2019-02",
19018
+ "pattern": "^[0-9]{4}-[0-9]{2}$",
19019
+ "readOnly": true,
19020
+ "type": [
19021
+ "string"
19022
+ ]
18934
19023
  }
18935
19024
  },
18936
19025
  "links": [
18937
19026
  {
18938
- "description": "Retrieves usage for an enterprise team for a range of months. Start and end dates can be specified as query parameters using the date format, YYYY-MM format. For example, '/teams/example-team/usage?start=2019-01&end=2019-02' specifies usage in January and February for 2019. If no end date is specified, one month of usage is returned.",
19027
+ "description": "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).\n",
18939
19028
  "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fid)}/usage/monthly",
18940
19029
  "method": "GET",
19030
+ "title": "Info",
19031
+ "schema": {
19032
+ "properties": {
19033
+ "start": {
19034
+ "$ref": "#/definitions/team-monthly-usage/definitions/start_date"
19035
+ },
19036
+ "end": {
19037
+ "$ref": "#/definitions/team-monthly-usage/definitions/end_date"
19038
+ }
19039
+ },
19040
+ "required": [
19041
+ "start"
19042
+ ],
19043
+ "type": [
19044
+ "object"
19045
+ ]
19046
+ },
18941
19047
  "rel": "instances",
18942
- "title": "Info",
18943
19048
  "targetSchema": {
18944
19049
  "items": {
18945
- "$ref": "#/definitions/team-usage-monthly"
19050
+ "$ref": "#/definitions/team-monthly-usage"
18946
19051
  },
18947
19052
  "type": [
18948
19053
  "array"
@@ -18952,7 +19057,7 @@ module PlatformAPI
18952
19057
  ],
18953
19058
  "properties": {
18954
19059
  "addons": {
18955
- "$ref": "#/definitions/team-usage-monthly/definitions/addons"
19060
+ "$ref": "#/definitions/team-monthly-usage/definitions/addons"
18956
19061
  },
18957
19062
  "apps": {
18958
19063
  "description": "app usage in the team",
@@ -18960,35 +19065,141 @@ module PlatformAPI
18960
19065
  "array"
18961
19066
  ],
18962
19067
  "items": {
18963
- "$ref": "#/definitions/team-usage-monthly/definitions/app_usage_monthly"
19068
+ "$ref": "#/definitions/team-monthly-usage/definitions/app_usage_monthly"
18964
19069
  }
18965
19070
  },
18966
19071
  "connect": {
18967
- "$ref": "#/definitions/team-usage-monthly/definitions/connect"
19072
+ "$ref": "#/definitions/team-monthly-usage/definitions/connect"
18968
19073
  },
18969
19074
  "data": {
18970
- "$ref": "#/definitions/team-usage-monthly/definitions/data"
19075
+ "$ref": "#/definitions/team-monthly-usage/definitions/data"
18971
19076
  },
18972
19077
  "dynos": {
18973
- "$ref": "#/definitions/team-usage-monthly/definitions/dynos"
19078
+ "$ref": "#/definitions/team-monthly-usage/definitions/dynos"
18974
19079
  },
18975
19080
  "id": {
18976
- "$ref": "#/definitions/team-usage-monthly/definitions/id"
19081
+ "$ref": "#/definitions/team-monthly-usage/definitions/id"
18977
19082
  },
18978
19083
  "month": {
18979
- "$ref": "#/definitions/team-usage-monthly/definitions/month"
19084
+ "$ref": "#/definitions/team-monthly-usage/definitions/month"
18980
19085
  },
18981
19086
  "name": {
18982
- "$ref": "#/definitions/team-usage-monthly/definitions/name"
19087
+ "$ref": "#/definitions/team-monthly-usage/definitions/name"
18983
19088
  },
18984
19089
  "partner": {
18985
- "$ref": "#/definitions/team-usage-monthly/definitions/partner"
19090
+ "$ref": "#/definitions/team-monthly-usage/definitions/partner"
18986
19091
  },
18987
19092
  "space": {
18988
- "$ref": "#/definitions/team-usage-monthly/definitions/space"
19093
+ "$ref": "#/definitions/team-monthly-usage/definitions/space"
19094
+ }
19095
+ }
19096
+ },
19097
+ "team-preferences": {
19098
+ "description": "Tracks a Team's Preferences",
19099
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
19100
+ "stability": "development",
19101
+ "strictProperties": true,
19102
+ "title": "Heroku Platform API - Team Preferences",
19103
+ "type": [
19104
+ "object"
19105
+ ],
19106
+ "definitions": {
19107
+ "default-permission": {
19108
+ "description": "The default permission used when adding new members to the team",
19109
+ "example": "member",
19110
+ "readOnly": false,
19111
+ "enum": [
19112
+ "admin",
19113
+ "member",
19114
+ "viewer",
19115
+ null
19116
+ ],
19117
+ "type": [
19118
+ "null",
19119
+ "string"
19120
+ ]
19121
+ },
19122
+ "identity": {
19123
+ "$ref": "#/definitions/team/definitions/identity"
19124
+ },
19125
+ "addons-controls": {
19126
+ "description": "Whether add-on service rules should be applied to add-on installations",
19127
+ "example": true,
19128
+ "readOnly": false,
19129
+ "type": [
19130
+ "boolean",
19131
+ "null"
19132
+ ]
19133
+ }
19134
+ },
19135
+ "links": [
19136
+ {
19137
+ "description": "Retrieve Team Preferences",
19138
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam-preferences%2Fdefinitions%2Fidentity)}/preferences",
19139
+ "method": "GET",
19140
+ "rel": "self",
19141
+ "targetSchema": {
19142
+ "$ref": "#/definitions/team-preferences"
19143
+ },
19144
+ "title": "List"
19145
+ },
19146
+ {
19147
+ "description": "Update Team Preferences",
19148
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam-preferences%2Fdefinitions%2Fidentity)}/preferences",
19149
+ "method": "PATCH",
19150
+ "rel": "update",
19151
+ "schema": {
19152
+ "type": [
19153
+ "object"
19154
+ ],
19155
+ "properties": {
19156
+ "addons-controls": {
19157
+ "$ref": "#/definitions/team-preferences/definitions/addons-controls"
19158
+ }
19159
+ }
19160
+ },
19161
+ "targetSchema": {
19162
+ "$ref": "#/definitions/team-preferences"
19163
+ },
19164
+ "title": "Update"
19165
+ }
19166
+ ],
19167
+ "properties": {
19168
+ "default-permission": {
19169
+ "$ref": "#/definitions/team-preferences/definitions/default-permission"
19170
+ },
19171
+ "addons-controls": {
19172
+ "$ref": "#/definitions/team-preferences/definitions/addons-controls"
18989
19173
  }
18990
19174
  }
18991
19175
  },
19176
+ "team-space": {
19177
+ "description": "A space is an isolated, highly available, secure app execution environment.",
19178
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
19179
+ "stability": "prototype",
19180
+ "strictProperties": true,
19181
+ "title": "Heroku Platform API - Team Space",
19182
+ "type": [
19183
+ "object"
19184
+ ],
19185
+ "links": [
19186
+ {
19187
+ "description": "List spaces owned by the team",
19188
+ "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/spaces",
19189
+ "method": "GET",
19190
+ "rel": "instances",
19191
+ "targetSchema": {
19192
+ "items": {
19193
+ "$ref": "#/definitions/space"
19194
+ },
19195
+ "type": [
19196
+ "array"
19197
+ ]
19198
+ },
19199
+ "title": "List"
19200
+ }
19201
+ ]
19202
+ },
18992
19203
  "team": {
18993
19204
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
18994
19205
  "description": "Teams allow you to manage access to a shared group of applications and other resources.",
@@ -19068,12 +19279,11 @@ module PlatformAPI
19068
19279
  "id": {
19069
19280
  "$ref": "#/definitions/identity-provider/definitions/id"
19070
19281
  },
19071
- "slug": {
19072
- "description": "user-friendly unique identifier for this identity provider",
19073
- "example": "acme-sso",
19074
- "type": [
19075
- "string"
19076
- ]
19282
+ "name": {
19283
+ "$ref": "#/definitions/identity-provider/definitions/name"
19284
+ },
19285
+ "owner": {
19286
+ "$ref": "#/definitions/identity-provider/definitions/owner"
19077
19287
  }
19078
19288
  }
19079
19289
  },
@@ -20567,159 +20777,31 @@ module PlatformAPI
20567
20777
  "$ref": "#/definitions/vpn-connection"
20568
20778
  },
20569
20779
  "title": "Info"
20570
- }
20571
- ]
20572
- },
20573
- "whitelisted-add-on-service": {
20574
- "description": "Entities that have been whitelisted to be used by an Team",
20575
- "$schema": "http://json-schema.org/draft-04/hyper-schema",
20576
- "stability": "prototype",
20577
- "strictProperties": true,
20578
- "title": "Heroku Platform API - Whitelisted Entity",
20579
- "type": [
20580
- "object"
20581
- ],
20582
- "definitions": {
20583
- "added_at": {
20584
- "description": "when the add-on service was whitelisted",
20585
- "example": "2012-01-01T12:00:00Z",
20586
- "format": "date-time",
20587
- "readOnly": true,
20588
- "type": [
20589
- "string"
20590
- ]
20591
- },
20592
- "added_by": {
20593
- "description": "the user which whitelisted the Add-on Service",
20594
- "properties": {
20595
- "email": {
20596
- "$ref": "#/definitions/account/definitions/email",
20597
- "type": [
20598
- "string",
20599
- "null"
20600
- ]
20601
- },
20602
- "id": {
20603
- "$ref": "#/definitions/account/definitions/id",
20604
- "type": [
20605
- "string",
20606
- "null"
20607
- ]
20608
- }
20609
- },
20610
- "readOnly": true,
20611
- "type": [
20612
- "object"
20613
- ]
20614
- },
20615
- "addon_service": {
20616
- "description": "the Add-on Service whitelisted for use",
20617
- "properties": {
20618
- "id": {
20619
- "$ref": "#/definitions/add-on-service/definitions/id"
20620
- },
20621
- "name": {
20622
- "$ref": "#/definitions/add-on-service/definitions/name"
20623
- },
20624
- "human_name": {
20625
- "$ref": "#/definitions/add-on-service/definitions/human_name"
20626
- }
20627
- },
20628
- "readOnly": true,
20629
- "type": [
20630
- "object"
20631
- ]
20632
- },
20633
- "id": {
20634
- "description": "unique identifier for this whitelisting entity",
20635
- "example": "01234567-89ab-cdef-0123-456789abcdef",
20636
- "format": "uuid",
20637
- "readOnly": true,
20638
- "type": [
20639
- "string"
20640
- ]
20641
- },
20642
- "identity": {
20643
- "anyOf": [
20644
- {
20645
- "$ref": "#/definitions/whitelisted-add-on-service/definitions/id"
20646
- },
20647
- {
20648
- "$ref": "#/definitions/add-on-service/definitions/name"
20649
- }
20650
- ]
20651
- }
20652
- },
20653
- "links": [
20654
- {
20655
- "description": "List all whitelisted Add-on Services for an Team",
20656
- "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/whitelisted-addon-services",
20657
- "method": "GET",
20658
- "rel": "instances",
20659
- "targetSchema": {
20660
- "items": {
20661
- "$ref": "#/definitions/whitelisted-add-on-service"
20662
- },
20663
- "type": [
20664
- "array"
20665
- ]
20666
- },
20667
- "title": "List By Team"
20668
20780
  },
20669
20781
  {
20670
- "description": "Whitelist an Add-on Service",
20671
- "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/whitelisted-addon-services",
20672
- "method": "POST",
20673
- "rel": "create",
20782
+ "description": "Update a VPN connection in a private space.",
20783
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/vpn-connections/{(%23%2Fdefinitions%2Fvpn-connection%2Fdefinitions%2Fidentity)}",
20784
+ "rel": "update",
20674
20785
  "schema": {
20675
- "type": [
20676
- "object"
20677
- ],
20678
20786
  "properties": {
20679
- "addon_service": {
20680
- "description": "name of the Add-on to whitelist",
20681
- "example": "heroku-postgresql",
20682
- "type": [
20683
- "string"
20684
- ]
20787
+ "routable_cidrs": {
20788
+ "$ref": "#/definitions/vpn-connection/definitions/routable_cidrs"
20685
20789
  }
20686
- }
20687
- },
20688
- "targetSchema": {
20689
- "items": {
20690
- "$ref": "#/definitions/whitelisted-add-on-service"
20691
20790
  },
20791
+ "required": [
20792
+ "routable_cidrs"
20793
+ ],
20692
20794
  "type": [
20693
- "array"
20795
+ "object"
20694
20796
  ]
20695
20797
  },
20696
- "title": "Create By Team"
20697
- },
20698
- {
20699
- "description": "Remove a whitelisted entity",
20700
- "href": "/teams/{(%23%2Fdefinitions%2Fteam%2Fdefinitions%2Fidentity)}/whitelisted-addon-services/{(%23%2Fdefinitions%2Fwhitelisted-add-on-service%2Fdefinitions%2Fidentity)}",
20701
- "method": "DELETE",
20702
- "rel": "destroy",
20703
20798
  "targetSchema": {
20704
- "$ref": "#/definitions/whitelisted-add-on-service"
20799
+ "$ref": "#/definitions/vpn-connection"
20705
20800
  },
20706
- "title": "Delete By Team"
20707
- }
20708
- ],
20709
- "properties": {
20710
- "added_at": {
20711
- "$ref": "#/definitions/whitelisted-add-on-service/definitions/added_at"
20712
- },
20713
- "added_by": {
20714
- "$ref": "#/definitions/whitelisted-add-on-service/definitions/added_by"
20715
- },
20716
- "addon_service": {
20717
- "$ref": "#/definitions/whitelisted-add-on-service/definitions/addon_service"
20718
- },
20719
- "id": {
20720
- "$ref": "#/definitions/whitelisted-add-on-service/definitions/id"
20801
+ "method": "PATCH",
20802
+ "title": "Update"
20721
20803
  }
20722
- }
20804
+ ]
20723
20805
  }
20724
20806
  },
20725
20807
  "properties": {
@@ -20759,6 +20841,9 @@ module PlatformAPI
20759
20841
  "add-on": {
20760
20842
  "$ref": "#/definitions/add-on"
20761
20843
  },
20844
+ "allowed-add-on-service": {
20845
+ "$ref": "#/definitions/allowed-add-on-service"
20846
+ },
20762
20847
  "app-feature": {
20763
20848
  "$ref": "#/definitions/app-feature"
20764
20849
  },
@@ -20813,14 +20898,14 @@ module PlatformAPI
20813
20898
  "dyno": {
20814
20899
  "$ref": "#/definitions/dyno"
20815
20900
  },
20901
+ "enterprise-account-daily-usage": {
20902
+ "$ref": "#/definitions/enterprise-account-daily-usage"
20903
+ },
20816
20904
  "enterprise-account-member": {
20817
20905
  "$ref": "#/definitions/enterprise-account-member"
20818
20906
  },
20819
- "enterprise-account-usage-daily": {
20820
- "$ref": "#/definitions/enterprise-account-usage-daily"
20821
- },
20822
- "enterprise-account-usage-monthly": {
20823
- "$ref": "#/definitions/enterprise-account-usage-monthly"
20907
+ "enterprise-account-monthly-usage": {
20908
+ "$ref": "#/definitions/enterprise-account-monthly-usage"
20824
20909
  },
20825
20910
  "enterprise-account": {
20826
20911
  "$ref": "#/definitions/enterprise-account"
@@ -20954,9 +21039,6 @@ module PlatformAPI
20954
21039
  "space": {
20955
21040
  "$ref": "#/definitions/space"
20956
21041
  },
20957
- "ssl-endpoint": {
20958
- "$ref": "#/definitions/ssl-endpoint"
20959
- },
20960
21042
  "stack": {
20961
21043
  "$ref": "#/definitions/stack"
20962
21044
  },
@@ -20972,6 +21054,9 @@ module PlatformAPI
20972
21054
  "team-app": {
20973
21055
  "$ref": "#/definitions/team-app"
20974
21056
  },
21057
+ "team-daily-usage": {
21058
+ "$ref": "#/definitions/team-daily-usage"
21059
+ },
20975
21060
  "team-feature": {
20976
21061
  "$ref": "#/definitions/team-feature"
20977
21062
  },
@@ -20984,18 +21069,15 @@ module PlatformAPI
20984
21069
  "team-member": {
20985
21070
  "$ref": "#/definitions/team-member"
20986
21071
  },
21072
+ "team-monthly-usage": {
21073
+ "$ref": "#/definitions/team-monthly-usage"
21074
+ },
20987
21075
  "team-preferences": {
20988
21076
  "$ref": "#/definitions/team-preferences"
20989
21077
  },
20990
21078
  "team-space": {
20991
21079
  "$ref": "#/definitions/team-space"
20992
21080
  },
20993
- "team-usage-daily": {
20994
- "$ref": "#/definitions/team-usage-daily"
20995
- },
20996
- "team-usage-monthly": {
20997
- "$ref": "#/definitions/team-usage-monthly"
20998
- },
20999
21081
  "team": {
21000
21082
  "$ref": "#/definitions/team"
21001
21083
  },
@@ -21013,9 +21095,6 @@ module PlatformAPI
21013
21095
  },
21014
21096
  "vpn-connection": {
21015
21097
  "$ref": "#/definitions/vpn-connection"
21016
- },
21017
- "whitelisted-add-on-service": {
21018
- "$ref": "#/definitions/whitelisted-add-on-service"
21019
21098
  }
21020
21099
  },
21021
21100
  "description": "The platform API empowers developers to automate, extend and combine Heroku with other services.",