diff --git a/content/operate/rc/_index.md b/content/operate/rc/_index.md index f34dae1b6..5ae075b56 100644 --- a/content/operate/rc/_index.md +++ b/content/operate/rc/_index.md @@ -56,7 +56,7 @@ Manage [secure connections]({{< relref "/operate/rc/security" >}}) to cloud data ## REST API Use the [REST API]({{< relref "/operate/rc/api" >}}) to manage the database. - [Get started with the REST API]({{< relref "/operate/rc/api/get-started" >}}) -- REST API [reference](https://api.redislabs.com/v1/swagger-ui.html) & [examples]({{< relref "/operate/rc/api/examples" >}}) +- REST API [reference]({{< relref "/operate/rc/api/api-reference" >}}) & [examples]({{< relref "/operate/rc/api/examples" >}}) ## Related info diff --git a/content/operate/rc/api/_index.md b/content/operate/rc/api/_index.md index ef1319b46..0fd559870 100644 --- a/content/operate/rc/api/_index.md +++ b/content/operate/rc/api/_index.md @@ -11,7 +11,7 @@ linkTitle: REST API weight: 80 --- -The [Redis Cloud REST API](https://api.redislabs.com/v1/swagger-ui.html) helps you manage your Redis Cloud databases programmatically. +The [Redis Cloud REST API]({{< relref "/operate/rc/api/api-reference" >}}) helps you manage your Redis Cloud databases programmatically. You can use the API to: @@ -43,5 +43,5 @@ You can use the API to: ## More info - Use the [Redis Cloud API]({{< relref "/operate/rc/api/get-started/use-rest-api.md" >}}) -- [Full API Reference](https://api.redislabs.com/v1/swagger-ui.html) +- [Full API Reference]({{< relref "/operate/rc/api/api-reference" >}}) - Secure [authentication and authorization]({{< relref "/operate/rc/api/get-started" >}}) diff --git a/content/operate/rc/api/api-reference.md b/content/operate/rc/api/api-reference.md new file mode 100644 index 000000000..3188f697d --- /dev/null +++ b/content/operate/rc/api/api-reference.md @@ -0,0 +1,5 @@ +--- +Title: API Reference +layout: apireference +type: page +--- diff --git a/content/operate/rc/api/api-reference/openapi.json b/content/operate/rc/api/api-reference/openapi.json new file mode 100644 index 000000000..5c4f48221 --- /dev/null +++ b/content/operate/rc/api/api-reference/openapi.json @@ -0,0 +1,13260 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Redis Cloud API", + "description": "Redis Cloud API", + "contact": { + "name": "Customer Support", + "url": "https://support.redislabs.com", + "email": "support@redis.com" + }, + "version": "Version 1" + }, + "servers": [ + { + "url": "https://api.redislabs.com/v1" + } + ], + "security": [ + { + "x-api-key": [] + }, + { + "x-api-secret-key": [] + } + ], + "tags": [ + { + "name": "Account", + "description": "Current account and ownership information", + "x-order": "0" + }, + { + "name": "Subscriptions - Pro", + "description": "All operations related to Pro subscriptions lifecycle", + "x-order": "1" + }, + { + "name": "Databases - Pro", + "description": "All operations related to Pro databases lifecycle", + "x-order": "2" + }, + { + "name": "Subscriptions - Essentials", + "description": "All operations related to Essentials subscriptions lifecycle", + "x-order": "3" + }, + { + "name": "Databases - Essentials", + "description": "All operations related to Essentials databases lifecycle", + "x-order": "4" + }, + { + "name": "Access Control List", + "description": "Data and operations related to access control list", + "x-order": "5" + }, + { + "name": "Cloud Accounts", + "description": "All operations related to cloud accounts (AWS only)", + "x-order": "6" + }, + { + "name": "Users", + "description": "Data and operations related to account's users", + "x-order": "7" + }, + { + "name": "Tasks", + "description": "Displays information on long running operations", + "x-order": "8" + } + ], + "paths": { + "/users/{userId}": { + "get": { + "tags": [ + "Users" + ], + "summary": "Get user by id", + "description": "Information on user identified by user Id", + "operationId": "getUserById", + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "User Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountUser" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Users" + ], + "summary": "Update user", + "description": "Update an existing user by Id", + "operationId": "updateUser", + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "User Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountUserUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Users" + ], + "summary": "Delete user", + "description": "Delete a user from current account", + "operationId": "deleteUserById", + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "User Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get subscription by id", + "description": "Information on subscription identified by subscription Id", + "operationId": "getSubscriptionById", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Subscription" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Update subscription", + "description": "Update an existing subscription by Id", + "operationId": "updateSubscription", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Delete subscription", + "description": "Delete a subscription identified by subscription Id (subscription must be empty, i.e. cannot contain databases)", + "operationId": "deleteSubscriptionById", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/transitGateways/{TgwId}/attachment": { + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Update a transit gateway attachment", + "description": "Update an AWS transit gateway attachment", + "operationId": "updateTgwAttachmentCidrs", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "TgwId", + "in": "path", + "description": "Tgw Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TgwUpdateCidrsRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Create a transit gateway attachment", + "description": "Create an AWS transit gateway attachment", + "operationId": "createTgwAttachment", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "TgwId", + "in": "path", + "description": "Tgw Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Delete a transit gateway attachment", + "description": "Delete an AWS transit gateway attachment", + "operationId": "deleteTgwAttachment", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "TgwId", + "in": "path", + "description": "Tgw Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/transitGateways/invitations/{tgwInvitationId}/reject": { + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Reject a transit gateway resource share", + "description": "Reject an AWS transit gateway resource share", + "operationId": "rejectTgwResourceShare", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tgwInvitationId", + "in": "path", + "description": "TgwInvitation Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/transitGateways/invitations/{tgwInvitationId}/accept": { + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Accept a transit gateway resource share", + "description": "Accept an AWS transit gateway resource share", + "operationId": "acceptTgwResourceShare", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tgwInvitationId", + "in": "path", + "description": "TgwInvitation Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/{TgwId}/attachment": { + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Update a specific region transit gateway attachment", + "description": "Update an active active specific region AWS transit gateway attachment", + "operationId": "updateActiveActiveTgwAttachmentCidrs", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "regionId", + "in": "path", + "description": "Region id (required for active-active subscription)", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 1 + }, + { + "name": "TgwId", + "in": "path", + "description": "Tgw Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActiveActiveTgwUpdateCidrsRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Create a specific region transit gateway attachment", + "description": "Create an active active specific region AWS transit gateway attachment", + "operationId": "createActiveActiveTgwAttachment", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "regionId", + "in": "path", + "description": "Region id (required for active-active subscription)", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 1 + }, + { + "name": "TgwId", + "in": "path", + "description": "Tgw Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Delete a specific region transit gateway attachment", + "description": "Delete an active active specific region AWS transit gateway attachment", + "operationId": "deleteActiveActiveTgwAttachment", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "regionId", + "in": "path", + "description": "Region id (required for active-active subscription)", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 1 + }, + { + "name": "TgwId", + "in": "path", + "description": "Tgw Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations/{tgwInvitationId}/reject": { + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Reject a specific region transit gateway resource share", + "description": "Reject an active active specific region AWS transit gateway resource share", + "operationId": "rejectActiveActiveTgwResourceShare", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "regionId", + "in": "path", + "description": "Region id (required for active-active subscription)", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 1 + }, + { + "name": "tgwInvitationId", + "in": "path", + "description": "TgwInvitation Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations/{tgwInvitationId}/accept": { + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Accept a specific region transit gateway resource share", + "description": "Accept an active active specific region AWS transit gateway resource share", + "operationId": "acceptActiveActiveTgwResourceShare", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "regionId", + "in": "path", + "description": "Region id (required for active-active subscription)", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 1 + }, + { + "name": "tgwInvitationId", + "in": "path", + "description": "TgwInvitation Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/regions/peerings/{peeringId}": { + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Update an active-active subscription VPC peering", + "description": "Update an existing VPC peering in an existing active-active subscription.", + "operationId": "updateActiveActiveVpcPeering", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "peeringId", + "in": "path", + "description": "VpcPeering Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActiveActiveVpcPeeringUpdateAwsRequest" + }, + "example": { + "vpcCidrs": [ + "<10.10.10.0/24>", + "<10.10.20.0/24>" + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Delete an active-active subscription VPC peering", + "description": "Delete a VPC peering from an existing active-active subscription.", + "operationId": "deleteActiveActiveVpcPeering", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "peeringId", + "in": "path", + "description": "VpcPeering Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/peerings/{peeringId}": { + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Update subscription peering", + "description": "Update an existing VPC peering in an existing subscription.", + "operationId": "updateVpcPeering", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "peeringId", + "in": "path", + "description": "VpcPeering Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VpcPeeringUpdateAwsRequest" + }, + "example": { + "vpcCidrs": [ + "<10.10.10.0/24>", + "<10.10.20.0/24>" + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Delete subscription peering", + "description": "Deletes a VPC peering identified by an id", + "operationId": "deleteVpcPeering", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "peeringId", + "in": "path", + "description": "VpcPeering Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/maintenance-windows": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get subscription maintenance windows", + "description": "Get maintenance windows for subscription", + "operationId": "getSubscriptionMaintenanceWindows", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionMaintenanceWindows" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Update subscription maintenance windows", + "description": "Update maintenance windows for subscription", + "operationId": "updateSubscriptionMaintenanceWindows", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionMaintenanceWindowsSpec" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases/{databaseId}": { + "get": { + "tags": [ + "Databases - Pro" + ], + "summary": "Get database by id", + "description": "Information on a specific database identified by subscription Id and database Id", + "operationId": "getSubscriptionDatabaseByID", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Database" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Databases - Pro" + ], + "summary": "Update database", + "description": "Update an existing database", + "operationId": "updateDatabase", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseUpdateRequest" + }, + "example": { + "dryRun": false, + "name": "Redis-database-example", + "datasetSizeInGb": 5, + "throughputMeasurement": { + "by": "operations-per-second", + "value": 10000 + }, + "dataPersistence": "none", + "dataEvictionPolicy": "allkeys-lru", + "alerts": [ + { + "name": "dataset-size", + "value": 85 + } + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Databases - Pro" + ], + "summary": "Delete database", + "description": "Delete a specific database identified by subscription Id and database Id", + "operationId": "deleteDatabaseById", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases/{databaseId}/tags": { + "get": { + "tags": [ + "Databases - Pro" + ], + "summary": "Get database tags", + "description": "Get database tags for a given resource", + "operationId": "getTags", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTags" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Databases - Pro" + ], + "summary": "Override database tags", + "description": "Override database tags for a given resource", + "operationId": "updateTags", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseTagsUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTags" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Databases - Pro" + ], + "summary": "Add database tags", + "description": "Add single database tag for a given resource", + "operationId": "createTag", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseTagCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTag" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases/{databaseId}/tags/{tagKey}": { + "put": { + "tags": [ + "Databases - Pro" + ], + "summary": "Update database tag by key", + "description": "Update single database tag for a given resource by tag key", + "operationId": "updateTag", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tagKey", + "in": "path", + "description": "Tag key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseTagUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTag" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Databases - Pro" + ], + "summary": "Delete database tag by key", + "description": "Delete database tag for a given resource by tag key", + "operationId": "deleteTag", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tagKey", + "in": "path", + "description": "Tag key", + "required": true, + "schema": { + "type": "string" + }, + "example": "environment" + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases/{databaseId}/regions": { + "put": { + "tags": [ + "Databases - Pro" + ], + "summary": "Update active-active regions", + "description": "Update active-active local database properties", + "operationId": "updateCrdbLocalProperties", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CrdbUpdatePropertiesRequest" + }, + "example": { + "datasetSizeInGb": 5, + "regions": [ + { + "region": "us-east-1", + "localThroughputMeasurement": { + "region": "us-east-1", + "writeOperationsPerSecond": 1000, + "readOperationsPerSecond": 2000 + }, + "alerts": [ + { + "name": "dataset-size", + "value": 80 + } + ] + } + ], + "dataEvictionPolicy": "allkeys-lru" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases/{databaseId}/flush": { + "put": { + "tags": [ + "Databases - Pro" + ], + "summary": "Flush database data", + "description": "Flush database data", + "operationId": "flushCrdb", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CrdbFlushRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/cidr": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get subscription CIDR", + "description": "Get CIDR whitelist", + "operationId": "getCidrWhiteList", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Update subscription CIDR", + "description": "Update subscription CIDR whitelist", + "operationId": "updateSubscriptionCidrWhiteList", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CidrWhiteListUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/subscriptions/{subscriptionId}": { + "get": { + "tags": [ + "Subscriptions - Essentials" + ], + "summary": "Get Essentials subscription by id", + "description": "Information on Essentials subscription identified by subscription Id", + "operationId": "getSubscriptionById_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedSubscription" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Subscriptions - Essentials" + ], + "summary": "Update Essentials subscription", + "description": "Update an Essentials subscription", + "operationId": "updateSubscription_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedSubscriptionUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Subscriptions - Essentials" + ], + "summary": "Delete Essentials subscription", + "description": "Delete a Essentials subscription identified by subscription Id (subscription must be empty, i.e. cannot contain databases)", + "operationId": "deleteSubscriptionById_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}": { + "get": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Get Essentials database by id", + "description": "Information on a specific database identified by Essentials subscription Id and database Id", + "operationId": "getSubscriptionDatabaseByID_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedDatabase" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Update Essentials database", + "description": "Update a specific database identified by an Essentials subscription Id and database Id", + "operationId": "deleteFixedDatabaseByID", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedDatabaseUpdateRequest" + }, + "example": { + "name": "Redis-fixed-database-example", + "dataPersistence": "none", + "dataEvictionPolicy": "allkeys-lru", + "replication": true, + "enableDefaultUser": true, + "alerts": [ + { + "name": "datasets-size", + "value": 80 + } + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Delete Essentials database", + "description": "Delete a specific database identified by an Essentials subscription Id and database Id", + "operationId": "deleteFixedDatabaseByID_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/tags": { + "get": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Get database tags", + "description": "Get database tags for a given resource", + "operationId": "getTags_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTags" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Override database tags", + "description": "Override database tags for a given resource", + "operationId": "updateTags_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseTagsUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTags" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Add database tags", + "description": "Add single database tag for a given resource", + "operationId": "createTag_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseTagCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTag" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/tags/{tagKey}": { + "put": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Update database tag by key", + "description": "Update single database tag for a given resource by tag key", + "operationId": "updateTag_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tagKey", + "in": "path", + "description": "Tag key", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseTagUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudTag" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Delete database tag by key", + "description": "Delete database tag for a given resource by tag key", + "operationId": "deleteTag_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "tagKey", + "in": "path", + "description": "Tag key", + "required": true, + "schema": { + "type": "string" + }, + "example": "environment" + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/cloud-accounts/{cloudAccountId}": { + "get": { + "tags": [ + "Cloud Accounts" + ], + "summary": "Get cloud account by id", + "description": "Information on a specific cloud account", + "operationId": "getCloudAccountById", + "parameters": [ + { + "name": "cloudAccountId", + "in": "path", + "description": "Cloud Account Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudAccount" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Cloud Accounts" + ], + "summary": "Update cloud account", + "description": "Update cloud account", + "operationId": "updateCloudAccount", + "parameters": [ + { + "name": "cloudAccountId", + "in": "path", + "description": "Cloud Account Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudAccountUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Cloud Accounts" + ], + "summary": "Delete cloud account", + "description": "Delete specified cloud account", + "operationId": "deleteCloudAccount", + "parameters": [ + { + "name": "cloudAccountId", + "in": "path", + "description": "Cloud Account Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/acl/users/{aclUserId}": { + "get": { + "tags": [ + "Access Control List" + ], + "summary": "Get ACL user by id", + "description": "Information on an ACL user identified by ACL user Id", + "operationId": "getUserByID", + "parameters": [ + { + "name": "aclUserId", + "in": "path", + "description": "ACL user ID", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ACLUser" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "put": { + "tags": [ + "Access Control List" + ], + "summary": "Update ACL user", + "description": "Update a new ACL user", + "operationId": "updateUser_1", + "parameters": [ + { + "name": "aclUserId", + "in": "path", + "description": "ACL user ID", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AclUserUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Access Control List" + ], + "summary": "Delete ACL user", + "description": "Delete an ACL user", + "operationId": "deleteUser", + "parameters": [ + { + "name": "aclUserId", + "in": "path", + "description": "ACL user ID", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/acl/roles/{aclRoleId}": { + "put": { + "tags": [ + "Access Control List" + ], + "summary": "Update ACL role", + "description": "Update an ACL role", + "operationId": "updateRole", + "parameters": [ + { + "name": "aclRoleId", + "in": "path", + "description": "ACL role ID", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AclRoleUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Access Control List" + ], + "summary": "Delete ACL role", + "description": "Delete an ACL role", + "operationId": "deleteAclRole", + "parameters": [ + { + "name": "aclRoleId", + "in": "path", + "description": "ACL role ID", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/acl/redisRules/{aclRedisRuleId}": { + "put": { + "tags": [ + "Access Control List" + ], + "summary": "Update ACL redis rule", + "description": "Update an ACL redis rule", + "operationId": "updateRedisRule", + "parameters": [ + { + "name": "aclRedisRuleId", + "in": "path", + "description": "ACL redis rule ID", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AclRedisRuleUpdateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Access Control List" + ], + "summary": "Delete ACL redis rule", + "description": "Delete an ACL redis rule", + "operationId": "deleteRedisRule", + "parameters": [ + { + "name": "aclRedisRuleId", + "in": "path", + "description": "ACL redis rule ID", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get subscriptions", + "description": "Information on current account's subscriptions", + "operationId": "getAllSubscriptions", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountSubscriptions" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Create subscription", + "description": "Create a new subscription", + "operationId": "createSubscription", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionCreateRequest" + }, + "example": { + "name": "My new subscription", + "dryRun": false, + "deploymentType": "single-region", + "paymentMethod": "credit-card", + "paymentMethodId": 12345, + "memoryStorage": "ram", + "persistentStorageEncryption": true, + "cloudProviders": [ + { + "provider": "AWS", + "regions": [ + { + "region": "us-east-1", + "multipleAvailabilityZones": true, + "preferredAvailabilityZones": [ + "use1-az1", + "use1-az4", + "use1-az5" + ], + "networking": { + "deploymentCIDR": "10.0.0.0/24" + } + } + ] + } + ], + "databases": [ + { + "name": "Redis-database-example", + "protocol": "redis", + "datasetSizeInGb": 2, + "supportOSSClusterApi": false, + "dataPersistence": "none", + "replication": true, + "throughputMeasurement": { + "by": "operations-per-second", + "value": 10000 + }, + "quantity": 1 + } + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/regions": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get active-active subscription regions", + "description": "Get all regions of an active-active subscription", + "operationId": "getRegionsFromActiveActiveSubscription", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActiveActiveSubscriptionRegions" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Create active-active subscription region", + "description": "Create a new region in an active-active subscription", + "operationId": "addNewRegionToActiveActiveSubscription", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActiveActiveRegionCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "delete": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Delete active-active subscription regions", + "description": "Delete one or more regions from an active-active subscription", + "operationId": "deleteRegionsFromActiveActiveSubscription", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActiveActiveRegionDeleteRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/regions/peerings": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get an active-active subscription VPC peering", + "description": "Get VPC peering details for an active-active subscription.", + "operationId": "getActiveActiveVpcPeerings", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Create an active-active subscription VPC peering", + "description": "Create a new VPC peering in an existing active-active subscription. For details, see [documentation](https://docs.redis.com/latest/rc/security/vpc-peering)", + "operationId": "createActiveActiveVpcPeering", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActiveActiveVpcPeeringCreateBaseRequest" + }, + "example": { + "provider": "string", + "region": "us-east-1", + "awsAccountId": "", + "vpcId": "", + "vpcCidrs": [ + "<10.10.10.0/24>", + "<10.10.20.0/24>" + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/peerings": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get Subscription peering", + "description": "Get VPC peering details", + "operationId": "getVpcPeering", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Create subscription peering", + "description": "Create a new VPC peering in an existing subscription. VPC peering for Google Cloud Provider must be enabled using the GCloud command line. For details, see [documentation](https://docs.redis.com/latest/rc/security/vpc-peering)", + "operationId": "createVpcPeering", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VpcPeeringCreateBaseRequest" + }, + "example": { + "provider": "string", + "sourceRegion": "string", + "destinationRegion": "us-east-1", + "awsAccountId": "", + "vpcId": "", + "vpcCidrs": [ + "<10.10.10.0/24>", + "<10.10.20.0/24>" + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases": { + "get": { + "tags": [ + "Databases - Pro" + ], + "summary": "Get databases", + "description": "Information on databases belonging to subscription identified by subscription Id", + "operationId": "getSubscriptionDatabases", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + }, + { + "name": "offset", + "in": "query", + "description": "Number of items to skip", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 100 + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountSubscriptionDatabases" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Databases - Pro" + ], + "summary": "Create database", + "description": "Create a new database", + "operationId": "createDatabase", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseCreateRequest" + }, + "example": { + "dryRun": false, + "name": "Redis-database-example", + "port": 10000, + "datasetSizeInGb": 1, + "dataEvictionPolicy": "allkeys-lru", + "replication": true, + "throughputMeasurement": { + "by": "operations-per-second", + "value": 10000 + }, + "alerts": [ + { + "name": "dataset-size", + "value": 80 + } + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases/{databaseId}/import": { + "get": { + "tags": [ + "Databases - Pro" + ], + "summary": "Import database status", + "description": "Information on the latest database import status identified by subscription Id and database Id", + "operationId": "getDatabaseImportStatus", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Databases - Pro" + ], + "summary": "Import database", + "description": "Import data from an RDB file or a different Redis database", + "operationId": "importDatabase", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseImportRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases/{databaseId}/backup": { + "get": { + "tags": [ + "Databases - Pro" + ], + "summary": "Backup database status", + "description": "Information on the latest database backup status identified by subscription Id and database Id", + "operationId": "getDatabaseBackupStatus", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "regionName", + "in": "query", + "description": "Region name (required for active-active subscription)", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Databases - Pro" + ], + "summary": "Backup database", + "description": "Manually backup a database into the destination defined for it", + "operationId": "backupDatabase", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseBackupRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/subscriptions": { + "get": { + "tags": [ + "Subscriptions - Essentials" + ], + "summary": "Get Essentials subscriptions", + "description": "Information on current account's Essentials subscriptions", + "operationId": "getAllSubscriptions_1", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedSubscriptions" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Subscriptions - Essentials" + ], + "summary": "Create Essentials subscription", + "description": "Create a new Essentials subscription", + "operationId": "createSubscription_1", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedSubscriptionCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/subscriptions/{subscriptionId}/databases": { + "get": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Get Essentials databases", + "description": "Information on databases belonging to an Essentials subscription identified by subscription Id", + "operationId": "getFixedSubscriptionDatabases", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + }, + { + "name": "offset", + "in": "query", + "description": "Number of items to skip", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 100 + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountFixedSubscriptionDatabases" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Create Essentials database", + "description": "Create a new Essentials database", + "operationId": "createFixedDatabase", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedDatabaseCreateRequest" + }, + "example": { + "name": "Redis-fixed-database-example", + "protocol": "stack", + "dataPersistence": "none", + "dataEvictionPolicy": "allkeys-lru", + "replication": true, + "alerts": [ + { + "name": "datasets-size", + "value": 80 + } + ] + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/import": { + "get": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Import Essentials database status", + "description": "Information on the latest database import status identified by Essentials subscription Id and Essentials database Id", + "operationId": "getDatabaseImportStatus_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Import Essentials database", + "description": "Import data from an RDB file or a different Redis database", + "operationId": "importDatabase_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedDatabaseImportRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/backup": { + "get": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Backup Essentials database status", + "description": "Information on the latest database backup status identified by Essentials subscription Id and Essentials database Id", + "operationId": "getDatabaseBackupStatus_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Databases - Essentials" + ], + "summary": "Backup Essentials database", + "description": "Manually backup an Essentials database into the destination defined for it", + "operationId": "backupDatabase_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/cloud-accounts": { + "get": { + "tags": [ + "Cloud Accounts" + ], + "summary": "Get cloud accounts", + "description": "List all configured cloud accounts", + "operationId": "getCloudAccounts", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudAccounts" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Cloud Accounts" + ], + "summary": "Create cloud account", + "description": "Create cloud account", + "operationId": "createCloudAccount", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CloudAccountCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/acl/users": { + "get": { + "tags": [ + "Access Control List" + ], + "summary": "Get ACL users", + "description": "Information on current account's ACL users", + "operationId": "getAllUsers_1", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountACLUsers" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Access Control List" + ], + "summary": "Create ACL user", + "description": "Create a new ACL user", + "operationId": "createUser", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AclUserCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/acl/roles": { + "get": { + "tags": [ + "Access Control List" + ], + "summary": "Get ACL roles", + "description": "Information on current account's ACL roles", + "operationId": "getRoles", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountACLRoles" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Access Control List" + ], + "summary": "Create ACL role", + "description": "Create a new ACL role", + "operationId": "createRole", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AclRoleCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/acl/redisRules": { + "get": { + "tags": [ + "Access Control List" + ], + "summary": "Get ACL redis rules", + "description": "Information on current account's ACL users", + "operationId": "getAllRedisRules", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountACLRedisRules" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + }, + "post": { + "tags": [ + "Access Control List" + ], + "summary": "Create ACL redis rule", + "description": "Create a new ACL redis rule", + "operationId": "createRedisRule", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AclRedisRuleCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "408": { + "description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period" + }, + "409": { + "description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name" + }, + "422": { + "description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/users": { + "get": { + "tags": [ + "Users" + ], + "summary": "Get users", + "description": "Information on current account's users", + "operationId": "getAllUsers", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountUsers" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/tasks": { + "get": { + "tags": [ + "Tasks" + ], + "summary": "Get tasks", + "description": "Currently active long running operations", + "operationId": "getAllTasks", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/TasksStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/tasks/{taskId}": { + "get": { + "tags": [ + "Tasks" + ], + "summary": "Get task by id", + "description": "Get specific long running operation, identified by Task Id", + "operationId": "getTaskById", + "parameters": [ + { + "name": "taskId", + "in": "path", + "description": "Task Id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/transitGateways": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get Subscription tgws", + "description": "Get tgws details", + "operationId": "getTgws", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/transitGateways/invitations": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get Subscription tgw invitations", + "description": "Get tgw invitations details", + "operationId": "getTgwSharedInvitations", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get Active Active Subscription tgws", + "description": "Get Active Active tgws details", + "operationId": "getActiveActiveTgws", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "regionId", + "in": "path", + "description": "Region id (required for active-active subscription)", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 1 + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get Active Active Subscription tgw invitations", + "description": "Get Active Active tgw invitations details", + "operationId": "getActiveActiveTgwSharedInvitations", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "regionId", + "in": "path", + "description": "Region id (required for active-active subscription)", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 1 + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/pricing": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get subscription pricing", + "description": "Get subscription pricing by by subscription Id", + "operationId": "getSubscriptionPricing", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionPricings" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/{subscriptionId}/databases/{databaseId}/certificate": { + "get": { + "tags": [ + "Databases - Pro" + ], + "summary": "Get database certificate", + "description": "X.509 PEM (base64) encoded certificate for TLS connection to the database", + "operationId": "getSubscriptionDatabaseCertificate", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + }, + { + "name": "databaseId", + "in": "path", + "description": "Database Id", + "required": true, + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatabaseCertificate" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/subscriptions/redis-versions": { + "get": { + "tags": [ + "Subscriptions - Pro" + ], + "summary": "Get the available Redis database versions", + "description": "Get the available Redis database versions", + "operationId": "getRedisVersions", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RedisVersions" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/regions": { + "get": { + "tags": [ + "Account" + ], + "summary": "Get Pro plans regions", + "description": "Lookup list of regions for cloud provider", + "operationId": "getSupportedRegions", + "parameters": [ + { + "name": "provider", + "in": "query", + "description": "Provider Name", + "required": false, + "schema": { + "type": "string", + "enum": [ + "AWS", + "GCP" + ] + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Regions" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/query-performance-factors": { + "get": { + "tags": [ + "Account" + ], + "summary": "Get Query performance factors", + "description": "Lookup list of supported Query performance factors", + "operationId": "getSupportedSearchScalingFactors", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchScalingFactorsData" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/payment-methods": { + "get": { + "tags": [ + "Account" + ], + "summary": "Get payment methods", + "description": "Lookup list of current Account's payment methods", + "operationId": "getAccountPaymentMethods", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentMethods" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/logs": { + "get": { + "tags": [ + "Account" + ], + "summary": "Get system log", + "description": "System log information for current account", + "operationId": "getAccountSystemLogs", + "parameters": [ + { + "name": "offset", + "in": "query", + "description": "Number of items to skip", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return", + "required": false, + "schema": { + "type": "integer", + "format": "int32" + }, + "example": 100 + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountSystemLogEntries" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/plans": { + "get": { + "tags": [ + "Subscriptions - Essentials" + ], + "summary": "Get Plans", + "description": "Lookup list of plans", + "operationId": "getAllFixedSubscriptionsPlans", + "parameters": [ + { + "name": "provider", + "in": "query", + "description": "Cloud Provider Name", + "required": false, + "schema": { + "type": "string", + "enum": [ + "AWS", + "GCP", + "AZURE" + ] + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedSubscriptionsPlans" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/plans/{planId}": { + "get": { + "tags": [ + "Subscriptions - Essentials" + ], + "summary": "Get Essentials subscription plan by id", + "description": "Information on a specific Essentials subscription plan identified by plan Id", + "operationId": "getFixedSubscriptionsPlanById", + "parameters": [ + { + "name": "planId", + "in": "path", + "description": "Essentials Subscription Plan ID", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedSubscriptionsPlan" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/fixed/plans/subscriptions/{subscriptionId}": { + "get": { + "tags": [ + "Subscriptions - Essentials" + ], + "summary": "Get Essentials subscription plans by subscription id", + "description": "Lookup list of Essentials plans that can be used by a specific subscription", + "operationId": "getFixedSubscriptionsPlansBySubscriptionId", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Id", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FixedSubscriptionsPlans" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/database-modules": { + "get": { + "tags": [ + "Account" + ], + "summary": "Get modules", + "description": "Lookup list of database modules supported in current account (support may differ based on subscription and database settings)", + "operationId": "getSupportedDatabaseModules", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModulesData" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/data-persistence": { + "get": { + "tags": [ + "Account" + ], + "summary": "Get list of data persistence options", + "description": "Lookup list of data persistence values", + "operationId": "getDataPersistenceOptions", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataPersistenceOptions" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + }, + "/": { + "get": { + "tags": [ + "Account" + ], + "summary": "Get current Account", + "description": "Current account and related information", + "operationId": "getCurrentAccount", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RootAccount" + } + } + } + }, + "401": { + "description": "Unauthorized - Authentication failed for requested resource" + }, + "403": { + "description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)" + }, + "404": { + "description": "Not Found - The resource you were trying to reach was not found or does not exist" + }, + "429": { + "description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)" + }, + "500": { + "description": "Internal system error - If this error persists, please contact customer support" + }, + "503": { + "description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support " + } + } + } + } + }, + "components": { + "schemas": { + "AclUserCreateRequest": { + "required": [ + "name", + "password", + "role" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Required. ACL user name", + "example": "ACL-user-example" + }, + "role": { + "type": "string", + "description": "Required. ACL role name", + "example": "Redis-role-example" + }, + "password": { + "type": "string", + "description": "Required. Password to identify as user after creation.", + "example": "some-random-password" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "ACL user create request" + }, + "AccountUserUpdateRequest": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "userId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "name": { + "type": "string", + "description": "User name", + "example": "My new user name" + }, + "role": { + "type": "string", + "description": "Role name", + "enum": [ + "Owner", + "Member", + "Viewer", + "Manager", + "Billing Admin" + ] + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "User update request" + }, + "PaymentMethods": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "RedisLabs Account payment methods", + "example": { + "accountId": 1001, + "paymentMethods": [ + { + "id": 2, + "type": "Visa", + "creditCardEndsWith": "9349", + "nameOnCard": "CAPI User", + "expirationMonth": 2, + "expirationYear": 2026, + "links": [] + } + ] + } + }, + "AclRoleDatabaseSpec": { + "required": [ + "databaseId", + "subscriptionId" + ], + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "description": "Required. Subscription Id of the given database", + "format": "int32" + }, + "databaseId": { + "type": "integer", + "description": "Required. Database Id that belong to the subscription", + "format": "int32" + }, + "regions": { + "type": "array", + "description": "Optional. AA regions name belong to the given database, list of String comma separated", + "example": [], + "items": { + "type": "string", + "description": "Optional. AA regions name belong to the given database, list of String comma separated", + "example": "[]" + } + } + }, + "description": "Required. List of databaseId and subscriptionId pairs associated with the requested ACL role" + }, + "ActiveActiveTgwUpdateCidrsRequest": { + "type": "object", + "properties": { + "cidrs": { + "type": "array", + "description": "Optional. List of attachment CIDRs", + "example": [ + "10.10.10.0/24", + "10.10.20.0/24" + ], + "items": { + "$ref": "#/components/schemas/Cidr" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Active active Transit Gateway update attachment cidr/s request message" + }, + "RootAccount": { + "type": "object", + "properties": { + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "example": { + "account": { + "id": 1001, + "name": "Redis Labs", + "createdTimestamp": "2018-12-23T15:15:31Z", + "updatedTimestamp": "2022-10-12T10:54:10Z", + "pocStatus": "inactive", + "marketplaceStatus": "active", + "key": { + "name": "capi-api-key-name", + "accountId": 1001, + "accountName": "Redis Labs", + "allowedSourceIps": [ + "0.0.0.0/0" + ], + "createdTimestamp": "2022-05-11T12:05:47Z", + "owner": { + "name": "CAPI user", + "email": "capi.user@redis.com" + }, + "userAccountId": 1, + "httpSourceIp": "79.0.0.173" + } + } + } + }, + "ActiveActiveVpcPeeringCreateAwsRequest": { + "required": [ + "awsAccountId", + "destinationRegion", + "vpcId" + ], + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "sourceRegion": { + "type": "string", + "description": "Name of region to create a VPC peering from" + }, + "destinationRegion": { + "type": "string", + "description": "Name of region to create a VPC peering to", + "example": "us-east-1" + }, + "awsAccountId": { + "type": "string", + "description": "AWS Account uid", + "example": "" + }, + "vpcId": { + "type": "string", + "description": "VPC Id", + "example": "" + }, + "vpcCidr": { + "type": "string", + "description": "Optional. VPC CIDR", + "example": "<10.10.10.0/24>" + }, + "vpcCidrs": { + "type": "array", + "description": "Optional. List of VPC CIDRs", + "example": [ + "<10.10.10.0/24>", + "<10.10.20.0/24>" + ], + "items": { + "type": "string", + "description": "Optional. List of VPC CIDRs", + "example": "[\"<10.10.10.0/24>\",\"<10.10.20.0/24>\"]" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "VPC peering creation request message" + }, + "SubscriptionUpdateRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Subscription name", + "example": "My new subscription name" + }, + "paymentMethodId": { + "type": "integer", + "description": "Optional. A valid payment method that was pre-defined in the current account. This value is Optional if ‘paymentMethod’ is ‘marketplace’, but Required for all other account types.", + "format": "int32" + }, + "paymentMethod": { + "type": "string", + "description": "Optional. The payment method for the requested subscription. If ‘credit-card’ is specified, ‘paymentMethodId’ must be defined. Default: 'credit-card", + "enum": [ + "credit-card", + "marketplace" + ] + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Subscription update request" + }, + "DatabaseTagUpdateRequest": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "key": { + "type": "string", + "readOnly": true + }, + "value": { + "type": "string", + "description": "Required. database tag value" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Database tag update request message" + }, + "TaskStateUpdate": { + "type": "object", + "properties": { + "taskId": { + "type": "string", + "format": "uuid" + }, + "commandType": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "initialized", + "received", + "processing-in-progress", + "processing-completed", + "processing-error" + ] + }, + "description": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "response": { + "$ref": "#/components/schemas/ProcessorResponse" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + } + }, + "Database": { + "type": "object", + "properties": { + "databaseId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "example": { + "databaseId": 1, + "name": "DB-RCP-2-81-7", + "protocol": "redis", + "provider": "AWS", + "region": "us-east-1", + "redisVersionCompliance": "6.2.3", + "respVersion": "resp2", + "status": "active", + "datasetSizeInGb": 2, + "memoryUsedInMb": 4, + "memoryStorage": "ram", + "supportOSSClusterApi": true, + "useExternalEndpointForOSSClusterApi": true, + "dataPersistence": "snapshot-every-1-hour", + "replication": false, + "dataEvictionPolicy": "noeviction", + "throughputMeasurement": { + "by": "operations-per-second", + "value": 2500 + }, + "activatedOn": "2021-08-29T13:03:08Z", + "lastModified": "2021-08-29T13:03:08Z", + "publicEndpoint": "redis-17571.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:17571", + "privateEndpoint": "redis-17571.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:17571", + "replica": { + "syncSources": [ + { + "endpoint": "redis://localhost:6379", + "encryption": true, + "clientCert": "-----BEGIN CERTIFICATE-----\n ... -----END CERTIFICATE-----" + } + ] + }, + "clustering": { + "numberOfShards": 1, + "regexRules": [ + { + "ordinal": 1, + "pattern": "(?.*)" + }, + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "enableDefaultUser": true, + "password": "redis123456redis", + "sslClientAuthentication": false, + "tlsClientAuthentication": false, + "enableTls": false, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 18536, + "name": "RedisJSON", + "capabilityName": "JSON", + "version": "2.0.6", + "description": "Native JSON Data Type for Redis, allowing for atomic reads and writes of sub-elements", + "parameters": [] + } + ], + "alerts": [], + "links": [ + { + "rel": "self", + "href": "https://api-cloudapi.qa.redislabs.com/v1/subscriptions/120416/databases/51170941", + "type": "GET" + } + ] + } + }, + "SubscriptionDatabaseSpec": { + "required": [ + "name", + "protocol" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Required. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)", + "example": "Redis-database-example" + }, + "protocol": { + "type": "string", + "description": "Optional. Database protocol: either 'redis' or 'memcached'. Default: 'redis'", + "enum": [ + "redis", + "memcached" + ] + }, + "memoryLimitInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Deprecated - Optional. Total memory including replication and other overhead", + "format": "double", + "example": 1 + }, + "datasetSizeInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Optional. The maximum amount of data in the dataset for this specific database is in GB. You can not set both datasetSizeInGb and totalMemoryInGb. if ‘replication’ is true, the database’s total memory will be twice as large as the datasetSizeInGb.if ‘replication’ is false, the database’s total memory of the database will be the datasetSizeInGb value.", + "format": "double", + "example": 1 + }, + "supportOSSClusterApi": { + "type": "boolean", + "description": "Optional. Support Redis open-source (OSS) Cluster API. Default: 'false'", + "example": false + }, + "dataPersistence": { + "type": "string", + "description": "Optional. Rate of database data persistence (in persistent storage). Default: 'none'", + "enum": [ + "none", + "aof-every-1-second", + "aof-every-write", + "snapshot-every-1-hour", + "snapshot-every-6-hours", + "snapshot-every-12-hours" + ] + }, + "replication": { + "type": "boolean", + "description": "Optional. Databases replication. Default: 'true'" + }, + "throughputMeasurement": { + "$ref": "#/components/schemas/DatabaseThroughputSpec" + }, + "localThroughputMeasurement": { + "type": "array", + "description": "Optional. Throughput measurement for an active-active subscription", + "items": { + "$ref": "#/components/schemas/LocalThroughput" + } + }, + "modules": { + "type": "array", + "description": "Optional. Redis modules to be provisioned in the database", + "items": { + "$ref": "#/components/schemas/DatabaseModuleSpec" + } + }, + "quantity": { + "type": "integer", + "description": "Optional. Number of databases (of this type) that will be created. Default: 1", + "format": "int32", + "example": 1 + }, + "averageItemSizeInBytes": { + "type": "integer", + "description": "Optional. Relevant only to ram-and-flash clusters. Estimated average size (measured in bytes) of the items stored in the database. Default: 1000", + "format": "int64" + }, + "respVersion": { + "type": "string", + "description": "Optional. RESP version must be compatible with Redis version.", + "example": "resp3", + "enum": [ + "resp2", + "resp3" + ] + }, + "queryPerformanceFactor": { + "type": "string", + "description": "Optional. The query performance factor adds extra compute power specifically for search and query. For databases with search and query, you can increase your search queries per second by the selected factor.", + "example": "2x" + } + }, + "description": "Required. Databases specifications for each planned database" + }, + "Subscription": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "paymentMethodId": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "string" + }, + "memoryStorage": { + "type": "string", + "enum": [ + "ram", + "ram-and-flash" + ] + }, + "numberOfDatabases": { + "type": "integer", + "format": "int32" + }, + "paymentMethodType": { + "type": "string", + "enum": [ + "credit-card", + "marketplace" + ] + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "RedisLabs Subscription information", + "example": { + "id": 1206, + "name": "updated new name", + "status": "active", + "deploymentType": "single-region", + "paymentMethodId": 2, + "memoryStorage": "ram", + "numberOfDatabases": 6, + "paymentMethodType": "credit-card", + "storageEncryption": false, + "subscriptionPricing": [ + { + "type": "Shards", + "typeDetails": "high-throughput", + "quantity": 7, + "quantityMeasurement": "shards", + "pricePerUnit": 0.124, + "priceCurrency": "USD", + "pricePeriod": "hour" + } + ], + "cloudDetails": [ + { + "provider": "AWS", + "cloudAccountId": 2, + "totalSizeInGb": 0.0272, + "regions": [ + { + "region": "us-east-1", + "networking": [ + { + "deploymentCIDR": "10.0.0.0/24", + "subnetId": "subnet-009ce004ed90da8a6" + } + ], + "preferredAvailabilityZones": [ + "us-east-1a" + ], + "multipleAvailabilityZones": false + } + ], + "links": [] + } + ], + "links": [ + { + "rel": "self", + "href": "https://api-cloudapi.qa.redislabs.com/v1/subscriptions/120416", + "type": "GET" + } + ] + } + }, + "CidrWhiteListUpdateRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "cidrIps": { + "type": "array", + "description": "CIDR values in an array format (example: ['10.1.1.0/32'])", + "items": { + "type": "string", + "description": "CIDR values in an array format (example: ['10.1.1.0/32'])" + } + }, + "securityGroupIds": { + "type": "array", + "description": "AWS Security group identifier", + "items": { + "type": "string", + "description": "AWS Security group identifier" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Update subscription" + }, + "FixedDatabaseCreateRequest": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Required. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)", + "example": "Redis-Essentials-database-example" + }, + "protocol": { + "type": "string", + "description": "Optional. Database protocol. 'stack' is a suite of all Redis’ data modules. Default: 'stack', for Redis Flex subscription Default: 'redis'. 'redis' is only used with Pay-As-You-Go subscriptions and with Redis Flex.", + "enum": [ + "redis", + "memcached", + "stack" + ] + }, + "memoryLimitInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Deprecated - Optional. Total memory including replication and other overhead. Supported only for 'Pay-As-You-Go' subscriptions", + "format": "double", + "example": 1 + }, + "datasetSizeInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Optional. The maximum amount of data in the dataset for this specific database is in GB. You can not set both datasetSizeInGb and totalMemoryInGb. if 'replication' is true, the database’s total memory will be twice as large as the datasetSizeInGb.if 'replication' is false, the database’s total memory of the database will be the datasetSizeInGb value.", + "format": "double", + "example": 1 + }, + "supportOSSClusterApi": { + "type": "boolean", + "description": "Optional. Support Redis open-source (OSS) Cluster API. Supported only for 'Pay-As-You-Go' subscriptions", + "example": true + }, + "respVersion": { + "type": "string", + "description": "Optional. RESP version must be compatible with Redis version.", + "example": "resp3", + "enum": [ + "resp2", + "resp3" + ] + }, + "useExternalEndpointForOSSClusterApi": { + "type": "boolean", + "description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled. Supported only for 'Pay-As-You-Go' subscriptions", + "example": true + }, + "enableDatabaseClustering": { + "type": "boolean", + "description": "Optional. Distributes database data to different cloud instances. Supported only for 'Pay-As-You-Go' subscriptions", + "example": false + }, + "numberOfShards": { + "type": "integer", + "description": "Optional. Specifies the number of master shards. Supported only for 'Pay-As-You-Go' subscriptions", + "format": "int32", + "example": 2 + }, + "dataPersistence": { + "type": "string", + "description": "Optional. Rate of database data persistence (in persistent storage). The default is according to the subscription plan.", + "enum": [ + "none", + "aof-every-1-second", + "aof-every-write", + "snapshot-every-1-hour", + "snapshot-every-6-hours", + "snapshot-every-12-hours" + ] + }, + "dataEvictionPolicy": { + "type": "string", + "description": "Optional. Data items eviction method", + "enum": [ + "allkeys-lru", + "allkeys-lfu", + "allkeys-random", + "volatile-lru", + "volatile-lfu", + "volatile-random", + "volatile-ttl", + "noeviction" + ] + }, + "replication": { + "type": "boolean", + "description": "Optional. Databases replication. The default is according to the subscription plan." + }, + "periodicBackupPath": { + "type": "string", + "description": "Optional. If specified, automatic backups will be every 24 hours or database will be able to perform immediate backups to this path. If empty string is received, backup path will be removed. Optional.", + "example": "s3://" + }, + "sourceIps": { + "type": "array", + "description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'", + "items": { + "type": "string", + "description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'" + } + }, + "regexRules": { + "type": "array", + "description": "Optional. Shard regex rules. Relevant only for a sharded database. Supported only for 'Pay-As-You-Go' subscriptions", + "items": { + "type": "string", + "description": "Optional. Shard regex rules. Relevant only for a sharded database. Supported only for 'Pay-As-You-Go' subscriptions" + } + }, + "replicaOf": { + "type": "array", + "description": "Deprecated - Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] ).", + "deprecated": true, + "items": { + "type": "string", + "description": "Deprecated - Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] )." + } + }, + "replica": { + "$ref": "#/components/schemas/ReplicaOfSpec" + }, + "clientSslCertificate": { + "type": "string", + "description": "Deprecated - Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"" + }, + "clientTlsCertificates": { + "type": "array", + "description": "Optional. A list of TLS/SSL certificates (public keys) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty list is received, SSL certificates will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"", + "items": { + "$ref": "#/components/schemas/DatabaseCertificateSpec" + } + }, + "enableTls": { + "type": "boolean", + "description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided)." + }, + "password": { + "type": "string", + "description": "Optional. Password to access the database. If omitted, a random 32 character long alphanumeric password will be automatically generated" + }, + "alerts": { + "type": "array", + "description": "Optional. Redis database alerts", + "items": { + "$ref": "#/components/schemas/DatabaseAlertSpec" + } + }, + "modules": { + "type": "array", + "description": "Optional. Redis modules to be provisioned in the database", + "items": { + "$ref": "#/components/schemas/DatabaseModuleSpec" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Essentials database definition" + }, + "DatabaseUpdateRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "dryRun": { + "type": "boolean", + "description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'false'", + "example": false + }, + "name": { + "type": "string", + "description": "Optional. Database name", + "example": "Redis-database-example-updated" + }, + "memoryLimitInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Deprecated - Optional. Total memory including replication and other overhead", + "format": "double", + "example": 1 + }, + "datasetSizeInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Optional. The maximum amount of data in the dataset for this specific database is in GB. You can not set both datasetSizeInGb and totalMemoryInGb. if ‘replication’ is true, the database’s total memory will be twice as large as the datasetSizeInGb.if ‘replication’ is false, the database’s total memory of the database will be the datasetSizeInGb value.", + "format": "double", + "example": 1 + }, + "respVersion": { + "type": "string", + "description": "Optional. RESP version must be compatible with Redis version.", + "example": "resp3", + "enum": [ + "resp2", + "resp3" + ] + }, + "throughputMeasurement": { + "$ref": "#/components/schemas/DatabaseThroughputSpec" + }, + "dataPersistence": { + "type": "string", + "description": "Optional. Rate of database data persistence (in persistent storage)", + "enum": [ + "none", + "aof-every-1-second", + "aof-every-write", + "snapshot-every-1-hour", + "snapshot-every-6-hours", + "snapshot-every-12-hours" + ] + }, + "dataEvictionPolicy": { + "type": "string", + "description": "Optional. Data items eviction method", + "enum": [ + "allkeys-lru", + "allkeys-lfu", + "allkeys-random", + "volatile-lru", + "volatile-lfu", + "volatile-random", + "volatile-ttl", + "noeviction" + ] + }, + "replication": { + "type": "boolean", + "description": "Optional. Databases replication" + }, + "regexRules": { + "type": "array", + "description": "Optional. Shard regex rules. Relevant only for a sharded database", + "items": { + "type": "string", + "description": "Optional. Shard regex rules. Relevant only for a sharded database" + } + }, + "replicaOf": { + "type": "array", + "description": "Deprecated - Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] ).", + "deprecated": true, + "items": { + "type": "string", + "description": "Deprecated - Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] )." + } + }, + "replica": { + "$ref": "#/components/schemas/ReplicaOfSpec" + }, + "supportOSSClusterApi": { + "type": "boolean", + "description": "Optional. Support Redis open-source (OSS) Cluster API", + "example": false + }, + "useExternalEndpointForOSSClusterApi": { + "type": "boolean", + "description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled'. Default: 'false'", + "example": false + }, + "password": { + "type": "string", + "description": "Optional. If specified, this password will be used to access the database. Can only be set if Database Protocol is REDIS", + "example": "P@ssw0rd" + }, + "saslUsername": { + "type": "string", + "description": "Optional. If specified, this Memcached (SASL) username will be used to access the database. Can only be set if Database Protocol is Memcached", + "example": "mc-HR7gb" + }, + "saslPassword": { + "type": "string", + "description": "Optional. If specified, this Memcached (SASL) password will be used to access the database. Can only be set if Database Protocol is Memcached", + "example": "7igza2WZ0UPgMyqjsxuIZtla8xBdzkJT" + }, + "sourceIp": { + "type": "array", + "description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )", + "items": { + "type": "string", + "description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )" + } + }, + "clientSslCertificate": { + "type": "string", + "description": "Deprecated - Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"" + }, + "clientTlsCertificates": { + "type": "array", + "description": "Optional. A list of TLS/SSL certificates (public keys) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty list is received, SSL certificates will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"", + "items": { + "$ref": "#/components/schemas/DatabaseCertificateSpec" + } + }, + "enableTls": { + "type": "boolean", + "description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided). If enableTls is set to false it will also remove the mTLS requirement (by erasing the content of the clientSslCertificate property). Default: 'false'" + }, + "enableDefaultUser": { + "type": "boolean", + "description": "Optional. When 'true', enables connecting to the database with the 'default' user. Default: 'true'. Can only be set if Database Protocol is REDIS" + }, + "periodicBackupPath": { + "type": "string", + "description": "Deprecated - If specified, automatic backups will be every 24 hours or database will be able to perform immediate backups to this path. If empty string is received, backup path will be removed. Optional.", + "example": "s3://" + }, + "remoteBackup": { + "$ref": "#/components/schemas/DatabaseBackupConfig" + }, + "alerts": { + "type": "array", + "description": "Optional. Redis database alerts", + "items": { + "$ref": "#/components/schemas/DatabaseAlertSpec" + } + }, + "commandType": { + "type": "string", + "readOnly": true + }, + "queryPerformanceFactor": { + "type": "string", + "description": "Optional. The query performance factor adds extra compute power specifically for search and query. For databases with search and query, you can increase your search queries per second by the selected factor.", + "example": "2x" + } + }, + "description": "Database update request" + }, + "LocalRegionProperties": { + "type": "object", + "properties": { + "region": { + "type": "string", + "description": "Required. Name of the region to update its properties" + }, + "remoteBackup": { + "$ref": "#/components/schemas/DatabaseBackupConfig" + }, + "localThroughputMeasurement": { + "$ref": "#/components/schemas/LocalThroughput" + }, + "dataPersistence": { + "type": "string", + "description": "Optional. Regional instance of an Active-Active database data persistence rate (in persistent storage)", + "enum": [ + "none", + "aof-every-1-second", + "aof-every-write", + "snapshot-every-1-hour", + "snapshot-every-6-hours", + "snapshot-every-12-hours" + ] + }, + "password": { + "type": "string", + "description": "Optional. If specified, this regional instance of an Active-Active database password will be used to access the database", + "example": "P@ssw0rd" + }, + "sourceIp": { + "type": "array", + "description": "Optional. List of regional instance of an Active-Active database source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )", + "items": { + "type": "string", + "description": "Optional. List of regional instance of an Active-Active database source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )" + } + }, + "alerts": { + "type": "array", + "description": "Optional. Redis regional instance of an Active-Active database alerts", + "items": { + "$ref": "#/components/schemas/DatabaseAlertSpec" + } + }, + "respVersion": { + "type": "string", + "description": "Optional. RESP version must be compatible with Redis version.", + "example": "resp3", + "enum": [ + "resp2", + "resp3" + ] + } + }, + "description": "Optional. List or regions to update" + }, + "ActiveActiveVpcPeeringCreateBaseRequest": { + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "sourceRegion": { + "type": "string", + "description": "Name of region to create a VPC peering from" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Active-Active VPC peering creation request message", + "oneOf": [ + { + "$ref": "#/components/schemas/ActiveActiveVpcPeeringCreateAwsRequest" + }, + { + "$ref": "#/components/schemas/ActiveActiveVpcPeeringCreateGcpRequest" + } + ] + }, + "Regions": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Region" + } + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "example": { + "regions": [ + { + "name": "us-east-1", + "provider": "AWS" + }, + { + "name": "us-west-1", + "provider": "AWS" + }, + { + "name": "us-west-2", + "provider": "AWS" + }, + { + "name": "eu-west-1", + "provider": "AWS" + }, + { + "name": "eu-central-1", + "provider": "AWS" + }, + { + "name": "ap-northeast-1", + "provider": "AWS" + }, + { + "name": "ap-southeast-1", + "provider": "AWS" + }, + { + "name": "ap-southeast-2", + "provider": "AWS" + }, + { + "name": "sa-east-1", + "provider": "AWS" + }, + { + "name": "us-east-2", + "provider": "AWS" + }, + { + "name": "eu-west-2", + "provider": "AWS" + }, + { + "name": "eu-west-3", + "provider": "AWS" + }, + { + "name": "eu-north-1", + "provider": "AWS" + }, + { + "name": "ca-central-1", + "provider": "AWS" + }, + { + "name": "ap-east-1", + "provider": "AWS" + }, + { + "name": "ap-south-1", + "provider": "AWS" + }, + { + "name": "asia-east1", + "provider": "GCP" + }, + { + "name": "asia-east2", + "provider": "GCP" + }, + { + "name": "asia-northeast1", + "provider": "GCP" + }, + { + "name": "asia-northeast2", + "provider": "GCP" + }, + { + "name": "asia-south1", + "provider": "GCP" + }, + { + "name": "asia-southeast1", + "provider": "GCP" + }, + { + "name": "australia-southeast1", + "provider": "GCP" + }, + { + "name": "europe-north1", + "provider": "GCP" + }, + { + "name": "europe-west1", + "provider": "GCP" + }, + { + "name": "europe-west2", + "provider": "GCP" + }, + { + "name": "europe-west3", + "provider": "GCP" + }, + { + "name": "europe-west4", + "provider": "GCP" + }, + { + "name": "europe-west6", + "provider": "GCP" + }, + { + "name": "northamerica-northeast1", + "provider": "GCP" + }, + { + "name": "southamerica-east1", + "provider": "GCP" + }, + { + "name": "us-central1", + "provider": "GCP" + }, + { + "name": "us-east1", + "provider": "GCP" + }, + { + "name": "us-east4", + "provider": "GCP" + }, + { + "name": "us-west1", + "provider": "GCP" + }, + { + "name": "us-west2", + "provider": "GCP" + } + ] + } + }, + "FixedSubscriptionsPlans": { + "type": "object", + "properties": { + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "Redis list of Essentials subscriptions plans", + "example": { + "plans": [ + { + "id": 98183, + "name": "Multi-AZ 5GB", + "size": 5, + "sizeMeasurementUnit": "GB", + "provider": "AWS", + "region": "us-east-1", + "regionId": 1, + "price": 100, + "priceCurrency": "USD", + "pricePeriod": "Month", + "maximumDatabases": 1, + "availability": "Multi-zone", + "connections": "unlimited", + "cidrAllowRules": 16, + "supportDataPersistence": true, + "supportInstantAndDailyBackups": true, + "supportReplication": true, + "supportClustering": false, + "supportSsl": true, + "supportedAlerts": [ + "datasets-size", + "latency", + "throughput-lower-than", + "throughput-higher-than" + ], + "customerSupport": "Standard", + "links": [] + }, + { + "id": 98181, + "name": "Multi-AZ 1GB", + "size": 1, + "sizeMeasurementUnit": "GB", + "provider": "AWS", + "region": "us-east-1", + "regionId": 1, + "price": 22, + "priceCurrency": "USD", + "pricePeriod": "Month", + "maximumDatabases": 1, + "availability": "Multi-zone", + "connections": "1024", + "cidrAllowRules": 8, + "supportDataPersistence": true, + "supportInstantAndDailyBackups": true, + "supportReplication": true, + "supportClustering": false, + "supportSsl": true, + "supportedAlerts": [ + "datasets-size", + "throughput-higher-than", + "throughput-lower-than", + "latency", + "connections-limit" + ], + "customerSupport": "Standard", + "links": [] + } + ], + "links": [ + { + "rel": "self", + "href": "http://localhost:8081/v1/fixed/plans?cloud_provider=AWS", + "type": "GET" + } + ] + } + }, + "ActiveActiveVpcPeeringUpdateAwsRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "vpcPeeringId": { + "type": "integer", + "description": "VPC Peering id to update", + "format": "int32", + "readOnly": true + }, + "vpcCidr": { + "type": "string", + "description": "Optional. VPC CIDR", + "example": "<10.10.10.0/24>" + }, + "vpcCidrs": { + "type": "array", + "description": "Optional. List of VPC CIDRs", + "example": [ + "<10.10.10.0/24>", + "<10.10.22.0/24>" + ], + "items": { + "type": "string", + "description": "Optional. List of VPC CIDRs", + "example": "[\"<10.10.10.0/24>\",\"<10.10.22.0/24>\"]" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Active-Active VPC peering update request message" + }, + "DataPersistenceEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "description": "RedisLabs data persistence information" + }, + "CloudAccounts": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "RedisLabs Cloud Accounts information", + "example": { + "accountId": 40131, + "cloudAccounts": [ + { + "id": 1, + "name": "Redis Labs Internal Resources", + "provider": "AWS", + "status": "active", + "links": [] + }, + { + "id": 2, + "name": "CAPI User ", + "provider": "AWS", + "status": "active", + "accessKeyId": "A***A", + "links": [] + }, + { + "id": 3, + "name": "API Cloud account", + "provider": "AWS", + "status": "active", + "accessKeyId": "A***4", + "links": [] + } + ], + "links": [ + { + "rel": "self", + "href": "https://api-cloudapi.qa.redislabs.com/v1/cloud-accounts", + "type": "GET" + } + ] + } + }, + "VpcPeeringUpdateAwsRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "vpcPeeringId": { + "type": "integer", + "description": "VPC Peering ID to update", + "format": "int32", + "readOnly": true + }, + "vpcCidr": { + "type": "string", + "description": "Optional. VPC CIDR", + "example": "<10.10.10.0/24>" + }, + "vpcCidrs": { + "type": "array", + "description": "Optional. List of VPC CIDRs", + "example": [ + "<10.10.10.0/24>", + "<10.10.20.0/24>" + ], + "items": { + "type": "string", + "description": "Optional. List of VPC CIDRs", + "example": "[\"<10.10.10.0/24>\",\"<10.10.20.0/24>\"]" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "VPC peering update request message" + }, + "FixedSubscriptions": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "Redis list of Essentials subscriptions in current account", + "example": { + "accountId": 40131, + "subscriptions": [ + { + "id": 151367, + "name": "fixed-1", + "status": "active", + "paymentMethodId": 8241, + "paymentMethodType": "credit-card", + "planId": 98276, + "planName": "Standard 1GB", + "size": 1, + "sizeMeasurementUnit": "GB", + "provider": "AWS", + "region": "us-west-1", + "price": 22, + "pricePeriod": "Month", + "priceCurrency": "USD", + "maximumDatabases": 1, + "availability": "Single-zone", + "connections": "1024", + "cidrAllowRules": 8, + "supportDataPersistence": true, + "supportInstantAndDailyBackups": true, + "supportReplication": true, + "supportClustering": false, + "customerSupport": "Standard", + "creationDate": "2022-11-21T20:02:21+02:00", + "links": [] + }, + { + "id": 120416, + "name": "subscription-name", + "status": "active", + "paymentMethodId": 123, + "paymentMethodType": "credit-card", + "planId": 123, + "planName": "Standard 30MB", + "planType": "pay-as-you-go", + "size": 30, + "sizeMeasurementUnit": "MB", + "provider": "AWS", + "region": "us-east-1", + "price": 0, + "pricePeriod": "Month", + "priceCurrency": "USD", + "maximumDatabases": 1, + "availability": "no-replication", + "connections": 30, + "cidrAllowRules": 1, + "supportDataPersistence": false, + "supportInstantAndDailyBackups": false, + "supportReplication": false, + "supportClustering": false, + "customerSupport": "basic", + "creationDate": "20-Nov-2022", + "links": [] + } + ], + "links": [ + { + "rel": "self", + "href": "http://localhost:8081/v1/fixed/subscriptions", + "type": "GET" + } + ] + } + }, + "DatabaseSyncSourceSpec": { + "required": [ + "endpoint" + ], + "type": "object", + "properties": { + "endpoint": { + "type": "string", + "description": "Required. A Redis URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] )." + }, + "encryption": { + "type": "boolean", + "description": "Defines if encryption should be used to connect to the sync source. If left null and if the source is a Redis Cloud instance, it will automatically detect if the source uses encryption." + }, + "serverCert": { + "type": "string", + "description": "TLS/SSL certificate chain of the sync source. If left null and if the source is a Redis Cloud instance, it will automatically detect the certificate to use." + } + }, + "description": "Optional. This database will be a replica of the specified Redis databases provided as a list of one or more DatabaseSyncSourceSpec objects." + }, + "MaintenanceWindow": { + "type": "object", + "properties": { + "days": { + "type": "array", + "items": { + "type": "string" + } + }, + "startHour": { + "type": "integer", + "format": "int32" + }, + "durationInHours": { + "type": "integer", + "format": "int32" + } + } + }, + "Module": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "capabilityName": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "description": "RedisLabs database module information" + }, + "AclRedisRuleUpdateRequest": { + "required": [ + "name", + "redisRule" + ], + "type": "object", + "properties": { + "redisRuleId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Optional. ACL redis rule name", + "example": "ACL-rule-example" + }, + "redisRule": { + "type": "string", + "description": "Optional. ACL redis rule pattern" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "ACL redis rule update request" + }, + "ActiveActiveRegionToDelete": { + "type": "object", + "properties": { + "region": { + "type": "string", + "description": "Name of region to delete" + } + }, + "description": "List of names of regions to delete" + }, + "MaintenanceWindowSkipStatus": { + "type": "object", + "properties": { + "remainingSkips": { + "type": "integer", + "format": "int32" + }, + "currentSkipEnd": { + "type": "string" + } + } + }, + "CloudAccount": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "accessKeyId": { + "type": "string" + }, + "signInLoginUrl": { + "type": "string" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "provider": { + "type": "string", + "enum": [ + "AWS", + "GCP" + ] + } + }, + "description": "RedisLabs Cloud Account information", + "example": { + "id": 1, + "name": "Redis Labs Internal Resources", + "provider": "AWS", + "status": "active", + "links": [ + { + "rel": "self", + "href": "https://api-cloudapi.qa.redislabs.com/v1/cloud-accounts/1", + "type": "GET" + } + ] + } + }, + "FixedSubscriptionUpdateRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Optional. Essentials subscription name", + "example": "My new subscription" + }, + "planId": { + "type": "integer", + "description": "Optional. A predefined Essentials plan Id (see lookup API '/fixed/plans'). The plan defines the billing, deployment and configuration for the created subscription based on specific plan details", + "format": "int32" + }, + "paymentMethodId": { + "type": "integer", + "description": "Optional. A valid payment method (credit card, wire transfer etc) pre-defined in the current account. It will be billed for any charges related to the created subscription.", + "format": "int32" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Essentials subscription update request" + }, + "SearchScalingFactorsData": { + "type": "object", + "properties": { + "queryPerformanceFactors": { + "type": "array", + "items": { + "type": "string" + } + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + } + }, + "AccountSubscriptionDatabases": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "RedisLabs Account Subscription Databases information", + "example": { + "accountId": 1001, + "subscription": [ + { + "subscriptionId": 1206, + "numberOfDatabases": 6, + "databases": [ + { + "databaseId": 1, + "name": "DB-RCP-2-81-7", + "protocol": "redis", + "provider": "AWS", + "region": "us-east-1", + "redisVersionCompliance": "6.2.3", + "respVersion": "resp2", + "status": "active", + "datasetSizeInGb": 2, + "memoryUsedInMb": 4, + "memoryStorage": "ram", + "supportOSSClusterApi": true, + "useExternalEndpointForOSSClusterApi": true, + "dataPersistence": "snapshot-every-1-hour", + "replication": false, + "dataEvictionPolicy": "noeviction", + "throughputMeasurement": { + "by": "operations-per-second", + "value": 2500 + }, + "activatedOn": "2021-08-29T13:03:08Z", + "lastModified": "2021-08-29T13:03:08Z", + "publicEndpoint": "redis-17571.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:17571", + "privateEndpoint": "redis-17571.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:17571", + "replica": { + "syncSources": [ + { + "endpoint": "redis://localhost:6379", + "encryption": true, + "clientCert": "-----BEGIN CERTIFICATE-----\n ... -----END CERTIFICATE-----" + } + ] + }, + "clustering": { + "numberOfShards": 1, + "regexRules": [ + { + "ordinal": 1, + "pattern": "(?.*)" + }, + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "enableDefaultUser": true, + "sslClientAuthentication": false, + "tlsClientAuthentication": false, + "enableTls": false, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 18536, + "name": "RedisJSON", + "capabilityName": "JSON", + "version": "2.0.6", + "description": "Native JSON Data Type for Redis, allowing for atomic reads and writes of sub-elements", + "parameters": [] + } + ], + "alerts": [], + "links": [] + }, + { + "databaseId": 2, + "name": "DB-RCP-2-81-5", + "protocol": "redis", + "provider": "AWS", + "region": "us-east-1", + "redisVersionCompliance": "6.2.3", + "status": "active", + "datasetSizeInGb": 2, + "memoryUsedInMb": 2, + "memoryStorage": "ram", + "supportOSSClusterApi": true, + "useExternalEndpointForOSSClusterApi": true, + "dataPersistence": "snapshot-every-1-hour", + "replication": false, + "dataEvictionPolicy": "noeviction", + "throughputMeasurement": { + "by": "operations-per-second", + "value": 25000 + }, + "activatedOn": "2021-08-29T13:03:27Z", + "lastModified": "2021-08-29T13:03:27Z", + "publicEndpoint": "redis-11836.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:11836", + "privateEndpoint": "redis-11836.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:11836", + "replica": { + "syncSources": [ + { + "endpoint": "redis://localhost:6379", + "encryption": true, + "clientCert": "-----BEGIN CERTIFICATE-----\n ... -----END CERTIFICATE-----" + } + ] + }, + "clustering": { + "numberOfShards": 1, + "regexRules": [ + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + }, + { + "ordinal": 1, + "pattern": "(?.*)" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "enableDefaultUser": true, + "sslClientAuthentication": false, + "tlsClientAuthentication": false, + "enableTls": false, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 6652, + "name": "RediSearch", + "capabilityName": "Search and query", + "version": "2.0.11", + "description": "A comprehensive, expressive, flexible, fast and developer-friendly search and query engine for the diversity of data types in Redis with state-of-the-art scoring algorithms", + "parameters": [] + } + ], + "alerts": [], + "links": [] + }, + { + "databaseId": 3, + "name": "Redis-database-example-updated", + "protocol": "redis", + "provider": "AWS", + "region": "us-east-1", + "redisVersionCompliance": "6.2.3", + "status": "active", + "datasetSizeInGb": 2, + "memoryUsedInMb": 2, + "memoryStorage": "ram", + "supportOSSClusterApi": true, + "useExternalEndpointForOSSClusterApi": true, + "dataPersistence": "snapshot-every-1-hour", + "replication": false, + "dataEvictionPolicy": "noeviction", + "throughputMeasurement": { + "by": "operations-per-second", + "value": 2500 + }, + "activatedOn": "2021-08-29T13:03:26Z", + "lastModified": "2021-08-29T13:03:26Z", + "publicEndpoint": "redis-19708.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:19708", + "privateEndpoint": "redis-19708.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:19708", + "replica": { + "syncSources": [ + { + "endpoint": "redis://localhost:6379", + "encryption": true, + "clientCert": "-----BEGIN CERTIFICATE-----\n ... -----END CERTIFICATE-----" + } + ] + }, + "clustering": { + "numberOfShards": 1, + "regexRules": [ + { + "ordinal": 1, + "pattern": "(?.*)" + }, + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "enableDefaultUser": false, + "sslClientAuthentication": false, + "tlsClientAuthentication": false, + "enableTls": false, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 18536, + "name": "RedisJSON", + "capabilityName": "JSON", + "version": "2.0.6", + "description": "Native JSON Data Type for Redis, allowing for atomic reads and writes of sub-elements", + "parameters": [] + } + ], + "alerts": [], + "links": [] + }, + { + "databaseId": 4, + "name": "DB-RCP-2-81-6", + "protocol": "redis", + "provider": "AWS", + "region": "us-east-1", + "redisVersionCompliance": "6.2.3", + "status": "active", + "datasetSizeInGb": 2, + "memoryUsedInMb": 2, + "memoryStorage": "ram", + "supportOSSClusterApi": true, + "useExternalEndpointForOSSClusterApi": true, + "dataPersistence": "snapshot-every-1-hour", + "replication": false, + "dataEvictionPolicy": "noeviction", + "throughputMeasurement": { + "by": "operations-per-second", + "value": 25000 + }, + "activatedOn": "2021-08-29T13:03:27Z", + "lastModified": "2021-08-29T13:03:27Z", + "publicEndpoint": "redis-14503.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:14503", + "privateEndpoint": "redis-14503.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:14503", + "replica": { + "syncSources": [ + { + "endpoint": "redis://localhost:6379", + "encryption": true, + "clientCert": "-----BEGIN CERTIFICATE-----\n ... -----END CERTIFICATE-----" + } + ] + }, + "clustering": { + "numberOfShards": 1, + "regexRules": [ + { + "ordinal": 1, + "pattern": "(?.*)" + }, + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "enableDefaultUser": true, + "sslClientAuthentication": false, + "tlsClientAuthentication": false, + "enableTls": false, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 6653, + "name": "RedisTimeSeries", + "capabilityName": "Time series", + "version": "1.4.10", + "description": "Time-Series data structure for redis", + "parameters": [] + } + ], + "alerts": [], + "links": [] + }, + { + "databaseId": 5, + "name": "CI-tests-DO-NOT-DELETE", + "protocol": "redis", + "provider": "AWS", + "region": "us-east-1", + "redisVersionCompliance": "6.2.3", + "status": "active", + "datasetSizeInGb": 2, + "memoryUsedInMb": 4, + "memoryStorage": "ram", + "supportOSSClusterApi": false, + "useExternalEndpointForOSSClusterApi": false, + "dataPersistence": "none", + "replication": true, + "dataEvictionPolicy": "volatile-lru", + "throughputMeasurement": { + "by": "operations-per-second", + "value": 25000 + }, + "activatedOn": "2021-08-29T13:03:22Z", + "lastModified": "2021-08-29T13:03:22Z", + "publicEndpoint": "redis-11349.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:11349", + "privateEndpoint": "redis-11349.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:11349", + "replica": { + "syncSources": [ + { + "endpoint": "redis://localhost:6379", + "encryption": true, + "clientCert": "-----BEGIN CERTIFICATE-----\n ... -----END CERTIFICATE-----" + } + ] + }, + "clustering": { + "numberOfShards": 1, + "regexRules": [], + "hashingPolicy": "standard" + }, + "security": { + "enableDefaultUser": true, + "sslClientAuthentication": false, + "tlsClientAuthentication": false, + "enableTls": false, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [], + "alerts": [], + "links": [] + }, + { + "databaseId": 6, + "name": "DB-RCP-2-81-4", + "protocol": "redis", + "provider": "AWS", + "region": "us-east-1", + "redisVersionCompliance": "6.2.3", + "status": "active", + "datasetSizeInGb": 2, + "memoryUsedInMb": 1, + "memoryStorage": "ram", + "supportOSSClusterApi": true, + "useExternalEndpointForOSSClusterApi": true, + "dataPersistence": "snapshot-every-1-hour", + "replication": false, + "dataEvictionPolicy": "noeviction", + "throughputMeasurement": { + "by": "operations-per-second", + "value": 25000 + }, + "activatedOn": "2021-08-29T13:03:27Z", + "lastModified": "2021-08-29T13:03:27Z", + "publicEndpoint": "redis-13074.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:13074", + "privateEndpoint": "redis-13074.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:13074", + "replica": { + "syncSources": [ + { + "endpoint": "redis://localhost:6379", + "encryption": true, + "clientCert": "-----BEGIN CERTIFICATE-----\n ... -----END CERTIFICATE-----" + } + ] + }, + "clustering": { + "numberOfShards": 1, + "regexRules": [ + { + "ordinal": 1, + "pattern": "(?.*)" + }, + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "enableDefaultUser": true, + "sslClientAuthentication": false, + "tlsClientAuthentication": false, + "enableTls": false, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 6651, + "name": "RediSearch", + "capabilityName": "Search and query", + "version": "2.0.11", + "description": "A comprehensive, expressive, flexible, fast and developer-friendly search and query engine for the diversity of data types in Redis with state-of-the-art scoring algorithms", + "parameters": [] + } + ], + "alerts": [], + "links": [] + } + ], + "links": [] + } + ], + "links": [ + { + "rel": "self", + "href": "https://api-cloudapi.qa.redislabs.com/v1/subscriptions/120416/databases?offset=0&limit=100", + "type": "GET" + } + ] + } + }, + "AccountSystemLogEntry": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "originator": { + "type": "string" + }, + "apiKeyName": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "type": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "description": "Account system log entry" + }, + "CloudTag": { + "type": "object", + "properties": { + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "description": "Database tag", + "example": { + "key": "environment", + "value": "production", + "createdAt": "2024-05-21T20:02:21+02:00", + "updatedAt": "2024-06-21T20:02:21+02:00", + "links": [ + { + "rel": "self", + "type": "GET", + "href": "http://localhost:8081/v1/fixed/subscriptions/178867/databases/51412930/tags" + } + ] + } + }, + "AccountACLRedisRules": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "Redis list of ACL redis rules in current account", + "example": { + "accountId": 1001, + "redisRules": [ + { + "id": 7, + "name": "Full-Access", + "acl": "+@all ~*", + "isDefault": true, + "status": "active" + }, + { + "id": 8, + "name": "Read-Write", + "acl": "+@all -@dangerous ~*", + "isDefault": true, + "status": "active" + }, + { + "id": 9, + "name": "Read-Only", + "acl": "+@read ~*", + "isDefault": true, + "status": "active" + } + ] + } + }, + "FixedSubscription": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "paymentMethodId": { + "type": "integer", + "format": "int32" + }, + "paymentMethodType": { + "type": "string" + }, + "planId": { + "type": "integer", + "format": "int32" + }, + "planName": { + "type": "string" + }, + "planType": { + "type": "string" + }, + "size": { + "type": "number", + "format": "double" + }, + "sizeMeasurementUnit": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "region": { + "type": "string" + }, + "price": { + "type": "integer", + "format": "int32" + }, + "pricePeriod": { + "type": "string" + }, + "priceCurrency": { + "type": "string" + }, + "maximumDatabases": { + "type": "integer", + "format": "int32" + }, + "availability": { + "type": "string" + }, + "connections": { + "type": "string" + }, + "cidrAllowRules": { + "type": "integer", + "format": "int32" + }, + "supportDataPersistence": { + "type": "boolean" + }, + "supportInstantAndDailyBackups": { + "type": "boolean" + }, + "supportReplication": { + "type": "boolean" + }, + "supportClustering": { + "type": "boolean" + }, + "customerSupport": { + "type": "string" + }, + "creationDate": { + "type": "string", + "format": "date-time" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "databaseStatus": { + "type": "string" + } + }, + "description": "Redis Essentials Subscription information", + "example": { + "id": 151367, + "name": "fixed-sub-2", + "status": "active", + "paymentMethodId": 8241, + "paymentMethodType": "credit-card", + "planId": 98276, + "planName": "Standard 1GB", + "size": 1, + "sizeMeasurementUnit": "GB", + "provider": "AWS", + "region": "us-west-1", + "price": 22, + "pricePeriod": "Month", + "priceCurrency": "USD", + "maximumDatabases": 1, + "availability": "Single-zone", + "connections": "1024", + "cidrAllowRules": 8, + "supportDataPersistence": true, + "supportInstantAndDailyBackups": true, + "supportReplication": true, + "customerSupport": "Standard", + "creationDate": "2022-11-21T20:02:21+02:00", + "supportClustering": false, + "links": [ + { + "rel": "self", + "href": "http://localhost:8081/v1/fixed/subscriptions/151367", + "type": "GET" + } + ] + } + }, + "DatabaseCertificateSpec": { + "required": [ + "publicCertificatePEMString" + ], + "type": "object", + "properties": { + "publicCertificatePEMString": { + "type": "string", + "description": "Required. Public key certificate (PEM format)" + } + }, + "description": "Optional. A list of TLS/SSL certificates (public keys) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty list is received, SSL certificates will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"" + }, + "AclRoleUpdateRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Optional. ACL role name", + "example": "ACL-role-example" + }, + "redisRules": { + "type": "array", + "description": "Optional. List of ACL redis rules to associated with the requested ACL role", + "items": { + "$ref": "#/components/schemas/AclRoleRedisRuleSpec" + } + }, + "roleId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "ACL role update request" + }, + "AccountUserOptions": { + "type": "object", + "properties": { + "billing": { + "type": "boolean" + }, + "emailAlerts": { + "type": "boolean" + }, + "operationalEmails": { + "type": "boolean" + }, + "mfaEnabled": { + "type": "boolean" + } + }, + "description": "RedisLabs User options information" + }, + "AccountSystemLogEntries": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AccountSystemLogEntry" + } + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "example": { + "entries": [ + { + "id": 2900349, + "time": "2022-10-12T10:54:31Z", + "originator": "example-value", + "type": "Account", + "description": "example-value (example.value@redislabs.com)'s user name was changed to Example Value" + }, + { + "id": 2900348, + "time": "2022-10-12T10:54:11Z", + "originator": "invalid-name", + "type": "Account", + "description": "Invited invalid-name (cab@fufu.com) to join team" + } + ] + } + }, + "TgwUpdateCidrsRequest": { + "type": "object", + "properties": { + "cidrs": { + "type": "array", + "description": "Optional. List of attachment CIDRs", + "example": [ + "10.10.10.0/24", + "10.10.20.0/24" + ], + "items": { + "$ref": "#/components/schemas/Cidr" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Transit Gateway update attachment cidr/s request message" + }, + "AccountUser": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "role": { + "type": "string" + }, + "signUp": { + "type": "string" + }, + "userType": { + "type": "string" + }, + "hasApiKey": { + "type": "boolean" + }, + "options": { + "$ref": "#/components/schemas/AccountUserOptions" + } + }, + "description": "RedisLabs User information", + "example": { + "id": 60192, + "name": "Clifford O'neill", + "email": "clifford.mail@gmail.com", + "role": "Viewer", + "userType": "Local", + "hasApiKey": false, + "options": { + "billing": false, + "emailAlerts": false, + "operationalEmails": false, + "mfaEnabled": false + } + } + }, + "SubscriptionMaintenanceWindowsSpec": { + "required": [ + "mode" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Required. Maintenance window mode: either 'manual' or 'automatic'. Must provide windows property if manual. Default: 'automatic'", + "example": "manual", + "enum": [ + "manual", + "automatic" + ] + }, + "windows": { + "type": "array", + "description": "Maintenance window specifications if mode is set to 'manual'. Up to 7 windows can be provided.", + "items": { + "$ref": "#/components/schemas/MaintenanceWindowSpec" + } + } + } + }, + "ACLUser": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "role": { + "type": "string" + }, + "status": { + "type": "string" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "Redis ACL user information", + "example": { + "id": 1, + "name": "abc", + "role": "role-name", + "status": "active" + } + }, + "DatabaseCertificate": { + "type": "object", + "properties": { + "publicCertificatePEMString": { + "type": "string", + "description": "A list of TLS/SSL certificates (public keys) with new line characters replaced by \\n" + } + }, + "description": "Database certificate" + }, + "AccountSubscriptions": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "RedisLabs list of subscriptions in current account", + "example": { + "accountId": 1001, + "subscriptions": [ + { + "id": 1206, + "name": "subscription name", + "status": "active", + "deploymentType": "single-region", + "paymentMethodId": 123, + "memoryStorage": "ram", + "numberOfDatabases": 6, + "paymentMethodType": "credit-card", + "storageEncryption": false, + "subscriptionPricing": [ + { + "type": "Shards", + "typeDetails": "high-throughput", + "quantity": 7, + "quantityMeasurement": "shards", + "pricePerUnit": 0.124, + "priceCurrency": "USD", + "pricePeriod": "hour" + } + ], + "cloudDetails": [ + { + "provider": "AWS", + "cloudAccountId": 1666, + "totalSizeInGb": 0.0272, + "regions": [ + { + "region": "us-east-1", + "networking": [ + { + "deploymentCIDR": "10.0.0.0/24", + "subnetId": "subnet-009ce004ed90da8a6" + } + ], + "preferredAvailabilityZones": [ + "us-east-1a" + ], + "multipleAvailabilityZones": false + } + ], + "links": [] + } + ], + "links": [] + } + ] + } + }, + "CrdbRegionSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of database" + }, + "localThroughputMeasurement": { + "$ref": "#/components/schemas/LocalThroughput" + } + }, + "description": "List of databases with local throughput for the new region" + }, + "VpcPeeringCreateAwsRequest": { + "required": [ + "awsAccountId", + "region", + "vpcId" + ], + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "region": { + "type": "string", + "description": "Deployment region as defined by cloud provider", + "example": "us-east-1" + }, + "awsAccountId": { + "type": "string", + "description": "AWS Account uid", + "example": "" + }, + "vpcId": { + "type": "string", + "description": "VPC uid", + "example": "" + }, + "vpcCidr": { + "type": "string", + "description": "Optional. VPC CIDR", + "example": "<10.10.10.0/24>" + }, + "vpcCidrs": { + "type": "array", + "description": "Optional. List of VPC CIDRs", + "example": [ + "<10.10.10.0/24>", + "<10.10.20.0/24>" + ], + "items": { + "type": "string", + "description": "Optional. List of VPC CIDRs", + "example": "[\"<10.10.10.0/24>\",\"<10.10.20.0/24>\"]" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "VPC peering creation request message" + }, + "FixedDatabaseUpdateRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Optional. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)", + "example": "Redis-Essentials-database-example" + }, + "memoryLimitInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Deprecated - Optional. Total memory including replication and other overhead. Supported only for 'Pay-As-You-Go' subscriptions", + "format": "double", + "example": 1 + }, + "datasetSizeInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Optional. The maximum amount of data in the dataset for this specific database is in GB. You can not set both datasetSizeInGb and totalMemoryInGb. if ‘replication’ is true, the database’s total memory will be twice as large as the datasetSizeInGb.if ‘replication’ is false, the database’s total memory of the database will be the datasetSizeInGb value.", + "format": "double", + "example": 1 + }, + "supportOSSClusterApi": { + "type": "boolean", + "description": "Optional. Support Redis open-source (OSS) Cluster API. Supported only for 'Pay-As-You-Go' subscriptions", + "example": true + }, + "respVersion": { + "type": "string", + "description": "Optional. RESP version must be compatible with Redis version.", + "example": "resp3", + "enum": [ + "resp2", + "resp3" + ] + }, + "useExternalEndpointForOSSClusterApi": { + "type": "boolean", + "description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled. Supported only for 'Pay-As-You-Go' subscriptions", + "example": true + }, + "enableDatabaseClustering": { + "type": "boolean", + "description": "Optional. Distributes database data to different cloud instances. Default: 'false'. Supported only for 'Pay-As-You-Go' subscriptions", + "example": false + }, + "numberOfShards": { + "type": "integer", + "description": "Optional. Specifies the number of master shards. Supported only for 'Pay-As-You-Go' subscriptions", + "format": "int32", + "example": 2 + }, + "dataPersistence": { + "type": "string", + "description": "Optional. Rate of database data persistence (in persistent storage)", + "enum": [ + "none", + "aof-every-1-second", + "aof-every-write", + "snapshot-every-1-hour", + "snapshot-every-6-hours", + "snapshot-every-12-hours" + ] + }, + "dataEvictionPolicy": { + "type": "string", + "description": "Optional. Data items eviction method", + "enum": [ + "allkeys-lru", + "allkeys-lfu", + "allkeys-random", + "volatile-lru", + "volatile-lfu", + "volatile-random", + "volatile-ttl", + "noeviction" + ] + }, + "replication": { + "type": "boolean", + "description": "Optional. Databases replication" + }, + "periodicBackupPath": { + "type": "string", + "description": "Optional. If specified, automatic backups will be every 24 hours or database will be able to perform immediate backups to this path. If empty string is received, backup path will be removed. Optional.", + "example": "s3://" + }, + "sourceIps": { + "type": "array", + "description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'", + "items": { + "type": "string", + "description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'" + } + }, + "replicaOf": { + "type": "array", + "description": "Deprecated - Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] ).", + "deprecated": true, + "items": { + "type": "string", + "description": "Deprecated - Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] )." + } + }, + "replica": { + "$ref": "#/components/schemas/ReplicaOfSpec" + }, + "regexRules": { + "type": "array", + "description": "Optional. Shard regex rules. Relevant only for a sharded database. Supported only for 'Pay-As-You-Go' subscriptions", + "items": { + "type": "string", + "description": "Optional. Shard regex rules. Relevant only for a sharded database. Supported only for 'Pay-As-You-Go' subscriptions" + } + }, + "clientSslCertificate": { + "type": "string", + "description": "Deprecated - Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"" + }, + "clientTlsCertificates": { + "type": "array", + "description": "Optional. A list of TLS/SSL certificates (public keys) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty list is received, SSL certificates will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"", + "items": { + "$ref": "#/components/schemas/DatabaseCertificateSpec" + } + }, + "enableTls": { + "type": "boolean", + "description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided)." + }, + "password": { + "type": "string", + "description": "Optional. Password to access the database. If omitted, a random 32 character long alphanumeric password will be automatically generated" + }, + "enableDefaultUser": { + "type": "boolean", + "description": "Optional. When 'true', enables connecting to the database with the 'default' user. Default: 'true'" + }, + "alerts": { + "type": "array", + "description": "Optional. Redis database alerts", + "items": { + "$ref": "#/components/schemas/DatabaseAlertSpec" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Essentials database update request" + }, + "CloudAccountCreateRequest": { + "required": [ + "accessKeyId", + "accessSecretKey", + "consolePassword", + "consoleUsername", + "name", + "signInLoginUrl" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Required. Cloud account display name", + "example": "My new Cloud Account" + }, + "provider": { + "type": "string", + "description": "Optional. Cloud provider. Default: 'AWS'", + "example": "AWS", + "enum": [ + "AWS", + "GCP" + ] + }, + "accessKeyId": { + "type": "string", + "description": "Required. Cloud provider access key", + "example": "****" + }, + "accessSecretKey": { + "type": "string", + "description": "Required. Cloud provider secret key", + "example": "****" + }, + "consoleUsername": { + "type": "string", + "description": "Required. Cloud provider management console username", + "example": "me@mycompany.com" + }, + "consolePassword": { + "type": "string", + "description": "Required. Cloud provider management console password", + "example": "****" + }, + "signInLoginUrl": { + "type": "string", + "description": "Required. Cloud provider management console login URL", + "example": "https://.signin.aws.amazon.com/console" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Cloud Account definition" + }, + "ModulesData": { + "type": "object", + "properties": { + "modules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Module" + } + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "example": { + "modules": [ + { + "name": "RedisBloom", + "capabilityName": "Probabilistic", + "description": "A set of probabilistic data structures to Redis, including Bloom filter, Cuckoo filter, Count-min sketch, Top-K, and t-digest", + "parameters": [] + }, + { + "name": "RedisJSON", + "capabilityName": "JSON", + "description": "Native JSON Data Type for Redis, allowing for atomic reads and writes of sub-elements", + "parameters": [] + }, + { + "name": "RediSearch", + "capabilityName": "Search and query", + "description": "A comprehensive, expressive, flexible, fast and developer-friendly search and query engine for the diversity of data types in Redis with state-of-the-art scoring algorithms", + "parameters": [ + { + "name": "number-of-documents", + "description": "Expected number of documents the database module will be indexing", + "type": "integer", + "defaultValue": 1000000, + "required": false + } + ] + }, + { + "name": "RedisTimeSeries", + "capabilityName": "Time series", + "description": "Time-Series data structure for redis", + "parameters": [] + } + ] + } + }, + "ActiveActiveRegionDeleteRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "regions": { + "type": "array", + "description": "List of names of regions to delete", + "items": { + "$ref": "#/components/schemas/ActiveActiveRegionToDelete" + } + }, + "dryRun": { + "type": "boolean", + "description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'false'", + "example": false + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Active active region deletion request message" + }, + "AccountACLUsers": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "Redis list of ACL users in current account", + "example": { + "accountId": 1001, + "users": [ + { + "id": 1, + "name": "user", + "role": "role-name", + "status": "active", + "links": [] + } + ] + } + }, + "AclRoleRedisRuleSpec": { + "required": [ + "databases", + "ruleName" + ], + "type": "object", + "properties": { + "ruleName": { + "type": "string", + "description": "Required. ACL redis rule name", + "example": "Read-Only" + }, + "databases": { + "type": "array", + "description": "Required. List of databaseId and subscriptionId pairs associated with the requested ACL role", + "items": { + "$ref": "#/components/schemas/AclRoleDatabaseSpec" + } + } + }, + "description": "Optional. List of ACL redis rules to associated with the requested ACL role" + }, + "ActiveActiveSubscriptionRegions": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "List of active-active subscription regions", + "example": { + "subscriptionId": 126, + "regions": [ + { + "regionId": 1, + "region": "us-east-1", + "deploymentCidr": "10.0.0.0/24", + "vpcId": "vpc-0bf863584c46321e4", + "databases": [ + { + "databaseId": 862, + "databaseName": "Bdb", + "readOperationsPerSecond": 500, + "writeOperationsPerSecond": 500, + "respVersion": "resp3", + "links": [] + }, + { + "databaseId": 864, + "databaseName": "Bdb2", + "readOperationsPerSecond": 1000, + "writeOperationsPerSecond": 1000, + "respVersion": "resp3", + "links": [] + } + ], + "links": [] + }, + { + "regionId": 4, + "region": "eu-west-1", + "deploymentCidr": "10.0.1.0/24", + "vpcId": "vpc-0108fb753063ecf8b", + "databases": [ + { + "databaseId": 862, + "databaseName": "Bdb", + "readOperationsPerSecond": 500, + "writeOperationsPerSecond": 500, + "respVersion": "resp3", + "links": [] + }, + { + "databaseId": 864, + "databaseName": "Bdb2", + "readOperationsPerSecond": 1000, + "writeOperationsPerSecond": 1000, + "respVersion": "resp3", + "links": [] + } + ], + "links": [] + } + ], + "links": [ + { + "rel": "self", + "href": "https://api-cloudapi.qa.redislabs.com/v1/subscriptions/133876/regions", + "type": "GET" + } + ] + } + }, + "AccountFixedSubscriptionDatabases": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "RedisLabs Account Subscription Databases information", + "example": { + "accountId": 40131, + "subscription": { + "subscriptionId": 154714, + "numberOfDatabases": 2, + "databases": [ + { + "databaseId": 51324587, + "name": "bdb", + "protocol": "stack", + "provider": "AWS", + "region": "us-east-1", + "status": "draft", + "planMemoryLimit": 250, + "respVersion": "resp2", + "memoryLimitMeasurementUnit": "MB", + "memoryUsedInMb": 1, + "memoryStorage": "ram", + "dataPersistence": "none", + "replication": true, + "dataEvictionPolicy": "noeviction", + "clustering": { + "enabled": false, + "regexRules": [ + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + }, + { + "ordinal": 1, + "pattern": "(?.*)" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "defaultUserEnabled": true, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 18534, + "name": "searchlight", + "capabilityName": "Search and query", + "version": "2.2.6", + "description": "A comprehensive, expressive, flexible, fast and developer-friendly search and query engine for the diversity of data types in Redis with state-of-the-art scoring algorithms", + "parameters": [] + }, + { + "id": 18535, + "name": "RedisBloom", + "capabilityName": "Probabilistic", + "version": "2.2.12", + "description": "A set of probabilistic data structures to Redis, including Bloom filter, Cuckoo filter, Count-min sketch, Top-K, and t-digest", + "parameters": [] + }, + { + "id": 18536, + "name": "RedisJSON", + "capabilityName": "JSON", + "version": "2.0.6", + "description": "Native JSON Data Type for Redis, allowing for atomic reads and writes of sub-elements", + "parameters": [] + }, + { + "id": 18537, + "name": "RedisTimeSeries", + "capabilityName": "Time series", + "version": "1.6.8", + "description": "Time-Series data structure for Redis", + "parameters": [] + } + ], + "alerts": [ + { + "name": "connections-limit", + "value": 80, + "defaultValue": 80 + } + ], + "backup": { + "remoteBackupEnabled": false + }, + "links": [] + }, + { + "databaseId": 51324586, + "name": "firstDB", + "protocol": "stack", + "provider": "AWS", + "region": "us-east-1", + "status": "draft", + "planMemoryLimit": 250, + "memoryLimitMeasurementUnit": "MB", + "memoryUsedInMb": 1, + "memoryStorage": "ram", + "dataPersistence": "none", + "replication": true, + "dataEvictionPolicy": "noeviction", + "clustering": { + "enabled": false, + "regexRules": [ + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + }, + { + "ordinal": 1, + "pattern": "(?.*)" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "defaultUserEnabled": true, + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 18529, + "name": "searchlight", + "capabilityName": "Search and query", + "version": "2.2.6", + "description": "A comprehensive, expressive, flexible, fast and developer-friendly search and query engine for the diversity of data types in Redis with state-of-the-art scoring algorithms", + "parameters": [] + }, + { + "id": 18530, + "name": "RedisBloom", + "capabilityName": "Probabilistic", + "version": "2.2.12", + "description": "A set of probabilistic data structures to Redis, including Bloom filter, Cuckoo filter, Count-min sketch, Top-K, and t-digest", + "parameters": [] + }, + { + "id": 18531, + "name": "RedisJSON", + "capabilityName": "JSON", + "version": "2.0.6", + "description": "Native JSON Data Type for Redis, allowing for atomic reads and writes of sub-elements", + "parameters": [] + }, + { + "id": 18532, + "name": "RedisTimeSeries", + "capabilityName": "Time series", + "version": "1.6.8", + "description": "Time-Series data structure for Redis", + "parameters": [] + } + ], + "alerts": [ + { + "name": "connections-limit", + "value": 80, + "defaultValue": 80 + } + ], + "backup": { + "remoteBackupEnabled": false + }, + "links": [] + } + ], + "links": [] + }, + "links": [] + } + }, + "DatabaseAlertSpec": { + "required": [ + "name", + "value" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Required. Alert name", + "example": "dataset-size", + "enum": [ + "dataset-size", + "datasets-size", + "throughput-higher-than", + "throughput-lower-than", + "latency", + "syncsource-error", + "syncsource-lag", + "connections-limit" + ] + }, + "value": { + "type": "integer", + "description": "Required. Alert value", + "format": "int32", + "example": 80 + } + }, + "description": "Optional. Redis database alerts" + }, + "LocalThroughput": { + "type": "object", + "properties": { + "region": { + "type": "string" + }, + "writeOperationsPerSecond": { + "type": "integer", + "description": "Default: 1000 ops/sec", + "format": "int64", + "example": 1000 + }, + "readOperationsPerSecond": { + "type": "integer", + "description": "Default: 1000 ops/sec", + "format": "int64", + "example": 1000 + } + }, + "description": "Local throughput for the regional instance of an Active-Active database" + }, + "SubscriptionMaintenanceWindows": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": [ + "manual", + "automatic" + ] + }, + "timeZone": { + "type": "string" + }, + "windows": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MaintenanceWindow" + } + }, + "skipStatus": { + "$ref": "#/components/schemas/MaintenanceWindowSkipStatus" + } + } + }, + "FixedSubscriptionsPlan": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "size": { + "type": "number", + "format": "double" + }, + "datasetSize": { + "type": "number", + "format": "double" + }, + "sizeMeasurementUnit": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "region": { + "type": "string" + }, + "regionId": { + "type": "integer", + "format": "int32" + }, + "price": { + "type": "integer", + "format": "int32" + }, + "priceCurrency": { + "type": "string" + }, + "pricePeriod": { + "type": "string" + }, + "maximumDatabases": { + "type": "integer", + "format": "int32" + }, + "maximumThroughput": { + "type": "integer", + "format": "int32" + }, + "maximumBandwidthGB": { + "type": "integer", + "format": "int32" + }, + "availability": { + "type": "string" + }, + "connections": { + "type": "string" + }, + "cidrAllowRules": { + "type": "integer", + "format": "int32" + }, + "supportDataPersistence": { + "type": "boolean" + }, + "redisFlex": { + "type": "boolean" + }, + "supportInstantAndDailyBackups": { + "type": "boolean" + }, + "supportReplication": { + "type": "boolean" + }, + "supportClustering": { + "type": "boolean" + }, + "supportSsl": { + "type": "boolean" + }, + "customerSupport": { + "type": "string" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "Redis Essentials subscription plan information", + "example": { + "id": 98273, + "name": "Cache 5GB", + "size": 5, + "sizeMeasurementUnit": "GB", + "provider": "AWS", + "region": "eu-west-1", + "regionId": 4, + "price": 77, + "priceCurrency": "USD", + "pricePeriod": "Month", + "maximumDatabases": 1, + "availability": "No replication", + "connections": "unlimited", + "cidrAllowRules": 4, + "supportDataPersistence": true, + "supportInstantAndDailyBackups": true, + "supportReplication": false, + "supportClustering": true, + "supportSsl": false, + "supportedAlerts": [ + "throughput-higher-than" + ], + "customerSupport": "Standard", + "links": [ + { + "rel": "self", + "href": "http://localhost:8081/v1/fixed/plans/16583", + "type": "GET" + } + ] + } + }, + "AccountACLRoles": { + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "description": "Redis list of ACL roles in current account", + "example": { + "accountId": 1001, + "roles": [ + { + "id": 395, + "name": "role-name", + "redisRules": [ + { + "ruleId": 7, + "ruleName": "Full-Access", + "databases": [ + { + "subscriptionId": 126, + "databaseId": 1, + "databaseName": "DB-RCP-2-81-7" + } + ] + } + ], + "users": [], + "status": "error" + } + ] + } + }, + "tag": { + "required": [ + "key", + "value" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Required. Database tag key", + "example": "environment" + }, + "value": { + "type": "string", + "description": "Required. Database tag value", + "example": "production" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Database tag" + }, + "SubscriptionSpec": { + "required": [ + "regions" + ], + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Optional. Cloud provider. Default: 'AWS'", + "example": "AWS", + "enum": [ + "AWS", + "GCP" + ] + }, + "cloudAccountId": { + "type": "integer", + "description": "Optional. Cloud account identifier. Default: Redis internal cloud account (using Cloud Account Id = 1 implies using Redis internal cloud account). Note that a GCP subscription can be created only with Redis internal cloud account.", + "format": "int32", + "example": 1 + }, + "regions": { + "type": "array", + "description": "Required. Cloud networking details, per region (single region or multiple regions for Active-Active cluster only)", + "items": { + "$ref": "#/components/schemas/SubscriptionRegionSpec" + } + } + }, + "description": "Required. Cloud hosting & networking details" + }, + "DatabaseModuleSpec": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Required. Redis module Id" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "object", + "description": "Optional. Redis database module parameters (name and value), as relevant to the specific module (see modules parameters specification) ", + "example": {} + }, + "description": "Optional. Redis database module parameters (name and value), as relevant to the specific module (see modules parameters specification) ", + "example": {} + } + }, + "description": "Optional. Redis modules to be provisioned in the database" + }, + "FixedSubscriptionCreateRequest": { + "required": [ + "name", + "planId" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Essentials subscription name", + "example": "My new subscription" + }, + "planId": { + "type": "integer", + "description": "A predefined Essentials plan Id (see lookup API '/fixed/plans'). The plan defines the billing, deployment and configuration for the created subscription based on specific plan details", + "format": "int32" + }, + "paymentMethodId": { + "type": "integer", + "description": "Optional. A valid payment method (credit card, wire transfer etc) pre-defined in the current account. It will be billed for any charges related to the created subscription.", + "format": "int32" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Essentials subscription create request" + }, + "SubscriptionRegionNetworkingSpec": { + "required": [ + "deploymentCIDR" + ], + "type": "object", + "properties": { + "deploymentCIDR": { + "type": "string", + "description": "Optional. Deployment CIDR mask. \nDefault: If using Redis internal cloud account, 192.168.0.0/24", + "example": "10.0.0.0/24" + }, + "vpcId": { + "type": "string", + "description": "Optional. Either an existing VPC Id (already exists in the specific region) or create a new VPC (if no VPC is specified). VPC Identifier must be in a valid format (for example: 'vpc-0125be68a4625884ad') and existing within the hosting account", + "example": "" + } + }, + "description": "Optional. Cloud networking details, per region (single region or multiple regions for Active-Active cluster only). Default: if using Redis internal cloud account, 192.168.0.0/24" + }, + "DatabaseTagsUpdateRequest": { + "required": [ + "tags" + ], + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "tags": { + "type": "array", + "description": "Required. database tags", + "items": { + "$ref": "#/components/schemas/tag" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Database tags update request message" + }, + "AccountUsers": { + "type": "object", + "properties": { + "account": { + "type": "integer", + "format": "int32" + } + }, + "description": "RedisLabs list of users in current account", + "example": { + "account": 1001, + "users": [ + { + "id": 60192, + "name": "Clifford O'neill", + "email": "clifford.mail@gmail.com", + "role": "Viewer", + "userType": "Local", + "hasApiKey": false, + "options": { + "billing": false, + "emailAlerts": false, + "operationalEmails": false, + "mfaEnabled": false + } + } + ] + } + }, + "CrdbUpdatePropertiesRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Optional. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)", + "example": "Redis-database-example" + }, + "dryRun": { + "type": "boolean", + "description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'false'", + "example": false + }, + "memoryLimitInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Deprecated - Optional. Total memory including replication and other overhead", + "format": "double", + "example": 1 + }, + "datasetSizeInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Optional. The maximum amount of data in the dataset for this specific database is in GB. You can not set both datasetSizeInGb and totalMemoryInGb. if ‘replication’ is true, the database’s total memory will be twice as large as the datasetSizeInGb.if ‘replication’ is false, the database’s total memory of the database will be the datasetSizeInGb value.", + "format": "double", + "example": 1 + }, + "supportOSSClusterApi": { + "type": "boolean", + "description": "Optional. Support Redis open-source (OSS) Cluster API" + }, + "useExternalEndpointForOSSClusterApi": { + "type": "boolean", + "description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled. Default: 'false'", + "example": false + }, + "clientSslCertificate": { + "type": "string", + "description": "Deprecated - Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"" + }, + "clientTlsCertificates": { + "type": "array", + "description": "Optional. A list of TLS/SSL certificates (public keys) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty list is received, SSL certificates will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"", + "items": { + "$ref": "#/components/schemas/DatabaseCertificateSpec" + } + }, + "enableTls": { + "type": "boolean", + "description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided)" + }, + "globalDataPersistence": { + "type": "string", + "description": "Optional. Global rate of database data persistence (in persistent storage) of regions that dont override global settings. Default: 'none'", + "enum": [ + "none", + "aof-every-1-second", + "aof-every-write", + "snapshot-every-1-hour", + "snapshot-every-6-hours", + "snapshot-every-12-hours" + ] + }, + "globalPassword": { + "type": "string", + "description": "Optional. Password to access the database of regions that dont override global settings." + }, + "globalSourceIp": { + "type": "array", + "description": "Optional. List of source IP addresses or subnet masks of regions that dont override global settings. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )", + "items": { + "type": "string", + "description": "Optional. List of source IP addresses or subnet masks of regions that dont override global settings. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )" + } + }, + "globalAlerts": { + "type": "array", + "description": "Optional. Redis database alerts of regions that don't override global settings", + "items": { + "$ref": "#/components/schemas/DatabaseAlertSpec" + } + }, + "regions": { + "type": "array", + "description": "Optional. List or regions to update", + "items": { + "$ref": "#/components/schemas/LocalRegionProperties" + } + }, + "dataEvictionPolicy": { + "type": "string", + "description": "Optional. Data items eviction method.", + "enum": [ + "allkeys-lru", + "allkeys-lfu", + "allkeys-random", + "volatile-lru", + "volatile-lfu", + "volatile-random", + "volatile-ttl", + "noeviction" + ] + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Active-Active database update local properties request message" + }, + "AclRedisRuleCreateRequest": { + "required": [ + "name", + "redisRule" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Required. ACL redis rule name", + "example": "ACL-rule-example" + }, + "redisRule": { + "type": "string", + "description": "Required. ACL redis rule pattern" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "ACL redis rule create request" + }, + "Cidr": { + "type": "object", + "properties": { + "cidrAddress": { + "type": "string" + } + }, + "description": "Optional. List of attachment CIDRs", + "example": [ + "10.10.10.0/24", + "10.10.20.0/24" + ] + }, + "SubscriptionRegionSpec": { + "required": [ + "region" + ], + "type": "object", + "properties": { + "region": { + "type": "string", + "description": "Required. Deployment region as defined by cloud provider", + "example": "us-east-1" + }, + "multipleAvailabilityZones": { + "type": "boolean", + "description": "Optional. Support deployment on multiple availability zones within the selected region. Default: 'false'", + "example": false + }, + "preferredAvailabilityZones": { + "type": "array", + "description": "Optional. Availability zones deployment preferences (for the selected provider & region). If ‘multipleAvailabilityZones’ is set to 'true', you must specify three availability zones. In AWS Redis internal cloud account, set the zone IDs (for example: [\"use-az2\", \"use-az3\", \"use-az5\"]).", + "items": { + "type": "string", + "description": "Optional. Availability zones deployment preferences (for the selected provider & region). If ‘multipleAvailabilityZones’ is set to 'true', you must specify three availability zones. In AWS Redis internal cloud account, set the zone IDs (for example: [\"use-az2\", \"use-az3\", \"use-az5\"])." + } + }, + "networking": { + "$ref": "#/components/schemas/SubscriptionRegionNetworkingSpec" + } + }, + "description": "Required. Cloud networking details, per region (single region or multiple regions for Active-Active cluster only)" + }, + "VpcPeeringCreateGcpRequest": { + "required": [ + "vpcNetworkName", + "vpcProjectUid" + ], + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "vpcProjectUid": { + "type": "string", + "description": "VPC project uid", + "example": "" + }, + "vpcNetworkName": { + "type": "string", + "description": "VPC network name", + "example": "" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Vpc peering creation request message" + }, + "DatabaseCreateRequest": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "dryRun": { + "type": "boolean", + "description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'true'", + "example": false + }, + "name": { + "type": "string", + "description": "Required. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)", + "example": "Redis-database-example" + }, + "protocol": { + "type": "string", + "description": "Optional. Database protocol. Default: 'redis'", + "enum": [ + "redis", + "memcached" + ] + }, + "port": { + "type": "integer", + "description": "Optional. TCP port on which the database is available (10000-19999). Generated automatically if omitted", + "format": "int32", + "example": 10000 + }, + "memoryLimitInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Deprecated - Optional. Total memory including replication and other overhead", + "format": "double", + "example": 1 + }, + "datasetSizeInGb": { + "minimum": 0.1, + "exclusiveMinimum": false, + "type": "number", + "description": "Optional. The maximum amount of data in the dataset for this specific database is in GB. You can not set both datasetSizeInGb and totalMemoryInGb. if 'replication' is true, the database’s total memory will be twice as large as the datasetSizeInGb.if 'replication' is false, the database’s total memory of the database will be the datasetSizeInGb value.", + "format": "double", + "example": 1 + }, + "respVersion": { + "type": "string", + "description": "Optional. RESP version must be compatible with Redis version.", + "example": "resp3", + "enum": [ + "resp2", + "resp3" + ] + }, + "supportOSSClusterApi": { + "type": "boolean", + "description": "Optional. Support Redis open-source (OSS) Cluster API. Default: 'false'", + "example": false + }, + "useExternalEndpointForOSSClusterApi": { + "type": "boolean", + "description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled'. Default: 'false'", + "example": false + }, + "dataPersistence": { + "type": "string", + "description": "Optional. Rate of database data persistence (in persistent storage). Default: 'none'", + "enum": [ + "none", + "aof-every-1-second", + "aof-every-write", + "snapshot-every-1-hour", + "snapshot-every-6-hours", + "snapshot-every-12-hours" + ] + }, + "dataEvictionPolicy": { + "type": "string", + "description": "Optional. Data items eviction method. Default: 'volatile-lru'", + "enum": [ + "allkeys-lru", + "allkeys-lfu", + "allkeys-random", + "volatile-lru", + "volatile-lfu", + "volatile-random", + "volatile-ttl", + "noeviction" + ] + }, + "replication": { + "type": "boolean", + "description": "Optional. Databases replication. Default: 'true'" + }, + "replicaOf": { + "type": "array", + "description": "Deprecated - Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380']).", + "deprecated": true, + "items": { + "type": "string", + "description": "Deprecated - Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'])." + } + }, + "replica": { + "$ref": "#/components/schemas/ReplicaOfSpec" + }, + "throughputMeasurement": { + "$ref": "#/components/schemas/DatabaseThroughputSpec" + }, + "localThroughputMeasurement": { + "type": "array", + "description": "Optional. Throughput measurement for an active-active subscription", + "items": { + "$ref": "#/components/schemas/LocalThroughput" + } + }, + "averageItemSizeInBytes": { + "type": "integer", + "description": "Optional. Relevant only to ram-and-flash subscriptions. Estimated average size (measured in bytes) of the items stored in the database, Default: 1000", + "format": "int64" + }, + "periodicBackupPath": { + "type": "string", + "description": "Deprecated - If specified, automatic backups will be every 24 hours or database will be able to perform immediate backups to this path. If empty string is received, backup path will be removed. Optional.", + "example": "s3://" + }, + "remoteBackup": { + "$ref": "#/components/schemas/DatabaseBackupConfig" + }, + "sourceIp": { + "type": "array", + "description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'", + "items": { + "type": "string", + "description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'" + } + }, + "clientSslCertificate": { + "type": "string", + "description": "Deprecated - Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"" + }, + "clientTlsCertificates": { + "type": "array", + "description": "Optional. A list of TLS/SSL certificates (public keys) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty list is received, SSL certificates will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\"", + "items": { + "$ref": "#/components/schemas/DatabaseCertificateSpec" + } + }, + "enableTls": { + "type": "boolean", + "description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided. Default: 'false'" + }, + "password": { + "type": "string", + "description": "Optional. Password to access the database. If omitted, a random 32 character long alphanumeric password will be automatically generated. Can only be set if Database Protocol is REDIS" + }, + "saslUsername": { + "type": "string", + "description": "Optional. Memcached (SASL) Username to access the database. If omitted, the username will be set to a 'mc-' prefix followed by a random 5 character long alphanumeric. Can only be set if Database Protocol is MEMCACHED" + }, + "saslPassword": { + "type": "string", + "description": "Optional. Memcached (SASL) Password to access the database. If omitted, a random 32 character long alphanumeric password will be automatically generated. Can only be set if Database Protocol is MEMCACHED" + }, + "alerts": { + "type": "array", + "description": "Optional. Redis database alerts", + "items": { + "$ref": "#/components/schemas/DatabaseAlertSpec" + } + }, + "modules": { + "type": "array", + "description": "Optional. Redis modules to be provisioned in the database", + "items": { + "$ref": "#/components/schemas/DatabaseModuleSpec" + } + }, + "commandType": { + "type": "string", + "readOnly": true + }, + "queryPerformanceFactor": { + "type": "string", + "description": "Optional. The query performance factor adds extra compute power specifically for search and query. For databases with search and query, you can increase your search queries per second by the selected factor.", + "example": "2x" + } + }, + "description": "Database definition" + }, + "Region": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "provider": { + "type": "string", + "enum": [ + "AWS", + "GCP" + ] + } + }, + "description": "RedisLabs region information" + }, + "TasksStateUpdate": { + "type": "object", + "properties": { + "tasks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "AclUserUpdateRequest": { + "type": "object", + "properties": { + "userId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "role": { + "type": "string", + "description": "Optional. ACL role name", + "example": "Redis-role-example" + }, + "password": { + "type": "string", + "description": "Optional. ACL User's password.", + "example": "some-random-password" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "ACL user update request" + }, + "ProcessorResponse": { + "type": "object", + "properties": { + "resourceId": { + "type": "integer", + "format": "int32" + }, + "additionalResourceId": { + "type": "integer", + "format": "int32" + }, + "resource": { + "type": "object" + }, + "error": { + "type": "string", + "enum": [ + "UNAUTHORIZED", + "ACCOUNT_POC_INACTIVE_PENDING", + "CLOUD_ACCOUNT_NOT_ACTIVE", + "CLOUD_ACCOUNT_NOT_FOUND", + "CLOUD_ACCOUNT_USED", + "CLOUD_ACCOUNT_INVALID_CREDS", + "CLOUD_ACCOUNT_NAME_EXISTS", + "CLOUD_ACCOUNT_ACCESS_KEY_EXISTS", + "CLOUD_ACCOUNT_PERMISSION_FAILED", + "CLOUD_ACCOUNT_ALLOCATION_FAILURE", + "NOT_KNOWN_CLOUD_PROVIDER", + "MULTIPLE_CLOUD_PROVIDERS_NOT_SUPPORTED", + "SUBSCRIPTION_NOT_ACTIVE", + "SUBSCRIPTION_CONTAINS_NON_ACTIVE_DATABASE", + "SUBSCRIPTION_NOT_FOUND", + "SUBSCRIPTION_IN_USE", + "SUBSCRIPTION_CA_PROVIDER_MISMATCH", + "SUBSCRIPTION_NETWORKING_MISSING", + "SUBSCRIPTION_NETWORKING_CIDR_MISSING", + "SUBSCRIPTION_INVALID_CIDR", + "SUBSCRIPTION_PI_NOT_FOUND", + "SUBSCRIPTION_INVALID_REGION", + "SUBSCRIPTION_BAD_PREFERRED_AZ_SIZE", + "SUBSCRIPTION_PREFERRED_AZ_INVALID_VALUE", + "SUBSCRIPTION_PREFERRED_AZ_MUST_BE_DEFINED_ONCE", + "ACTIVE_ACTIVE_SUBSCRIPTION_PREFERRED_AZ_NOT_SUPPORTED", + "SUBSCRIPTION_PREFERRED_AZ_IS_DISABLED", + "SUBSCRIPTION_MUST_HAVE_AT_LEAST_ONE_DATABASE", + "SUBSCRIPTION_REDIS_VERSION_INVALID_VALUE", + "ACTIVE_ACTIVE_SUBSCRIPTION_PREVIEW_REDIS_VERSION_IS_NOT_SUPPORTED", + "SUBSCRIPTION_GCP_ALLOW_ONLY_INTERNAL", + "CLUSTER_UNDER_MAINTENANCE", + "PLANNED_SUBSCRIPTION_INVALID_PLAN_ID", + "PLANNER_TIMEOUT", + "PLANNER_FAILURE", + "PLANNER_NOT_ENOUGH_AZS", + "PLANNER_INVALID_INSTANCE_TYPE_PER_AZ", + "PLANNER_MODULE_PLAN_CLUSTERING_ERROR", + "PLANNER_MODULE_PLAN_RESHARDING_ERROR", + "PLANNER_INVALID_PLAN", + "PLANNER_INVALID_SIZE", + "PLANNER_INVALID_NUMBER", + "PLANNER_INVALID_THROUGHPUT", + "PROVISION_FAILURE", + "DATABASE_NOT_ACTIVE", + "DATABASE_NOT_FOUND", + "DATABASE_SUBSCRIPTION_MISMATCH", + "DATABASE_CANT_EDIT_THROUGHPUT_BY", + "DATABASE_INVALID_SHARDS_COUNT", + "DATABASE_CONTAIN_MEMCACHED_USERNAME", + "DATABASE_CONTAIN_MEMCACHED_PASSWORD", + "DATABASE_THROUGHPUT_TOO_BIG", + "DATABASE_INVALID_THROUGHPUT_INCREMENT", + "DATABASE_MODULE_NOT_SUPPORTING_SHARD_THROUGHPUT_OPTION", + "DATABASE_MODULE_NOT_SUPPORTED", + "DATABASE_QUERY_PERFORMANCE_FACTOR_INVALID_VALUE", + "DATABASE_QUERY_PERFORMANCE_FACTOR_SEARCH_IS_REQUIRED", + "DATABASE_QUERY_PERFORMANCE_FACTOR_IS_NOT_SUPPORTED", + "DATABASE_QUERY_PERFORMANCE_FACTOR_IS_NOT_SUPPORTED_ON_ACTIVE_ACTIVE", + "REDISEARCH_SUPPORTS_ONLY_OPERATIONS_PER_SECOND_AS_THROUGHPUT_MEASUREMENT", + "REDIS_GRAPH_SUPPORTS_ONLY_OPS_PER_SECOND_AS_THROUGHPUT_MEASUREMENT", + "DATABASE_MULTI_MODULES_IS_DISABLED", + "DATABASE_RESP_VERSION_IS_NOT_SUPPORTED", + "DATABASE_RESP_VERSION_IS_NOT_SUPPORTED_ON_CREATE_SUBSCRIPTION", + "CLUSTER_MULTI_MODULES_IS_NOT_SUPPORTED", + "DATABASE_INVALID_MULTI_MODULES_COMBINATION", + "DATABASE_ROF_NOT_SUPPORTED", + "DATABASE_REDISGRAPH_OVERSIZED", + "DATABASE_BACKUP_NOT_SUPPORTED", + "DATABASE_EVICTION_NOT_SUPPORTED", + "DATABASE_AOF_NOT_SUPPORTED", + "DATABASE_REPLICA_OF_NOT_SUPPORTED", + "DATABASE_SNAPSHOT_NOT_SUPPORTED", + "DATABASE_CLUSTERING_NOT_SUPPORTED", + "DATABASE_INVALID_THREAD_NUMBER", + "DATABASE_HASH_NOT_SUPPORTED", + "DATABASE_RESHARD_NOT_SUPPORTED", + "DATABASE_FEATURE_NOT_SUPPORTED", + "DATABASE_NAME_EXISTS", + "DATABASE_NAME_DUPLICATE", + "DATABASE_INVALID_NAME", + "DATABASE_NAME_TOO_LONG", + "DATABASE_SIZE_TOO_SMALL", + "DATABASE_SIZE_TOO_BIG", + "DATABASE_SIZE_LIMIT_NOT_DEFINED", + "DATABASE_SET_DATA_SET_SIZE_LIMIT_IS_DISABLED", + "DATABASE_SIZE_LIMIT_INVALID_TOO_MANY_MEMORY_SPECIFICATIONS", + "DATABASE_PASSWORD_IS_BLANK", + "DATABASE_PASSWORD_IS_TOO_LONG", + "DATABASE_REDIS_SEARCH_MODULE_VALUE_IS_NOT_INTEGER", + "DATABASE_REDIS_SEARCH_MODULE_VALUE_NOT_IN_RANGE", + "DATABASE_MODULE_MUST_BE_DEFINED_ONCE", + "DATABASE_MEMCACHED_CONTAINS_MODULES", + "DATABASE_MEMCACHED_NOT_SUPPORT_OSS_CLUSTER_API", + "DATABASE_MEMCACHED_CONTAINS_REDIS_PASSWORD", + "DATABASE_MEMCACHED_CONTAINS_REDIS_DEFAULT_USER", + "DATABASE_MEMCACHED_SASL_USERNAME_IS_BLANK", + "DATABASE_MEMCACHED_SASL_PASSWORD_IS_BLANK", + "DATABASE_MEMCACHED_SASL_PASSWORD_MAX_LENGTH", + "DATABASE_REDIS_FLEX_CONTAINS_MODULES", + "DATABASE_AVERAGE_ITEM_SIZE_NOT_ALLOWED", + "DATABASE_SIZE_SMALLER_THAN_USAGE", + "DATABASE_USAGE_EXCEEDS_GLOBAL_LIMIT", + "DATABASE_USAGE_EXCEEDS_LOCAL_LIMIT", + "DATABASE_INVALID_CERT", + "DATABASE_EXPIRED_CERT", + "DATABASE_MISSING_CERT", + "DATABASE_CLIENT_SSL_CERTIFICATE_DEPRECATED", + "DATABASE_CLIENT_SSL_CERTIFICATE_MORE_THAN_1_ACTIVE", + "DATABASE_SIP_OVER_LIMIT", + "DATABASE_INVALID_SIP", + "DATABASE_INVALID_ALERTS", + "DATABASE_INVALID_MODULE", + "DATABASE_INVALID_MODULE_PARAMETER", + "DATABASE_INVALID_MODULE_PARAMETER_VALUE", + "DATABASE_INVALID_ALERT_VALUE", + "DATABASE_REGEX_RULES_NO_CLUSTERING", + "DATABASE_REGEX_RULES_CHANGES_BLOCKED", + "DATABASE_OSS_CLUSTER_NOT_SUPPORTED", + "DATABASE_EXTERNAL_ENDPOINT_WITHOUT_OSS_CLUSTER", + "CUSTOM_REGEX_RULES_IS_NOT_ALLOWED_WITHOUT_ENABLE_DATABASE_CLUSTERING_IS_TRUE", + "DATABASE_OSS_CLUSTER_CUSTOM_REGEX_NOT_SUPPORTED", + "DATABASE_OSS_CLUSTER_REPLICA_NOT_SUPPORTED", + "DATABASE_REPLICA_OF_PROPERTY_DEPRECATED", + "DATABASE_REPLICA_PER_SOURCE_OVER_LIMIT", + "DATABASE_REPLICA_CYCLE", + "DATABASE_INVALID_REPLICA", + "DATABASE_REPLICAS_OVER_LIMIT", + "DATABASE_BACKUP_DISABLED", + "DATABASE_BACKUP_FAILED", + "DATABASE_BACKUP_NOT_CONFIGURED", + "DATABASE_INVALID_BACKUP_PATH", + "DATABASE_INVALID_BACKUP_INTERVAL", + "DATABASE_INVALID_TOO_MANY_BACKUP_SPECIFICATIONS", + "DATABASE_INVALID_BACKUP_STORAGE_TYPE", + "DATABASE_INVALID_IMPORT_SOURCE_TYPE", + "DATABASE_INVALID_BACKUP_TIME_UTC", + "DATABASE_INVALID_BACKUP_INTERVAL_AND_TIME_UTC_MISMATCH", + "DATABASE_INVALID_BACKUP_PATH_USED_BY_ANOTHER_ACCOUNT", + "DATABASE_INVALID_BACKUP_CONFIGURATION", + "DATABASE_INVALID_REGEX_RULES", + "DATABASE_INVALID_QUANTITY", + "DATABASE_REPLICA_OF_VERSION_NOT_COMPATIBLE", + "DATABASE_IMPORT_FAILED", + "DATABASE_IMPORT_FROM_NON_OSS", + "DATABASE_IMPORT_SOURCE_NOT_FOUND", + "DUPLICATE_DATABASE_IMPORT_SOURCE_PATH", + "DATABASE_IMPORT_WRONG_SIZE", + "DATABASE_IMPORT_URI_NOT_PROVIDED", + "DATABASE_IMPORT_MULTIPLE_REDIS_SOURCES", + "DATABASE_IMPORT_REDIS_BAD_URI", + "DATABASE_REPLICA_OF_BAD_URI", + "DATABASE_IMPORT_S3_BAD_URI", + "DATABASE_IMPORT_HTTP_BAD_URI", + "DATABASE_IMPORT_FTP_BAD_URI", + "DATABASE_IMPORT_AZURE_BAD_URI", + "DATABASE_IMPORT_GCS_BAD_URI", + "DATABASE_IMPORT_NOT_ALLOWED", + "DATABASE_PORT_INVALID_VALUE", + "DATABASE_PORT_IS_UNAVAILABLE", + "DATABASE_CUSTOM_PORT_NOT_SUPPORTED", + "DATABASE_AVERAGE_ITEM_SIZE_INVALID_VALUE", + "VPC_PEERING_NOT_ACTIVE", + "VPC_PEERING_GENERAL_ERROR", + "VPC_PEERING_INVALID_ACCOUNT", + "VPC_PEERING_INVALID_VPC", + "VPC_PEERING_INVALID_CIDR", + "VPC_PEERING_CIDR_IS_MISSING", + "VPC_PEERING_TOO_MANY_CIDR_SPECIFICATIONS", + "VPC_PEERING_INVALID_REGION", + "VPC_PEERING_ALREADY_EXIST", + "VPC_PEERING_NOT_FOUND", + "VPC_PEERING_INVALID_PROJECT", + "VPC_PEERING_CLUSTER_NOT_ACTIVE", + "VPC_PEERING_CIDR_OVERLAP", + "VPC_PEERING_BELONGS_TO_DIFFERENT_CLOUD_PROVIDER", + "VPC_PEERING_IS_NOT_KNOWN_CLOUD_PROVIDER", + "CREATING_AN_ACTIVE_ACTIVE_VPC_PEERING_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "UPDATING_AN_ACTIVE_ACTIVE_VPC_PEERING_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "DELETING_AN_ACTIVE_ACTIVE_VPC_PEERING_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "DELETING_AN_ACTIVE_ACTIVE_VPC_PEERING_IS_NOT_ALLOWED_FOR_A_SUBSCRIPTION_WITH_NO_VPC_PEERINGS", + "ACTIVE_ACTIVE_VPC_PEERING_NOT_FOUND", + "VPC_PEERING_MULTIPLE_CIDRS_IS_DISABLED", + "TGW_ACCEPTING_AN_ACTIVE_ACTIVE_TGW_RESOURCE_SHARE_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "TGW_REJECTING_AN_ACTIVE_ACTIVE_TGW_RESOURCE_SHARE_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "TGW_ACCEPTING_A_FLEXIBLE_SUBSCRIPTION_TGW_RESOURCE_SHARE_IS_NOT_ALLOWED_WITH_AN_ACTIVE_ACTIVE_SUBSCRIPTION", + "TGW_REJECTING_A_FLEXIBLE_SUBSCRIPTION_TGW_RESOURCE_SHARE_IS_NOT_ALLOWED_WITH_AN_ACTIVE_ACTIVE_SUBSCRIPTION", + "TGW_CREATING_AN_ACTIVE_ACTIVE_SUBSCRIPTION_TGW_ATTACHMENT_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "TGW_DELETING_AN_ACTIVE_ACTIVE_SUBSCRIPTION_TGW_ATTACHMENT_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "TGW_UPDATING_AN_ACTIVE_ACTIVE_TGW_ATTACHMENT_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "TGW_CREATING_A_FLEXIBLE_SUBSCRIPTION_TGW_ATTACHMENT_IS_NOT_ALLOWED_WITH_AN_ACTIVE_ACTIVE_SUBSCRIPTION", + "TGW_UPDATING_A_FLEXIBLE_SUBSCRIPTION_TGW_ATTACHMENT_IS_NOT_ALLOWED_WITH_AN_ACTIVE_ACTIVE_SUBSCRIPTION", + "TGW_DELETING_A_FLEXIBLE_SUBSCRIPTION_TGW_ATTACHMENT_IS_NOT_ALLOWED_WITH_AN_ACTIVE_ACTIVE_SUBSCRIPTION", + "TGW_CLOUD_PROVIDER_IS_NOT_SUPPORTED", + "TGW_RESOURCE_SHARE_DOES_NOT_EXIST", + "TGW_DOES_NOT_EXIST", + "TGW_ATTACHMENT_DOES_NOT_EXIST", + "TGW_ATTACHMENT_IS_NOT_ACTIVE", + "TGW_ATTACHMENT_CIDRS_INVALID_LENGTH", + "TGW_ATTACHMENT_CIDRS_ARE_THE_SAME_AS_EXISTING_ONES", + "TGW_ATTACHMENT_CIDRS_REQUEST_CONTAINS_DUPLICATES", + "TGW_REGION_DOES_NOT_EXIST", + "TGW_GETTING_ACTIVE_ACTIVE_SUBSCRIPTION_TGW_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "TGW_GETTING_ACTIVE_ACTIVE_SUBSCRIPTION_TGW_INVITATIONS_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "TGW_GETTING_SINGLE_REGION_TGWS_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "TGW_GETTING_SINGLE_REGION_TGW_INVITATIONS_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "CIDR_WHITELIST_GENERAL_ERROR", + "CIDR_WHITELIST_INVALID_CIDRS", + "CIDR_WHITELIST_INVALID_SG", + "CIDR_WHITELIST_LIMIT_EXCEEDED", + "CIDR_WHITELIST_DUPLICATE_CIDRS", + "CIDR_WHITELIST_DUPLICATE_SG", + "CIDR_WHITELIST_NOT_ALLOWED", + "AWS_ERROR_INSTANCE_LIMIT_EXCEEDED", + "AWS_ERROR_VPC_LIMIT_EXCEEDED", + "AWS_ERROR_INSUFFICIENT_INSTANCE_CAPACITY", + "AWS_ERROR_VOLUME_LIMIT_EXCEEDED", + "AWS_ERROR_MISMATCHING_CIDR", + "AWS_ERROR_CONFLICTING_CIDR", + "AWS_ERROR_VPC_DOES_NOT_EXIST", + "AWS_ERROR_EXISTING_VPC_EQUAL_TO_REQUESTED", + "PAYMENT_INFO_NOT_PROVIDED", + "PAYMENT_INFO_EXPIRED", + "PAYMENT_INFO_NOT_ALLOWED_IN_GCP_ACCOUNT", + "CLOUD_PROVIDER_IS_NOT_GCP_IN_GCP_ACCOUNT", + "PAYMENT_INFO_NOT_ALLOWED_IN_CONTRACT_ASSOCIATED_ACCOUNT", + "LOCAL_THROUGHPUT_READ_AND_WRITE_OPERATIONS_PER_SECOND_VALUES_MUST_BE_IN_INCREMENTS_OF_500_OR_MINIMUM", + "MISSING_REGIONS_BETWEEN_CLOUD_PROVIDERS_AND_DATABASES_LOCAL_THROUGHPUT_MEASUREMENTS", + "MISSING_REGIONS_BETWEEN_LOCAL_THROUGHPUT_MEASUREMENTS_AND_SUBSCRIPTION_REGIONS", + "CRDB_ACTIVE_ACTIVE_MISSING_LOCAL_THROUGHPUT_MEASUREMENT", + "CRDB_ACTIVE_ACTIVE_REGIONS_MUST_BE_DEFINED_ONCE", + "ACTIVE_ACTIVE_CREATE_A_REGION_MUST_CONTAIN_DATABASE_SPEC_TO_ALL_CRDBS_IN_SUBSCRIPTION", + "ACTIVE_ACTIVE_CREATE_A_REGION_MUST_CONTAIN_LOCAL_THROUGHPUT_MEASUREMENT_IN_DATABASE_SPEC", + "ACTIVE_ACTIVE_CREATE_A_REGION_MUST_BE_DEFINED_ONCE_PER_DATABASE", + "TOO_MANY_LOCAL_THROUGHPUT_MEASUREMENTS_DEFINED_FOR_SPECIFIED_ACTIVE_ACTIVE_SUBSCRIPTION", + "ACTIVE_ACTIVE_EXTERNAL_CA_NOT_SUPPORTED", + "ACTIVE_ACTIVE_RAM_AND_FLASH_MEMORY_STORAGE_NOT_SUPPORTED", + "ACTIVE_ACTIVE_DATABASE_MODULE_IS_NOT_SUPPORTED", + "ACTIVE_ACTIVE_DATABASE_MODULES_IS_NOT_SUPPORTED", + "ACTIVE_ACTIVE_FOR_GCP_ACCOUNT_IS_NOT_SUPPORTED", + "ACTIVE_ACTIVE_DATABASE_ALERT_NOT_SUPPORTED", + "FLEXIBLE_DATABASE_ALERT_NOT_SUPPORTED", + "ACTIVE_ACTIVE_DATABASE_REPLICA_OF_NOT_SUPPORTED", + "ACTIVE_ACTIVE_DATABASE_PERIODIC_BACK_UP_PATH_NOT_ALLOWED", + "ACTIVE_ACTIVE_CHANGE_REQUEST_PLANNING_FAILED", + "ACTIVE_ACTIVE_CHANGE_REQUEST_PLANNING_EXPIRED", + "ACTIVE_ACTIVE_MISSING_LOCAL_THROUGHPUT_MEASUREMENT", + "ACTIVE_ACTIVE_BACKUP_MISSING_REGION_NAME", + "ACTIVE_ACTIVE_BACKUP_STATUS_MISSING_REGION_NAME", + "ACTIVE_ACTIVE_DATABASE_INVALID_CIDR_FORMAT", + "ACTIVE_ACTIVE_DATABASE_INVALID_CIDR_OVERLAPPING_OTHER_REGIONS", + "ACTIVE_ACTIVE_DATABASE_REPLICATION_CANNOT_BE_FALSE", + "ACTIVE_ACTIVE_REGIONS_MUST_BE_DEFINED_ONCE", + "ACTIVE_ACTIVE_SUBSCRIPTION_WITHOUT_REGIONS_IS_NOT_ALLOWED", + "ACTIVE_ACTIVE_DATABASE_MEMCACHED_PROTOCOL_IS_NOT_ALLOWED", + "ACTIVE_ACTIVE_DATABASE_SHARDING_MUST_BE_ENABLED", + "ACTIVE_ACTIVE_DATABASE_MISSING_DATABASE_CONFIGURATION", + "ACTIVE_ACTIVE_DATABASE_INVALID_THROUGHPUT", + "ACTIVE_ACTIVE_MISMATCH_BETWEEN_REQUEST_REGIONS_AND_SUBSCRIPTION_REGIONS", + "ACTIVE_ACTIVE_INVALID_UPDATE_DATABASE_NAME", + "ACTIVE_ACTIVE_INVALID_CREATE_REGION_NAME", + "ACTIVE_ACTIVE_INVALID_DELETE_REGION_NAME", + "ACTIVE_ACTIVE_INVALID_BACKUP_REGION_NAME", + "ACTIVE_ACTIVE_INVALID_BACKUP_STATUS_REGION_NAME", + "ACTIVE_ACTIVE_DELETE_REGIONS_MUST_BE_DEFINED_ONCE", + "ACTIVE_ACTIVE_DELETE_SUBSCRIPTION_MUST_BE_DEPLOYED_IN_AT_LEAST_ONE_REGION", + "ACTIVE_ACTIVE_REQUEST_GENERAL_ERROR", + "ACTIVE_ACTIVE_VPC_PEERING_INVALID_SOURCE_REGION_NAME", + "ACTIVE_ACTIVE_VPC_PEERING_INVALID_AWS_ACCOUNT", + "ACTIVE_ACTIVE_DATABASE_RESP_VERSION_IS_NOT_SUPPORTED", + "LOCAL_THROUGHPUT_MEASUREMENT_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "BACKUP_REGION_NAME_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "BACKUP_STATUS_REGION_NAME_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "UPDATING_LOCAL_PROPERTIES_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "DISABLING_THE_DEFAULT_USER_AND_UPDATING_A_NEW_PASSWORD_IS_NOT_ALLOWED", + "NOT_ALLOWED_TO_UPDATE_A_DATABASE_PASSWORD_WHEN_DEFAULT_USER_IS_DISABLED", + "UPDATING_SINGLE_REGION_DATABASE_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "GETTING_ACTIVE_ACTIVE_SUBSCRIPTION_VPC_PEERINGS_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "UPDATING_SINGLE_REGION_CIDR_WHITE_LIST_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "GETTING_SINGLE_REGION_CIDR_WHITE_LIST_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "ADDING_REGION_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "DELETING_REGION_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "SINGLE_REGION_SUBSCRIPTION_MUST_DEFINE_ONLY_ONE_REGION", + "CREATING_A_SINGLE_REGION_VPC_PEERING_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "UPDATING_A_SINGLE_REGION_VPC_PEERING_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "DELETING_SINGLE_REGION_VPC_PEERING_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "GETTING_SINGLE_REGION_VPC_PEERINGS_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION", + "FIXED_DATABASE_NAME_IS_MISSING", + "CREATING_FIXED_DATABASE_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "UPDATING_FIXED_DATABASE_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "DELETING_FIXED_DATABASE_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "FIXED_DATABASE_MEMORY_LIMIT_IN_GB_SUPPORTED_ONLY_FOR_PAY_AS_YOU_GO", + "FIXED_DATABASE_MEMORY_LIMIT_IN_GB_AND_DATA_SET_SIZE_SUPPORTED_ONLY_FOR_PAY_AS_YOU_GO", + "FIXED_DATABASE_FIXED_SUBSCRIPTION_REACHED_MAX_DATABASES_COUNT", + "FIXED_DATABASE_SOURCE_IPS_LIST_IS_GREATER_THAN_PLAN_MAX_COUNT_ALLOWED_SOURCE_IPS", + "FIXED_DATABASE_ENABLE_DATABASE_CLUSTERING_SUPPORTED_ONLY_FOR_PAY_AS_YOU_GO", + "FIXED_DATABASE_ENABLE_DATABASE_CLUSTERING_WITH_REDIS_SEARCH_OR_GRAPH_MODULES_IS_NOT_ALLOWED", + "FIXED_DATABASE_PAYG_MEMORY_LIMIT_IN_GB_IS_MISSING", + "FIXED_DATABASE_PAYG_MEMORY_LIMIT_IN_GB_OR_DATA_SET_SIZE_IN_GB_IS_MISSING", + "FIXED_DATABASE_ALERT_NOT_SUPPORTED", + "PAY_AS_YOU_GO_DATABASE_ALERT_NOT_SUPPORTED", + "FIXED_DATABASE_REPLICA_OF_MEMCACHED_IS_NOT_SUPPORTED", + "FIXED_DATABASE_STACK_PROTOCOL_CONTAINS_MODULES", + "FIXED_DATABASE_STACK_PROTOCOL_IS_NOT_SUPPORTED_IN_SELECTED_PLAN_OR_CLUSTER", + "FIXED_DATABASE_REDIS_PROTOCOL_IS_NOT_SUPPORTED_IN_SELECTED_PLAN", + "FIXED_DATABASE_REPLICATION_IS_NOT_SUPPORTED_IN_REQUESTED_PLAN", + "FIXED_DATABASE_OSS_CLUSTER_API_IS_NOT_SUPPORTED_IN_REQUESTED_PLAN", + "FIXED_DATABASE_USE_EXTERNAL_ENDPOINT_FOR_OSS_CLUSTER_API_NOT_SUPPORTED_IN_REQUESTED_PLAN", + "FIXED_DATABASE_REGEX_RULES_NOT_SUPPORTED_IN_REQUESTED_PLAN", + "FIXED_DATABASE_ENABLE_TLS_NOT_SUPPORTED_IN_REQUESTED_PLAN", + "FIXED_DATABASE_CLIENT_SSL_CERTIFICATE_NOT_SUPPORTED_IN_REQUESTED_PLAN", + "FIXED_DATABASE_REPLICA_OF_NOT_SUPPORTED_IN_REQUESTED_PLAN", + "FIXED_DATABASE_CLUSTER_DOES_NOT_SUPPORT_DATA_PERSISTENCE", + "FIXED_DATABASE_NO_EVICTION_IS_NOT_SUPPORTED_BY_CLUSTER", + "FIXED_DATABASE_DATA_EVICTION_POLICY_IS_NOT_SUPPORTED_BY_CLUSTER", + "FIXED_DATABASE_DATA_EVICTION_POLICY_IS_NOT_SUPPORTED_BY_SELECTED_MODULES", + "FIXED_DATABASE_EVICTION_POLICY_IS_NOT_SUPPORTED_BY_REDIS_FLEX_PLAN", + "FIXED_DATABASE_REPLICA_OF_IS_NOT_SUPPORTED_BY_SELECTED_MODULES", + "FIXED_DATABASE_DATA_PERSISTENCE_VALUE_NOT_SUPPORTED_FOR_FIXED", + "FIXED_DATABASE_DATA_EVICTION_POLICY_IS_NOT_SUPPORTED_BY_ALL_MODULES_IN_SELECTED_PLAN_OR_CLUSTER", + "FIXED_DATABASE_RESP_VERSION_IS_NOT_SUPPORTED", + "FIXED_DATABASE_REDIS_FLEX_IS_NOT_SUPPORTED", + "FIXED_DATABASE_STACK_PROTOCOL_IS_NOT_SUPPORTED_FOR_REDIS_FLEX", + "FIXED_DATABASE_MEMCACHED_PROTOCOL_IS_NOT_SUPPORTED_FOR_REDIS_FLEX", + "FIXED_DATABASE_NUMBER_OF_SHARDS_IS_NOT_SUPPORTED_FOR_CURRENT_ACCOUNT", + "FIXED_DATABASE_NUMBER_OF_SHARDS_REQUIRES_DATABASE_CLUSTERING_ENABLED", + "FIXED_DATABASE_NUMBER_OF_SHARDS_INVALID_VALUE", + "PAYMENT_INFO_NOT_ALLOWED_WHEN_ACCOUNT_POC_ACTIVE", + "FIXED_DATABASE_NUMBER_OF_SHARDS_SUPPORTED_ONLY_FOR_PAY_AS_YOU_GO", + "FIXED_DATABASE_NUMBER_OF_SHARDS_NOT_A_MULTIPLE_OF_CURRENT_VALUE", + "VPC_ID_NOT_ALLOWED_WITH_INTERNAL_CLOUD_ACCOUNT", + "CLIENT_SSL_CERTIFICATE_IS_NOT_ALLOWED_WITHOUT_ENABLE_TLS_IS_TRUE", + "MARKETPLACE_PAYMENT_INFO_COLLISION", + "ACCOUNT_MARKETPLACE_IS_NOT_ACTIVE", + "ACCOUNT_MARKETPLACE_NOT_FOUND", + "ACCOUNT_MARKETPLACE_NOT_SUPPORT_NON_HOSTED_ACCOUNTS", + "PAYMENT_INVALID_CARD_NUMBER", + "PAYMENT_INVALID_CCV", + "PAYMENT_INVALID_CARD_TYPE", + "PAYMENT_CVV_MISSING", + "PAYMENT_GENERAL_ERROR", + "ACL_USER_NAME_ALREADY_EXISTS", + "ACL_USER_NAME_NOT_VALID", + "ACL_USER_NOT_FOUND", + "ACL_USER_NAME_IS_MISSING", + "ACL_ROLE_NAME_IS_MISSING", + "ACL_ROLE_REDIS_RULE_MUST_BE_DEFINED_ONLY_ONCE_PER_DATABASE", + "ACL_ROLE_REDIS_RULE_ALREADY_EXISTS_FOR_REQUESTED_RESOURCE", + "ACL_ROLE_REDIS_RULES_IS_MISSING", + "ACL_ROLE_REDIS_RULES_DATABASES_SPEC_IS_MISSING", + "ACL_ROLE_REDIS_RULES_DATABASES_DATABASE_ID_IS_MISSING", + "ACL_ROLE_REDIS_RULES_DATABASES_SUBSCRIPTION_ID_IS_MISSING", + "ACL_ROLE_REDIS_RULES_DATABASES_REGIONS_IS_MISSING", + "ACL_ROLE_REDIS_RULES_DATABASES_REGION_MUST_BE_CRDB", + "ACL_ROLE_REDIS_RULES_DATABASES_REGION_NOT_IN_PLAN", + "ACL_ROLE_REDIS_RULES_DATABASES_REGION_NOT_UNIQUE", + "ACL_ROLE_REDIS_RULES_DATABASES_REGION_IS_NOT_BELONGS_TO_DATABASE", + "ACL_ROLE_NAME_NOT_VALID", + "ACL_ROLE_DOES_NOT_EXISTS", + "ACL_USER_PASSWORD_NOT_VALID", + "ACL_USER_PASSWORD_IS_MISSING", + "ACL_USER_CREATION_FAILURE", + "ACL_REDIS_RULE_NAME_IS_MISSING", + "ACL_REDIS_RULE_NAME_ALREADY_EXISTS", + "ACL_REDIS_RULE_NAME_NOT_VALID", + "ACL_REDIS_RULE_NAME_NOT_IN_RANGE", + "ACL_REDIS_RULE_PATTERN_IS_MISSING", + "ACL_REDIS_RULE_PATTERN_NOT_VALID", + "ACL_REDIS_RULE_INVALID_PUBSUB_PATTERN", + "ACL_REDIS_RULE_ACCOUNT_NOT_SUPPORT_PUBSUB_PATTERN", + "ACL_REDIS_RULE_ALLCHANNELS_BEFORE_SPECIFIC_CHANNEL", + "ACL_REDIS_RULE_INVALID_CATEGORY_RULE_PATTERN", + "ACL_REDIS_RULE_INVALID_KEYSPACE_RULE_PATTERN", + "ACL_REDIS_RULE_INVALID_COMMAND_OR_MODULE_COMMAND_RULE_PATTERN", + "ACL_REDIS_RULE_ALLKEYS_BEFORE_SPECIFIC_KEY", + "ACL_REDIS_RULE_CREATION_FAILURE", + "ACL_REDIS_RULE_NOT_FOUND", + "ACL_REDIS_RULE_CANNOT_UPDATE_DEFAULT", + "ACL_REDIS_RULE_CANNOT_DELETE_DEFAULT", + "ACL_REDIS_RULE_CANNOT_DELETE_WHEN_ASSOCIATED_WITH_ROLES", + "ACL_REDIS_RULE_NOT_ACTIVE", + "ACL_GENERAL_ERROR", + "ACL_ROLE_NAME_ALREADY_EXISTS", + "ACL_ROLE_HAS_ACTIVE_USERS_AND_CANNOT_BE_DELETED", + "ACL_ROLE_IS_IN_PENDING_STATUS_AND_CANNOT_BE_DELETED", + "ACL_ROLE_IS_IN_PENDING_STATUS_AND_CANNOT_BE_UPDATED", + "ACL_ROLE_NOT_FOUND", + "ACL_ROLE_ID_IS_MISSING", + "ACL_REDIS_RULE_DOES_NOT_EXISTS", + "ACL_REDIS_RULE_INVALID_KEY_PERMISSION_PATTERN", + "ACL_REDIS_RULE_INVALID_SELECTORS_PATTERN", + "BDB_IS_NOT_IN_CORRECT_VERSION_FOR_GIVEN_ACL_VERSION", + "USER_NOT_FOUND", + "USER_INSUFFICIENT_ROLE", + "USER_NAME_IS_INVALID", + "USER_CANNOT_UPDATE_IT_IS_OWN_ROLE", + "USER_WITHOUT_OWNER_PERMISSION_CANNOT_UPDATE_USERS", + "USER_WITHOUT_OWNER_PERMISSION_CANNOT_PERFORM_ACTIONS_ON_USERS", + "USER_CANNOT_BE_UPDATED_OR_DELETED_BEFORE_VERIFICATION", + "USER_ROLE_DOES_NOT_EXISTS", + "USER_ROLE_IS_MISSING", + "USER_CANNOT_DELETE_OWN_USER", + "ENTITY_NOT_FOUND", + "FIXED_SUBSCRIPTION_CREATE_PLAN_NOT_FOUND", + "FIXED_SUBSCRIPTION_UPDATE_INVALID_PLAN", + "FIXED_SUBSCRIPTION_PLAN_NOT_PROVIDED", + "FIXED_SUBSCRIPTION_ACCOUNT_ALREADY_HAS_A_FREE_PLAN", + "FIXED_MISMATCH_BETWEEN_REQUEST_PLAN_CLOUD_PROVIDER_AND_SUBSCRIPTION_CLOUD_PROVIDER", + "FIXED_MISMATCH_BETWEEN_REQUEST_PLAN_REGION_AND_SUBSCRIPTION_REGION", + "FIXED_SUBSCRIPTION_PLAN_MAX_DATABASES_SMALLER_THEN_CURRENT_SUBSCRIPTION_DATABASES_COUNT", + "FIXED_SUBSCRIPTION_PLAN_SIZE_SMALLER_THEN_CURRENT_SUBSCRIPTION_USAGE", + "FIXED_SUBSCRIPTION_PLAN_NOT_SUPPORT_REPLICA_OF", + "FIXED_SUBSCRIPTION_PLAN_DATABASES_ARE_RESTRICTED_TO_A_SINGLE_CLUSTER", + "FIXED_SUBSCRIPTION_PLAN_NOT_SUPPORT_TLS", + "FIXED_SUBSCRIPTION_PLAN_CANNOT_CHANGED_FROM_AVAILABILITY_OF_SINGLE_ZONE_OR_NO_REPLICATION_TO_MULTI_ZONE", + "FIXED_SUBSCRIPTION_PLAN_CANNOT_CHANGED_FROM_AVAILABILITY_OF_MULTI_ZONE_TO_SINGLE_ZONE_OR_NO_REPLICATION", + "FIXED_SUBSCRIPTION_PLAN_MAX_SOURCE_IPS_IS_SMALLER_THEN_ONE_OF_EXISTING_DATABSE_SOURCE_IPS", + "FIXED_SUBSCRIPTION_INVALID_NAME", + "FIXED_SUBSCRIPTION_NAME_NOT_PROVIDED", + "REDIS_FLEX_PLAN_CANNOT_BE_UPDATED_TO_NON_REDIS_FLEX", + "NON_REDIS_FLEX_PLAN_CANNOT_BE_UPDATED_TO_REDIS_FLEX_PLAN", + "DELETING_A_FIXED_SUBSCRIPTION_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "UPDATING_A_FIXED_SUBSCRIPTION_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "UPDATING_A_FIXED_SUBSCRIPTION_PLAN_IS_NOT_ALLOWED_WHILE_THE_SUBSCRIPTION_OR_BDB_IS_PENDING", + "FIXED_PAYMENT_INFO_NOT_ALLOWED_IN_FREE_FIXED_PLAN", + "FREE_PLAN_IS_ALLOWED_ONLY_FOR_ACCOUNTS_WITH_VALID_PAYMENT_INFO", + "BACKUP_A_FIXED_DATABASE_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "IMPORT_A_FIXED_DATABASE_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION", + "TOO_MANY_PENDING_SUBSCRIPTIONS", + "BAD_REQUEST", + "GENERAL_ERROR", + "CONFLICT_ERROR", + "UNKNOWN_STATUS", + "CRDB_FLUSH_FAILURE", + "CRDB_FLUSH_ACTION_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION", + "DATABASE_NAME_CHANGE_NOT_SUPPORTED", + "DATABASE_INVALID_LOCATION_BACKUP", + "DATABASE_GENERAL_ERROR_BACKUP", + "MAINTENANCE_WINDOW_INVALID_MAINTENANCE_WINDOW_SPEC_PROVIDED", + "MAINTENANCE_WINDOW_INVALID_MAINTENANCE_WINDOW_MODE_PROVIDED", + "MAINTENANCE_WINDOW_MANUAL_MODE_WITH_NO_MAINTENANCE_WINDOWS", + "MAINTENANCE_WINDOW_AUTOMATIC_MODE_WITH_MAINTENANCE_WINDOWS", + "MAINTENANCE_WINDOW_GREATER_THAN_MAXIMUM_ALLOWABLE_MAINTENANCE_WINDOWS_PROVIDED", + "MAINTENANCE_WINDOW_INVALID_START_HOUR", + "MAINTENANCE_WINDOW_INVALID_DURATION_IN_HOURS", + "MAINTENANCE_WINDOW_INVALID_DAYS", + "MAINTENANCE_WINDOW_DUPLICATE_DAYS", + "MAINTENANCE_WINDOW_INVALID_DURATION_FOR_ROF_SUBSCRIPTION", + "MAINTENANCE_WINDOW_UNKNOWN_MEMORY_STORAGE_TYPE" + ] + }, + "additionalInfo": { + "type": "string" + } + } + }, + "CloudTags": { + "type": "object", + "properties": { + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "accountId": { + "type": "integer", + "format": "int32" + } + }, + "description": "Redis list of database tags", + "example": { + "accountId": 40131, + "tags": [ + { + "key": "environment", + "value": "production", + "createdAt": "2024-05-21T20:02:21+02:00", + "updatedAt": "2024-06-21T20:02:21+02:00", + "links": [] + }, + { + "key": "owner", + "value": "Clifford O'neill", + "createdAt": "2024-05-21T20:02:21+02:00", + "updatedAt": "2024-06-21T20:02:21+02:00", + "links": [] + } + ], + "links": [ + { + "rel": "self", + "href": "http://localhost:8081/v1/fixed/subscriptions/178867/databases/51412930/tags", + "type": "GET" + } + ] + } + }, + "RedisVersion": { + "type": "object", + "properties": { + "version": { + "type": "string" + }, + "eolDate": { + "type": "string", + "format": "date" + }, + "isPreview": { + "type": "boolean" + }, + "isDefault": { + "type": "boolean" + } + } + }, + "AclRoleCreateRequest": { + "required": [ + "name", + "redisRules" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Required. ACL role name", + "example": "ACL-role-example" + }, + "redisRules": { + "type": "array", + "description": "Required. List of ACL redis rules to associated with the requested ACL role", + "items": { + "$ref": "#/components/schemas/AclRoleRedisRuleSpec" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "ACL role create request" + }, + "DatabaseBackupRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "regionName": { + "type": "string", + "description": "Optional. Name of cloud provider region where the local database is located. When backing up an active-active database, backup is done separately for each local database at a specified region." + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Database backup request message" + }, + "DataPersistenceOptions": { + "type": "object", + "properties": { + "dataPersistence": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DataPersistenceEntry" + } + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "example": { + "dataPersistence": [ + { + "name": "none", + "description": "None" + }, + { + "name": "aof-every-1-second", + "description": "Append only file (AOF) - fsync every 1 second" + }, + { + "name": "aof-every-write", + "description": "Append only file (AOF) - fsync every write" + }, + { + "name": "snapshot-every-1-hour", + "description": "Snapshot every 1 hour" + }, + { + "name": "snapshot-every-6-hours", + "description": "Snapshot every 6 hour" + }, + { + "name": "snapshot-every-12-hours", + "description": "Snapshot every 12 hour" + } + ], + "links": [ + { + "rel": "self", + "href": "https://api-cloudapi.qa.redislabs.com/v1/data-persistence", + "type": "GET" + } + ] + } + }, + "DatabaseTagCreateRequest": { + "required": [ + "key", + "value" + ], + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Required. Database tag key", + "example": "environment" + }, + "value": { + "type": "string", + "description": "Required. Database tag value", + "example": "production" + }, + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Database tag" + }, + "DatabaseBackupConfig": { + "type": "object", + "properties": { + "active": { + "type": "boolean", + "description": "Optional, determine whether backup should be active or not. Default: null" + }, + "interval": { + "type": "string", + "description": "Required when active is true, represent the interval between backups, should be in the following format every-x-hours where x is one of (24,12,6,4,2,1). for example: \"every-4-hours\"" + }, + "backupInterval": { + "type": "string", + "readOnly": true, + "enum": [ + "EVERY_24_HOURS", + "EVERY_12_HOURS", + "EVERY_6_HOURS", + "EVERY_4_HOURS", + "EVERY_2_HOURS", + "EVERY_1_HOURS" + ] + }, + "timeUTC": { + "type": "string", + "description": "Optional. State the hour which the backup will take place. available only for 12 or 24 hours backup interval. should be specified an hour for example 2 PM as 14:00" + }, + "databaseBackupTimeUTC": { + "type": "string", + "readOnly": true, + "enum": [ + "HOUR_ONE", + "HOUR_TWO", + "HOUR_THREE", + "HOUR_FOUR", + "HOUR_FIVE", + "HOUR_SIX", + "HOUR_SEVEN", + "HOUR_EIGHT", + "HOUR_NINE", + "HOUR_TEN", + "HOUR_ELEVEN", + "HOUR_TWELVE" + ] + }, + "storageType": { + "type": "string", + "description": "Required when active is true, Type of storage source from which to import the database file (RDB files) or data (Redis connection)" + }, + "backupStorageType": { + "type": "string", + "readOnly": true, + "enum": [ + "http", + "redis", + "ftp", + "aws-s3", + "azure-blob-storage", + "google-blob-storage" + ] + }, + "storagePath": { + "type": "string", + "description": "Required when active is true, Path for backup" + } + }, + "description": "Optional. Database remote backup configuration" + }, + "CrdbFlushRequest": { + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Active-Active database flush request message" + }, + "MaintenanceWindowSpec": { + "required": [ + "days", + "durationInHours", + "startHour" + ], + "type": "object", + "properties": { + "startHour": { + "type": "integer", + "description": "Required. Hour of the day that is the start of the maintenance window. Valid input is in range 0-23.", + "format": "int32", + "example": 12 + }, + "durationInHours": { + "type": "integer", + "description": "Required. The duration for which the maintenance window lasts in hours. Valid input is in range 4-24 (or 8-24 if using flash memory).", + "format": "int32", + "example": 8 + }, + "days": { + "type": "array", + "description": "Required. The days for which the maintenance window applies. Valid input is array containing: \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\".", + "example": [ + "Monday", + "Wednesday" + ], + "items": { + "type": "string", + "description": "Required. The days for which the maintenance window applies. Valid input is array containing: \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\".", + "example": "[\"Monday\",\"Wednesday\"]" + } + } + }, + "description": "Maintenance window specifications if mode is set to 'manual'. Up to 7 windows can be provided." + }, + "ActiveActiveVpcPeeringCreateGcpRequest": { + "required": [ + "vpcNetworkName", + "vpcProjectUid" + ], + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "sourceRegion": { + "type": "string", + "description": "Name of region to create a VPC peering from" + }, + "vpcProjectUid": { + "type": "string", + "description": "VPC project uid", + "example": "" + }, + "vpcNetworkName": { + "type": "string", + "description": "VPC network name", + "example": "" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "VPC peering creation request message" + }, + "SubscriptionCreateRequest": { + "required": [ + "cloudProviders", + "databases" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Optional. Subscription name", + "example": "My new subscription" + }, + "dryRun": { + "type": "boolean", + "description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'false'", + "example": false + }, + "deploymentType": { + "type": "string", + "description": "Optional. When 'single-region' or null: Creates a single region subscription. When 'active-active': creates an active-active (multi-region) subscription", + "example": "single-region", + "enum": [ + "single-region", + "active-active" + ] + }, + "paymentMethod": { + "type": "string", + "description": "Optional. The payment method for the requested subscription. If ‘credit-card’ is specified, ‘paymentMethodId’ must be defined. Default: 'credit-card", + "enum": [ + "credit-card", + "marketplace" + ] + }, + "paymentMethodId": { + "type": "integer", + "description": "Optional. A valid payment method that was pre-defined in the current account. This value is Optional if ‘paymentMethod’ is ‘marketplace’, but Required for all other account types.", + "format": "int32" + }, + "memoryStorage": { + "type": "string", + "description": "Optional. Memory storage preference: either 'ram' or a combination of 'ram-and-flash'. Default: 'ram'", + "example": "ram", + "enum": [ + "ram", + "ram-and-flash" + ] + }, + "cloudProviders": { + "type": "array", + "description": "Required. Cloud hosting & networking details", + "items": { + "$ref": "#/components/schemas/SubscriptionSpec" + } + }, + "databases": { + "type": "array", + "description": "Required. Databases specifications for each planned database", + "items": { + "$ref": "#/components/schemas/SubscriptionDatabaseSpec" + } + }, + "redisVersion": { + "type": "string", + "description": "Optional. If specified, the redisVersion defines the Redis version of the databases in the subscription. If omitted, the Redis version will be the default (available in 'GET /subscriptions/redis-versions')", + "example": "7.2" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Subscription create request" + }, + "RedisVersions": { + "type": "object", + "properties": { + "redisVersions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RedisVersion" + } + } + } + }, + "CloudAccountUpdateRequest": { + "required": [ + "accessKeyId", + "accessSecretKey", + "consolePassword", + "consoleUsername" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "name", + "example": "My new Cloud Account" + }, + "cloudAccountId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "accessKeyId": { + "type": "string", + "description": "Required. Cloud provider access key", + "example": "****" + }, + "accessSecretKey": { + "type": "string", + "description": "Required. Cloud provider secret key", + "example": "****" + }, + "consoleUsername": { + "type": "string", + "description": "Required. Cloud provider management console username", + "example": "me@mycompany.com" + }, + "consolePassword": { + "type": "string", + "description": "Required. Cloud provider management console password", + "example": "****" + }, + "signInLoginUrl": { + "type": "string", + "description": "Optional. Cloud provider management console login URL", + "example": "https://.signin.aws.amazon.com/console" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Cloud Account definition" + }, + "SubscriptionPricings": { + "type": "object", + "properties": { + "pricing": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubscriptionPricing" + } + } + } + }, + "SubscriptionPricing": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "typeDetails": { + "type": "string" + }, + "quantity": { + "type": "integer", + "format": "int32" + }, + "quantityMeasurement": { + "type": "string" + }, + "pricePerUnit": { + "type": "number", + "format": "double" + }, + "priceCurrency": { + "type": "string" + }, + "pricePeriod": { + "type": "string" + }, + "region": { + "type": "string" + } + } + }, + "ReplicaOfSpec": { + "required": [ + "syncSources" + ], + "type": "object", + "properties": { + "syncSources": { + "type": "array", + "description": "Optional. This database will be a replica of the specified Redis databases provided as a list of one or more DatabaseSyncSourceSpec objects.", + "items": { + "$ref": "#/components/schemas/DatabaseSyncSourceSpec" + } + } + }, + "description": "Optional. Replica Of configuration" + }, + "DatabaseThroughputSpec": { + "required": [ + "by", + "value" + ], + "type": "object", + "properties": { + "by": { + "type": "string", + "description": "Required. Throughput measurement method. Either 'number-of-shards' or 'operations-per-second'", + "enum": [ + "operations-per-second", + "number-of-shards" + ] + }, + "value": { + "type": "integer", + "description": "Required. Throughput value (as applies to selected measurement method)", + "format": "int64", + "example": 10000 + } + }, + "description": "Optional. Throughput measurement method. Default: 25000 ops/sec" + }, + "FixedDatabase": { + "type": "object", + "properties": { + "databaseId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "protocol": { + "type": "string", + "enum": [ + "redis", + "memcached", + "stack" + ] + }, + "provider": { + "type": "string" + }, + "region": { + "type": "string" + }, + "redisVersionCompliance": { + "type": "string" + }, + "respVersion": { + "type": "string", + "enum": [ + "resp2", + "resp3" + ] + }, + "status": { + "type": "string" + }, + "planMemoryLimit": { + "type": "number", + "format": "double" + }, + "planDatasetSize": { + "type": "number", + "format": "double" + }, + "memoryLimitMeasurementUnit": { + "type": "string" + }, + "memoryLimitInGb": { + "type": "number", + "format": "double" + }, + "datasetSizeInGb": { + "type": "number", + "format": "double" + }, + "memoryUsedInMb": { + "type": "number", + "format": "double" + }, + "networkMonthlyUsageInByte": { + "type": "number", + "format": "double" + }, + "memoryStorage": { + "type": "string", + "enum": [ + "ram", + "ram-and-flash" + ] + }, + "redisFlex": { + "type": "boolean" + }, + "supportOSSClusterApi": { + "type": "boolean" + }, + "useExternalEndpointForOSSClusterApi": { + "type": "boolean" + }, + "dataPersistence": { + "type": "string", + "enum": [ + "none", + "aof-every-1-second", + "aof-every-write", + "snapshot-every-1-hour", + "snapshot-every-6-hours", + "snapshot-every-12-hours" + ] + }, + "replication": { + "type": "boolean" + }, + "dataEvictionPolicy": { + "type": "string", + "enum": [ + "allkeys-lru", + "allkeys-lfu", + "allkeys-random", + "volatile-lru", + "volatile-lfu", + "volatile-random", + "volatile-ttl", + "noeviction" + ] + }, + "activatedOn": { + "type": "string", + "format": "date-time" + }, + "lastModified": { + "type": "string", + "format": "date-time" + }, + "publicEndpoint": { + "type": "string" + }, + "privateEndpoint": { + "type": "string" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "example": { + "databaseId": 51324587, + "name": "bdb", + "protocol": "stack", + "provider": "AWS", + "region": "us-east-1", + "status": "draft", + "planMemoryLimit": 250, + "respVersion": "resp2", + "memoryLimitMeasurementUnit": "MB", + "memoryUsedInMb": 7, + "memoryStorage": "ram", + "dataPersistence": "none", + "replication": true, + "dataEvictionPolicy": "noeviction", + "clustering": { + "enabled": false, + "regexRules": [ + { + "ordinal": 0, + "pattern": ".*\\{(?.*)\\}.*" + }, + { + "ordinal": 1, + "pattern": "(?.*)" + } + ], + "hashingPolicy": "standard" + }, + "security": { + "defaultUserEnabled": true, + "password": "myCustomPassword", + "sourceIps": [ + "0.0.0.0/0" + ] + }, + "modules": [ + { + "id": 18534, + "name": "RediSearch", + "capabilityName": "Search and query", + "version": "2.2.6", + "description": "A comprehensive, expressive, flexible, fast and developer-friendly search and query engine for the diversity of data types in Redis with state-of-the-art scoring algorithms", + "parameters": [] + }, + { + "id": 18535, + "name": "RedisBloom", + "capabilityName": "Probabilistic", + "version": "2.2.12", + "description": "A set of probabilistic data structures to Redis, including Bloom filter, Cuckoo filter, Count-min sketch, Top-K, and t-digest", + "parameters": [] + }, + { + "id": 18536, + "name": "RedisJSON", + "capabilityName": "JSON", + "version": "2.0.6", + "description": "Native JSON Data Type for Redis, allowing for atomic reads and writes of sub-elements", + "parameters": [] + }, + { + "id": 18537, + "name": "RedisTimeSeries", + "capabilityName": "Time series", + "version": "1.6.8", + "description": "Time-Series data structure for Redis", + "parameters": [] + } + ], + "alerts": [ + { + "name": "connections-limit", + "value": 80, + "defaultValue": 80 + } + ], + "backup": { + "remoteBackupEnabled": false + }, + "links": [] + } + }, + "DatabaseImportRequest": { + "required": [ + "importFromUri", + "sourceType" + ], + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "sourceType": { + "type": "string", + "description": "Required. Type of storage source from which to import the database file (RDB files) or data (Redis connection)", + "example": "http", + "enum": [ + "http", + "redis", + "ftp", + "aws-s3", + "azure-blob-storage", + "google-blob-storage" + ] + }, + "importFromUri": { + "type": "array", + "description": "Required. One or more URIs to source data files or Redis databases, as appropriate to specified source type (example: ['http://mydomain.com/redis-backup-file1', 'http://mydomain.com/redis-backup-file2'])", + "items": { + "type": "string", + "description": "Required. One or more URIs to source data files or Redis databases, as appropriate to specified source type (example: ['http://mydomain.com/redis-backup-file1', 'http://mydomain.com/redis-backup-file2'])" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Database import request" + }, + "ActiveActiveRegionCreateRequest": { + "required": [ + "deploymentCIDR" + ], + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "region": { + "type": "string", + "description": "Name of region to add as defined by cloud provider" + }, + "deploymentCIDR": { + "type": "string", + "description": "Deployment CIDR mask. \nDefault: 192.168.0.0/24", + "example": "10.0.0.0/24" + }, + "dryRun": { + "type": "boolean", + "description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'false'", + "example": false + }, + "databases": { + "type": "array", + "description": "List of databases with local throughput for the new region", + "items": { + "$ref": "#/components/schemas/CrdbRegionSpec" + } + }, + "respVersion": { + "type": "string", + "description": "Optional. RESP version must be compatible with Redis version.", + "example": "resp3", + "enum": [ + "resp2", + "resp3" + ] + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Active active region creation request message" + }, + "FixedDatabaseImportRequest": { + "required": [ + "importFromUri", + "sourceType" + ], + "type": "object", + "properties": { + "subscriptionId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "databaseId": { + "type": "integer", + "format": "int32", + "readOnly": true + }, + "sourceType": { + "type": "string", + "description": "Required. Type of storage source from which to import the database file (RDB files) or data (Redis connection)", + "example": "http", + "enum": [ + "http", + "redis", + "ftp", + "aws-s3", + "azure-blob-storage", + "google-blob-storage" + ] + }, + "importFromUri": { + "type": "array", + "description": "Required. One or more URIs to source data files or Redis databases, as appropriate to specified source type (example: ['http://mydomain.com/redis-backup-file1', 'http://mydomain.com/redis-backup-file2'])", + "items": { + "type": "string", + "description": "Required. One or more URIs to source data files or Redis databases, as appropriate to specified source type (example: ['http://mydomain.com/redis-backup-file1', 'http://mydomain.com/redis-backup-file2'])" + } + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Database import request" + }, + "VpcPeeringCreateBaseRequest": { + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "commandType": { + "type": "string", + "readOnly": true + } + }, + "description": "Vpc peering creation request message", + "oneOf": [ + { + "$ref": "#/components/schemas/VpcPeeringCreateAwsRequest" + }, + { + "$ref": "#/components/schemas/VpcPeeringCreateGcpRequest" + } + ] + } + }, + "securitySchemes": { + "x-api-key": { + "type": "apiKey", + "name": "x-api-key", + "in": "header" + }, + "x-api-secret-key": { + "type": "apiKey", + "name": "x-api-secret-key", + "in": "header" + } + } + } + } + \ No newline at end of file diff --git a/content/operate/rc/api/examples/create-database.md b/content/operate/rc/api/examples/create-database.md index f5a4cb144..f0c82f28f 100644 --- a/content/operate/rc/api/examples/create-database.md +++ b/content/operate/rc/api/examples/create-database.md @@ -46,10 +46,4 @@ The JSON body contains only the most basic, required parameters in order to crea ### Additional database parameters -There are many additional parameters and settings that can be defined on database creation: - -- Review the database parameters and options in the [Swagger OpenAPI documentation](https://api.redislabs.com/v1/swagger-ui.html#/Databases). -- Select `POST Create database`. -- Under `Database definition`, click on the `Model` options. - -{{< image filename="/images/rv/api/swagger-database-create-documentation.png" >}} +There are many additional parameters and settings that can be defined on database creation. Review the database parameters and options in the [Full API documentation]({{< relref "/operate/rc/api/api-reference#tag/Databases-Pro/operation/createDatabase" >}}). \ No newline at end of file diff --git a/layouts/_default/apireference.html b/layouts/_default/apireference.html new file mode 100644 index 000000000..22b7dc9c4 --- /dev/null +++ b/layouts/_default/apireference.html @@ -0,0 +1,80 @@ + + + + + Redis Cloud API + {{ partial "scss.html" (dict "path" "scss/style.scss") }} + {{ partial "css.html" (dict "path" "css/index.css") }} + {{ $relref := printf "%s%s" .Site.BaseURL "/operate/rc/api/" }} + + + + + +
+ + +
+ + + + + +
+ + + +
+ + + \ No newline at end of file