diff --git a/specification/resources/apps/models/apps_create_app_request.yml b/specification/resources/apps/models/apps_create_app_request.yml index 5d4cfbe05..ca273d429 100755 --- a/specification/resources/apps/models/apps_create_app_request.yml +++ b/specification/resources/apps/models/apps_create_app_request.yml @@ -5,7 +5,8 @@ properties: type: string description: | The ID of the project the app should be assigned to. If omitted, it will be assigned to your default project. -

Requires `project:assign_resource` and `project:update` scopes. +

Requires `project:update` scope. The `project:assign_resource` scope applies to the Projects API + resource-assignment endpoints, such as `POST /v2/projects/{project_id}/resources`, and is not sufficient for this check. required: - spec type: object diff --git a/specification/resources/databases/databases_create_cluster.yml b/specification/resources/databases/databases_create_cluster.yml index 662ab78ac..58a08843e 100644 --- a/specification/resources/databases/databases_create_cluster.yml +++ b/specification/resources/databases/databases_create_cluster.yml @@ -41,6 +41,12 @@ description: >- documentation for the feature differences vs. Standard Edition and current preview limitations. + To enable storage autoscaling when the cluster is created, include a `storage_autoscale` + object with `enabled`, `threshold_percent`, and `increment_gib`. Storage autoscaling can + also be configured after the cluster is created by sending a PUT request to + `/v2/databases/$DATABASE_ID/autoscale`. + + Note: Caching cluster creates are no longer supported as of 2025-04-30T00:00:00Z. Backups are also not supported for Caching or Valkey clusters. @@ -71,6 +77,20 @@ requestBody: tags: - production + Create a New Database Cluster with storage autoscaling: + value: + name: backend + engine: pg + version: "14" + region: nyc3 + size: db-s-2vcpu-4gb + num_nodes: 2 + storage_size_mib: 61440 + storage_autoscale: + enabled: true + threshold_percent: 80 + increment_gib: 10 + Create a New Database Cluster with trusted sources: value: name: backend diff --git a/specification/resources/databases/databases_get_ca.yml b/specification/resources/databases/databases_get_ca.yml index b6bc401fe..46047f95e 100644 --- a/specification/resources/databases/databases_get_ca.yml +++ b/specification/resources/databases/databases_get_ca.yml @@ -9,6 +9,10 @@ description: | The response will be a JSON object with a `ca` key. This will be set to an object containing the base64 encoding of the public key certificate. + Retrieving the certificate content requires both the `database:read` and + `database:view_credentials` scopes. A token with only `database:read` still + receives a `200` response, but the `certificate` field is empty. + tags: - Databases @@ -42,4 +46,5 @@ x-codeSamples: security: - bearer_auth: - 'database:read' + - 'database:view_credentials' diff --git a/specification/resources/databases/models/ca.yml b/specification/resources/databases/models/ca.yml index d808942de..fff6340bf 100644 --- a/specification/resources/databases/models/ca.yml +++ b/specification/resources/databases/models/ca.yml @@ -4,7 +4,10 @@ properties: certificate: type: string example: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - description: base64 encoding of the certificate used to secure database connections + description: >- + A base64 encoding of the certificate used to secure database connections. + Requires the `database:view_credentials` scope. A token with only `database:read` + receives an empty string. readOnly: true required: diff --git a/specification/resources/databases/models/database_cluster.yml b/specification/resources/databases/models/database_cluster.yml index 1456f61e8..6cd9bce6b 100644 --- a/specification/resources/databases/models/database_cluster.yml +++ b/specification/resources/databases/models/database_cluster.yml @@ -142,7 +142,11 @@ properties: type: string format: uuid example: 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - description: The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project.

Requires `project:assign_resource` scope. + description: >- + The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, + it will be assigned to your default project. +

Requires `project:update` scope. The `project:assign_resource` scope applies to the Projects API + resource-assignment endpoints, such as `POST /v2/projects/{project_id}/resources`, and is not sufficient for this check. rules: type: array items: @@ -175,12 +179,13 @@ properties: Public hostname and port of the cluster's metrics endpoint(s). Includes one record for the cluster's primary node and a second entry for the cluster's standby node(s). readOnly: true - autoscale: + storage_autoscale: allOf: - - $ref: './database_autoscale_params.yml' + - $ref: './database_storage_autoscale_params.yml' description: >- - Autoscaling configuration for the database cluster. Currently only supports storage autoscaling. If null, autoscaling is - not configured for the cluster. + Storage autoscaling configuration to apply when the cluster is created. If omitted, storage autoscaling is not + configured. Autoscaling can also be configured after the cluster is created by sending a PUT request to + `/v2/databases/{database_cluster_uuid}/autoscale`. do_settings: allOf: - $ref: './do_settings.yml'