From 972e5212cab5b95ab9b42b237d104ec52953fff1 Mon Sep 17 00:00:00 2001 From: Nicolas Koziuk Date: Tue, 17 Feb 2026 10:17:23 -0800 Subject: [PATCH] Pull latest JSON Schema and regenerated API. --- CHANGELOG.md | 4 + lib/platform-api/client.rb | 204 ++++++++++++++++++++++++------------ lib/platform-api/version.rb | 2 +- schema.json | 172 ++++++++++++++++++++++-------- 4 files changed, 267 insertions(+), 115 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79885b3..2bc47db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## Main (unreleased) +## 3.9.0 + +- Pull latest JSON Schema and regenerated API. + ## 3.8.0 - Pull latest JSON Schema and regenerated API. diff --git a/lib/platform-api/client.rb b/lib/platform-api/client.rb index 035fc1e..f028a1a 100644 --- a/lib/platform-api/client.rb +++ b/lib/platform-api/client.rb @@ -83,7 +83,7 @@ def self.custom_options(options) # Get the default options. def self.default_options - default_headers = {"Accept"=>"application/vnd.heroku+json; version=3", "User-Agent"=>"platform-api/3.8.0"} + default_headers = {"Accept" => "application/vnd.heroku+json; version=3", "User-Agent" => "platform-api/3.9.0"} { default_headers: default_headers, url: "https://api.heroku.com" @@ -4366,8 +4366,7 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "type": [ "object" ], - "definitions": { - }, + "definitions": {}, "links": [ { "description": "Mark an add-on as provisioned for use.", @@ -4390,8 +4389,7 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "title": "Deprovision" } ], - "properties": { - } + "properties": {} }, "add-on-attachment": { "description": "An add-on attachment represents a connection between an app and an add-on that it has been given access to.", @@ -4462,6 +4460,21 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "string" ] }, + "namespace_config": { + "description": "attachment namespace config, used to specify namespace via key-value pairs", + "example": { + "cred": "analyst" + }, + "type": [ + "null", + "object" + ], + "additionalProperties": { + "type": [ + "string" + ] + } + }, "updated_at": { "description": "when add-on attachment was updated", "example": "2012-01-01T12:00:00Z", @@ -4513,6 +4526,9 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod }, "namespace": { "$ref": "#/definitions/add-on-attachment/definitions/namespace" + }, + "namespace_config": { + "$ref": "#/definitions/add-on-attachment/definitions/namespace_config" } }, "required": [ @@ -5605,46 +5621,52 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod }, "addon_service": { "description": "identity of add-on service", - "anyOf": [ - { - "properties": { - "id": { - "$ref": "#/definitions/add-on-service/definitions/id" - }, - "name": { - "$ref": "#/definitions/add-on-service/definitions/name" - } + "identity": { + "anyOf": [ + { + "$ref": "#/definitions/add-on-service/definitions/id" }, - "strictProperties": true, - "type": [ - "object" - ] + { + "$ref": "#/definitions/add-on-service/definitions/name" + } + ] + }, + "properties": { + "id": { + "$ref": "#/definitions/add-on-service/definitions/id" }, - { - "$ref": "#/definitions/add-on-service" + "name": { + "$ref": "#/definitions/add-on-service/definitions/name" } + }, + "strictProperties": true, + "type": [ + "object" ] }, "plan": { "description": "identity of add-on plan", - "anyOf": [ - { - "properties": { - "id": { - "$ref": "#/definitions/plan/definitions/id" - }, - "name": { - "$ref": "#/definitions/plan/definitions/name" - } + "identity": { + "anyOf": [ + { + "$ref": "#/definitions/plan/definitions/id" }, - "strictProperties": true, - "type": [ - "object" - ] + { + "$ref": "#/definitions/plan/definitions/name" + } + ] + }, + "properties": { + "id": { + "$ref": "#/definitions/plan/definitions/id" }, - { - "$ref": "#/definitions/plan" + "name": { + "$ref": "#/definitions/plan/definitions/name" } + }, + "strictProperties": true, + "type": [ + "object" ] }, "provision_message": { @@ -8367,6 +8389,14 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "string" ] }, + "generation": { + "description": "generation of build", + "example": "cedar", + "readOnly": true, + "type": [ + "string" + ] + }, "id": { "description": "unique identifier of build", "example": "01234567-89ab-cdef-0123-456789abcdef", @@ -8585,6 +8615,9 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "created_at": { "$ref": "#/definitions/build/definitions/created_at" }, + "generation": { + "$ref": "#/definitions/build/definitions/generation" + }, "id": { "$ref": "#/definitions/build/definitions/id" }, @@ -10762,6 +10795,14 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "type": [ "boolean" ] + }, + "partner_benefits": { + "description": "whether the enterprise account is part of the Salesforce Partner Program", + "example": false, + "readOnly": true, + "type": [ + "boolean" + ] } }, "links": [ @@ -10829,6 +10870,9 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "trial": { "$ref": "#/definitions/enterprise-account/definitions/trial" }, + "partner_benefits": { + "$ref": "#/definitions/enterprise-account/definitions/partner_benefits" + }, "identity_provider": { "$ref": "#/definitions/enterprise-account/definitions/identity_provider" } @@ -10930,18 +10974,16 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "example": { "id": "01234567-89ab-cdef-0123-456789abcdef" }, - "oneOf": [ - { - "required": [ - "id" - ] - }, - { - "required": [ - "name" - ] - } - ], + "identity": { + "anyOf": [ + { + "$ref": "#/definitions/dyno_size/definitions/id" + }, + { + "$ref": "#/definitions/dyno_size/definitions/name" + } + ] + }, "properties": { "id": { "description": "unique identifier of the dyno size", @@ -10962,9 +11004,6 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod } }, "readOnly": false, - "required": [ - "id" - ], "type": [ "object" ] @@ -13127,11 +13166,8 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod ] } }, - "links": [ - - ], - "properties": { - } + "links": [], + "properties": {} }, "oauth-token": { "description": "OAuth tokens provide access for authorized clients to act on behalf of a Heroku user to automate, customize or extend their usage of the platform. For more information please refer to the [Heroku OAuth documentation](https://devcenter.heroku.com/articles/oauth)", @@ -13610,6 +13646,16 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "type": [ "string" ] + }, + "deleted_at": { + "description": "when OCI image was deleted", + "example": "2012-01-01T12:00:00Z", + "format": "date-time", + "readOnly": true, + "type": [ + "string", + "null" + ] } }, "links": [ @@ -13723,6 +13769,9 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod }, "architecture": { "$ref": "#/definitions/oci-image/definitions/architecture" + }, + "deleted_at": { + "$ref": "#/definitions/oci-image/definitions/deleted_at" } } }, @@ -14194,8 +14243,7 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "type": [ "object" ], - "definitions": { - }, + "definitions": {}, "properties": { "app": { "description": "app that the build belongs to", @@ -14999,6 +15047,18 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "type": [ "object" ] + }, + "release": { + "description": "the specific release to promote from (optional, defaults to current release)", + "properties": { + "id": { + "$ref": "#/definitions/release/definitions/id" + } + }, + "strictProperties": true, + "type": [ + "object" + ] } }, "type": [ @@ -15444,9 +15504,7 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod ] } }, - "links": [ - - ], + "links": [], "properties": { "id": { "$ref": "#/definitions/pipeline/definitions/owner/definitions/id" @@ -15918,8 +15976,7 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "object" ], "definitions": { - "identity": { - }, + "identity": {}, "remaining": { "description": "allowed requests remaining in current interval", "example": 2399, @@ -16190,7 +16247,8 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "enum": [ "failed", "pending", - "succeeded" + "succeeded", + "expired" ], "example": "succeeded", "readOnly": true, @@ -16869,9 +16927,7 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod ] } }, - "links": [ - - ], + "links": [], "properties": { "id": { "$ref": "#/definitions/review-app-config/definitions/deploy_target/definitions/id" @@ -17159,6 +17215,16 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "type": [ "string" ] + }, + "deleted_at": { + "description": "when slug was deleted", + "example": "2012-01-01T12:00:00Z", + "format": "date-time", + "readOnly": true, + "type": [ + "string", + "null" + ] } }, "links": [ @@ -17289,6 +17355,9 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod }, "updated_at": { "$ref": "#/definitions/slug/definitions/updated_at" + }, + "deleted_at": { + "$ref": "#/definitions/slug/definitions/deleted_at" } } }, @@ -21141,8 +21210,7 @@ def update(space_id_or_space_name, vpn_connection_id_or_vpn_connection_name, bod "API-Key": "example_api_key_012345", "Environment": "production" }, - "default": { - }, + "default": {}, "additionalProperties": false, "maxItems": 20, "patternProperties": { diff --git a/lib/platform-api/version.rb b/lib/platform-api/version.rb index 3dcafe3..f0da65f 100644 --- a/lib/platform-api/version.rb +++ b/lib/platform-api/version.rb @@ -1,3 +1,3 @@ module PlatformAPI - VERSION = '3.8.0' + VERSION = '3.9.0' end diff --git a/schema.json b/schema.json index 80c46f3..51818e1 100644 --- a/schema.json +++ b/schema.json @@ -738,6 +738,21 @@ "string" ] }, + "namespace_config": { + "description": "attachment namespace config, used to specify namespace via key-value pairs", + "example": { + "cred": "analyst" + }, + "type": [ + "null", + "object" + ], + "additionalProperties": { + "type": [ + "string" + ] + } + }, "updated_at": { "description": "when add-on attachment was updated", "example": "2012-01-01T12:00:00Z", @@ -789,6 +804,9 @@ }, "namespace": { "$ref": "#/definitions/add-on-attachment/definitions/namespace" + }, + "namespace_config": { + "$ref": "#/definitions/add-on-attachment/definitions/namespace_config" } }, "required": [ @@ -1881,46 +1899,52 @@ }, "addon_service": { "description": "identity of add-on service", - "anyOf": [ - { - "properties": { - "id": { - "$ref": "#/definitions/add-on-service/definitions/id" - }, - "name": { - "$ref": "#/definitions/add-on-service/definitions/name" - } + "identity": { + "anyOf": [ + { + "$ref": "#/definitions/add-on-service/definitions/id" }, - "strictProperties": true, - "type": [ - "object" - ] + { + "$ref": "#/definitions/add-on-service/definitions/name" + } + ] + }, + "properties": { + "id": { + "$ref": "#/definitions/add-on-service/definitions/id" }, - { - "$ref": "#/definitions/add-on-service" + "name": { + "$ref": "#/definitions/add-on-service/definitions/name" } + }, + "strictProperties": true, + "type": [ + "object" ] }, "plan": { "description": "identity of add-on plan", - "anyOf": [ - { - "properties": { - "id": { - "$ref": "#/definitions/plan/definitions/id" - }, - "name": { - "$ref": "#/definitions/plan/definitions/name" - } + "identity": { + "anyOf": [ + { + "$ref": "#/definitions/plan/definitions/id" }, - "strictProperties": true, - "type": [ - "object" - ] + { + "$ref": "#/definitions/plan/definitions/name" + } + ] + }, + "properties": { + "id": { + "$ref": "#/definitions/plan/definitions/id" }, - { - "$ref": "#/definitions/plan" + "name": { + "$ref": "#/definitions/plan/definitions/name" } + }, + "strictProperties": true, + "type": [ + "object" ] }, "provision_message": { @@ -4643,6 +4667,14 @@ "string" ] }, + "generation": { + "description": "generation of build", + "example": "cedar", + "readOnly": true, + "type": [ + "string" + ] + }, "id": { "description": "unique identifier of build", "example": "01234567-89ab-cdef-0123-456789abcdef", @@ -4861,6 +4893,9 @@ "created_at": { "$ref": "#/definitions/build/definitions/created_at" }, + "generation": { + "$ref": "#/definitions/build/definitions/generation" + }, "id": { "$ref": "#/definitions/build/definitions/id" }, @@ -7038,6 +7073,14 @@ "type": [ "boolean" ] + }, + "partner_benefits": { + "description": "whether the enterprise account is part of the Salesforce Partner Program", + "example": false, + "readOnly": true, + "type": [ + "boolean" + ] } }, "links": [ @@ -7105,6 +7148,9 @@ "trial": { "$ref": "#/definitions/enterprise-account/definitions/trial" }, + "partner_benefits": { + "$ref": "#/definitions/enterprise-account/definitions/partner_benefits" + }, "identity_provider": { "$ref": "#/definitions/enterprise-account/definitions/identity_provider" } @@ -7206,18 +7252,16 @@ "example": { "id": "01234567-89ab-cdef-0123-456789abcdef" }, - "oneOf": [ - { - "required": [ - "id" - ] - }, - { - "required": [ - "name" - ] - } - ], + "identity": { + "anyOf": [ + { + "$ref": "#/definitions/dyno_size/definitions/id" + }, + { + "$ref": "#/definitions/dyno_size/definitions/name" + } + ] + }, "properties": { "id": { "description": "unique identifier of the dyno size", @@ -7238,9 +7282,6 @@ } }, "readOnly": false, - "required": [ - "id" - ], "type": [ "object" ] @@ -9883,6 +9924,16 @@ "type": [ "string" ] + }, + "deleted_at": { + "description": "when OCI image was deleted", + "example": "2012-01-01T12:00:00Z", + "format": "date-time", + "readOnly": true, + "type": [ + "string", + "null" + ] } }, "links": [ @@ -9996,6 +10047,9 @@ }, "architecture": { "$ref": "#/definitions/oci-image/definitions/architecture" + }, + "deleted_at": { + "$ref": "#/definitions/oci-image/definitions/deleted_at" } } }, @@ -11271,6 +11325,18 @@ "type": [ "object" ] + }, + "release": { + "description": "the specific release to promote from (optional, defaults to current release)", + "properties": { + "id": { + "$ref": "#/definitions/release/definitions/id" + } + }, + "strictProperties": true, + "type": [ + "object" + ] } }, "type": [ @@ -12459,7 +12525,8 @@ "enum": [ "failed", "pending", - "succeeded" + "succeeded", + "expired" ], "example": "succeeded", "readOnly": true, @@ -13426,6 +13493,16 @@ "type": [ "string" ] + }, + "deleted_at": { + "description": "when slug was deleted", + "example": "2012-01-01T12:00:00Z", + "format": "date-time", + "readOnly": true, + "type": [ + "string", + "null" + ] } }, "links": [ @@ -13556,6 +13633,9 @@ }, "updated_at": { "$ref": "#/definitions/slug/definitions/updated_at" + }, + "deleted_at": { + "$ref": "#/definitions/slug/definitions/deleted_at" } } },