schema.json in platform-api-0.7.0 vs schema.json in platform-api-0.8.0
- old
+ new
@@ -925,10 +925,96 @@
"web_url": {
"$ref": "#/definitions/addon-attachment/definitions/web_url"
}
}
},
+ "addon-config": {
+ "description": "Configuration of an Add-on",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "development",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Add-on Config",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/addon-config/definitions/name"
+ }
+ ]
+ },
+ "name": {
+ "description": "unique name of the config",
+ "example": "FOO",
+ "type": [
+ "string"
+ ]
+ },
+ "value": {
+ "description": "value of the config",
+ "example": "bar",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Get an add-on's config",
+ "href": "/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}/config",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/addon-config"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ },
+ {
+ "description": "Update an add-on's config.",
+ "href": "/addons/{(%23%2Fdefinitions%2Faddon%2Fdefinitions%2Fidentity)}/config",
+ "method": "PATCH",
+ "rel": "update",
+ "schema": {
+ "properties": {
+ "config": {
+ "items": {
+ "$ref": "#/definitions/addon-config"
+ },
+ "type": [
+ "array"
+ ]
+ }
+ },
+ "type": [
+ "object"
+ ]
+ },
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/addon-config"
+ }
+ },
+ "title": "Update"
+ }
+ ],
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/addon-config/definitions/name"
+ },
+ "value": {
+ "$ref": "#/definitions/addon-config/definitions/value"
+ }
+ }
+ },
"addon-region-capability": {
"description": "Add-on region capabilities represent the relationship between an Add-on Service and a specific Region",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
@@ -2493,10 +2579,25 @@
"strictProperties": true,
"type": [
"object"
]
},
+ "organization": {
+ "description": "identity of organization",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/organization/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/organization/definitions/name"
+ }
+ },
+ "type": [
+ "null",
+ "object"
+ ]
+ },
"region": {
"description": "identity of app region",
"properties": {
"id": {
"$ref": "#/definitions/region/definitions/id"
@@ -2712,10 +2813,36 @@
"readOnly": true,
"type": [
"string"
]
},
+ "release": {
+ "description": "release resulting from the build",
+ "strictProperties": true,
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/release/definitions/id"
+ }
+ },
+ "example": {
+ "id": "01234567-89ab-cdef-0123-456789abcdef"
+ },
+ "readOnly": true,
+ "type": [
+ "null",
+ "object"
+ ],
+ "definitions": {
+ "id": {
+ "description": "unique identifier of release",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "type": [
+ "string"
+ ]
+ }
+ }
+ },
"source_blob": {
"description": "location of gzipped tarball of source code used to create build",
"properties": {
"checksum": {
"description": "an optional checksum of the gzipped tarball for verifying its integrity",
@@ -2867,10 +2994,13 @@
"$ref": "#/definitions/build/definitions/output_stream_url"
},
"source_blob": {
"$ref": "#/definitions/build/definitions/source_blob"
},
+ "release": {
+ "$ref": "#/definitions/build/definitions/release"
+ },
"slug": {
"description": "slug created by this build",
"properties": {
"id": {
"$ref": "#/definitions/slug/definitions/id"
@@ -3244,17 +3374,17 @@
"$ref": "#/definitions/config-var/definitions/config_vars"
},
"title": "Info"
},
{
- "description": "Update config-vars for app. You can update existing config-vars by setting them again, and remove by setting it to `NULL`.",
+ "description": "Update config-vars for app. You can update existing config-vars by setting them again, and remove by setting it to `null`.",
"href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fidentity)}/config-vars",
"method": "PATCH",
"rel": "update",
"schema": {
"additionalProperties": false,
- "description": "hash of config changes – update values or delete by seting it to NULL",
+ "description": "hash of config changes – update values or delete by seting it to `null`",
"example": {
"FOO": "bar",
"BAZ": "qux"
},
"patternProperties": {
@@ -3466,10 +3596,18 @@
"type": [
"null",
"string"
]
},
+ "status": {
+ "description": "status of this record's cname",
+ "example": "pending",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
"hostname": {
"description": "full hostname",
"example": "subdomain.example.com",
"format": "uri",
"readOnly": true,
@@ -3608,10 +3746,13 @@
"kind": {
"$ref": "#/definitions/domain/definitions/kind"
},
"updated_at": {
"$ref": "#/definitions/domain/definitions/updated_at"
+ },
+ "status": {
+ "$ref": "#/definitions/domain/definitions/status"
}
}
},
"dyno": {
"description": "Dynos encapsulate running processes of an app on Heroku. Detailed information about dyno sizes can be found at: [https://devcenter.heroku.com/articles/dyno-types](https://devcenter.heroku.com/articles/dyno-types).",
@@ -3730,15 +3871,23 @@
]
},
"type": {
"description": "type of process",
"example": "run",
- "readOnly": true,
+ "readOnly": false,
"type": [
"string"
]
},
+ "time_to_live": {
+ "description": "seconds until dyno expires, after which it will soon be killed",
+ "example": 1800,
+ "readOnly": false,
+ "type": [
+ "integer"
+ ]
+ },
"updated_at": {
"description": "when process last changed state",
"example": "2012-01-01T12:00:00Z",
"format": "date-time",
"readOnly": true,
@@ -3767,10 +3916,16 @@
"force_no_tty": {
"$ref": "#/definitions/dyno/definitions/force_no_tty"
},
"size": {
"$ref": "#/definitions/dyno/definitions/size"
+ },
+ "type": {
+ "$ref": "#/definitions/dyno/definitions/type"
+ },
+ "time_to_live": {
+ "$ref": "#/definitions/dyno/definitions/time_to_live"
}
},
"required": [
"command"
],
@@ -6478,25 +6633,10 @@
"$ref": "#/definitions/collaborator/definitions/created_at"
},
"id": {
"$ref": "#/definitions/collaborator/definitions/id"
},
- "privileges": {
- "description": "collborator privileges",
- "properties": {
- "description": {
- "type": [
- "string"
- ]
- },
- "name": {
- "type": [
- "string"
- ]
- }
- }
- },
"role": {
"$ref": "#/definitions/organization/definitions/role"
},
"updated_at": {
"$ref": "#/definitions/collaborator/definitions/updated_at"
@@ -7043,11 +7183,16 @@
},
"organization-member": {
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"description": "An organization member is an individual with access to an organization.",
"stability": "prototype",
- "strictProperties": true,
+ "additionalProperties": false,
+ "required": [
+ "created_at",
+ "email",
+ "updated_at"
+ ],
"title": "Heroku Platform API - Organization Member",
"type": [
"object"
],
"definitions": {
@@ -7077,11 +7222,11 @@
"$ref": "#/definitions/app/definitions/id"
}
]
},
"two_factor_authentication": {
- "description": "whether the organization member has two factor authentication enabled",
+ "description": "whether the Enterprise organization member has two factor authentication enabled",
"example": true,
"readOnly": true,
"type": [
"boolean"
]
@@ -7733,10 +7878,176 @@
"url": {
"$ref": "#/definitions/otp-secret/definitions/url"
}
}
},
+ "outbound-ruleset": {
+ "description": "An outbound-ruleset is a collection of rules that specify what hosts Dynos are allowed to communicate with. ",
+ "$schema": "http://json-schema.org/draft-04/hyper-schema",
+ "stability": "prototype",
+ "strictProperties": true,
+ "title": "Heroku Platform API - Outbound Ruleset",
+ "type": [
+ "object"
+ ],
+ "definitions": {
+ "target": {
+ "description": "is the target destination in CIDR notation",
+ "example": "1.1.1.1/1",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$",
+ "readOnly": false,
+ "type": [
+ "string"
+ ]
+ },
+ "created_at": {
+ "description": "when outbound-ruleset was created",
+ "example": "2012-01-01T12:00:00Z",
+ "format": "date-time",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "id": {
+ "description": "unique identifier of an outbound-ruleset",
+ "example": "01234567-89ab-cdef-0123-456789abcdef",
+ "format": "uuid",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
+ "port": {
+ "description": "an endpoint of communication in an operating system.",
+ "example": 80,
+ "readOnly": false,
+ "type": [
+ "integer"
+ ]
+ },
+ "protocol": {
+ "description": "formal standards and policies comprised of rules, procedures and formats that define communication between two or more devices over a network",
+ "example": "tcp",
+ "readOnly": false,
+ "type": [
+ "string"
+ ]
+ },
+ "identity": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/outbound-ruleset/definitions/id"
+ }
+ ]
+ },
+ "rule": {
+ "description": "the combination of an IP address in CIDR notation, a from_port, to_port and protocol.",
+ "type": [
+ "object"
+ ],
+ "properties": {
+ "target": {
+ "$ref": "#/definitions/outbound-ruleset/definitions/target"
+ },
+ "from_port": {
+ "$ref": "#/definitions/outbound-ruleset/definitions/port"
+ },
+ "to_port": {
+ "$ref": "#/definitions/outbound-ruleset/definitions/port"
+ },
+ "protocol": {
+ "$ref": "#/definitions/outbound-ruleset/definitions/protocol"
+ }
+ },
+ "required": [
+ "target",
+ "from_port",
+ "to_port",
+ "protocol"
+ ]
+ }
+ },
+ "links": [
+ {
+ "description": "Current outbound ruleset for a space",
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-ruleset",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/outbound-ruleset"
+ },
+ "title": "Info"
+ },
+ {
+ "description": "Info on an existing Outbound Ruleset",
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-rulesets/{(%23%2Fdefinitions%2Foutbound-ruleset%2Fdefinitions%2Fidentity)}",
+ "method": "GET",
+ "rel": "self",
+ "targetSchema": {
+ "$ref": "#/definitions/outbound-ruleset"
+ },
+ "title": "Info"
+ },
+ {
+ "description": "List all Outbound Rulesets for a space",
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-rulesets",
+ "method": "GET",
+ "rel": "instances",
+ "targetSchema": {
+ "items": {
+ "$ref": "#/definitions/outbound-ruleset"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ "title": "List"
+ },
+ {
+ "description": "Create a new outbound ruleset",
+ "href": "/spaces/{(%23%2Fdefinitions%2Fspace%2Fdefinitions%2Fidentity)}/outbound-ruleset",
+ "method": "PUT",
+ "rel": "create",
+ "schema": {
+ "type": [
+ "object"
+ ],
+ "properties": {
+ "rules": {
+ "type": [
+ "array"
+ ],
+ "items": {
+ "$ref": "#/definitions/outbound-ruleset/definitions/rule"
+ }
+ }
+ }
+ },
+ "title": "Create"
+ }
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/outbound-ruleset/definitions/id"
+ },
+ "created_at": {
+ "$ref": "#/definitions/outbound-ruleset/definitions/created_at"
+ },
+ "rules": {
+ "type": [
+ "array"
+ ],
+ "items": {
+ "$ref": "#/definitions/outbound-ruleset/definitions/rule"
+ }
+ },
+ "created_by": {
+ "$ref": "#/definitions/account/definitions/email"
+ }
+ }
+ },
"password-reset": {
"description": "A password reset represents a in-process password reset attempt.",
"$schema": "http://json-schema.org/draft-04/hyper-schema",
"stability": "production",
"strictProperties": true,
@@ -9074,10 +9385,25 @@
},
"title": "List"
}
],
"properties": {
+ "addon_service": {
+ "description": "identity of add-on service",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/addon-service/definitions/id"
+ },
+ "name": {
+ "$ref": "#/definitions/addon-service/definitions/name"
+ }
+ },
+ "strictProperties": true,
+ "type": [
+ "object"
+ ]
+ },
"created_at": {
"$ref": "#/definitions/plan/definitions/created_at"
},
"default": {
"$ref": "#/definitions/plan/definitions/default"
@@ -9388,10 +9714,23 @@
"readOnly": true,
"type": [
"string"
]
},
+ "status": {
+ "description": "current status of the release",
+ "enum": [
+ "failed",
+ "pending",
+ "succeeded"
+ ],
+ "example": "succeeded",
+ "readOnly": true,
+ "type": [
+ "string"
+ ]
+ },
"id": {
"description": "unique identifier of release",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"format": "uuid",
"readOnly": true,
@@ -11084,10 +11423,13 @@
"$ref": "#/definitions/addon-action"
},
"addon-attachment": {
"$ref": "#/definitions/addon-attachment"
},
+ "addon-config": {
+ "$ref": "#/definitions/addon-config"
+ },
"addon-region-capability": {
"$ref": "#/definitions/addon-region-capability"
},
"addon-service": {
"$ref": "#/definitions/addon-service"
@@ -11200,9 +11542,12 @@
"organization": {
"$ref": "#/definitions/organization"
},
"otp-secret": {
"$ref": "#/definitions/otp-secret"
+ },
+ "outbound-ruleset": {
+ "$ref": "#/definitions/outbound-ruleset"
},
"password-reset": {
"$ref": "#/definitions/password-reset"
},
"payment-method": {