For fully automated deployments of FlashGrid Cluster or FlashGrid Server, it may be preferable to use REST API instead of FlashGrid Launcher GUI.
Note: Access to the REST API is restricted to approved customers only and requires a key. Please contact technical support if you need access to the REST API.
Terminology used:
- IaC template means a cloud-specific Infrastructure-as-Code template for use with Amazon CloudFormation, Azure Resource Manager, Google Cloud Deployment Manager, or Terraform.
- FlashGrid configuration file means a file describing a FlashGrid Cluster or FlashGrid Server system. This file is used by FlashGrid Launcher or the REST API for generating an IaC template.
- System means either FlashGrid Cluster or FlashGrid Server (a standalone database server).
Endpoints
The REST API endpoints have the following address format: https://<version>.cloudprov.flashgrid.io/api/gen_cf
<version>
corresponds to a FlashGrid Launcher release version. For example, 2405
is for version 24.05. The following REST API endpoints are currently valid:
https://2405.cloudprov.flashgrid.io/api/gen_cf
https://2401.cloudprov.flashgrid.io/api/gen_cf
https://2311.cloudprov.flashgrid.io/api/gen_cf
-
https://2310.cloudprov.flashgrid.io/api/gen_cf
(for GCP only) -
https://2309.cloudprov.flashgrid.io/api/gen_cf
(for AWS and Azure only)
Retired Endpoints
The endpoints are normally planned for retirement after 1 year. This is done to ensure that the systems are deployed with the latest security patches that are included in newer versions. For example, the endpoint of version 21.08 was released in August 2021 and retired in August 2022.
Please contact FlashGrid support if you need to use an endpoint after its planned retirement date.
The following endpoints are now retired and no longer accessible:
-
https://2308.cloudprov.flashgrid.io/api/gen_cf
(for Azure only) https://2306.cloudprov.flashgrid.io/api/gen_cf
https://2304.cloudprov.flashgrid.io/api/gen_cf
https://2302.cloudprov.flashgrid.io/api/gen_cf
https://2212.cloudprov.flashgrid.io/api/gen_cf
https://2209.cloudprov.flashgrid.io/api/gen_cf
https://2206.cloudprov.flashgrid.io/api/gen_cf
https://2203.cloudprov.flashgrid.io/api/gen_cf
https://2111.cloudprov.flashgrid.io/api/gen_cf
https://2108-cluster.cloudprov.flashgrid.io/api/gen_cf
https://2106-cluster.cloudprov.flashgrid.io/api/gen_cf
https://2103-cluster.cloudprov.flashgrid.io/api/gen_cf
https://2102-cluster.cloudprov.flashgrid.io/api/gen_cf
https://2010-cluster.cloudprov.flashgrid.io/api/gen_cf
Input
The REST API accepts the following inputs:
-
api-key:<accesskey>
- the API access key provided in the request header - FlashGrid configuration file provided as POST binary data.
Example of using the API
curl -o generated_template.json -H api-key:mycompany-4717983475934759 --data-binary @my-flashgrid-config-file.cfg https://2401.cloudprov.flashgrid.io/api/gen_cf
This example will generate an IaC template from my-flashgrid-config-file.cfg
configuration file and will save it as a file named generated_template.json
.
SSL certificate validation
When using curl, you may get the following error if your OS does not have the corresponding Certification Authority certificate installed:
curl: (60) Peer's Certificate issuer is not recognized.
To prevent this error, you may choose to install the certificate used by the endpoint or to skip certificate validation by adding --insecure
option to the curl command.
Creating and managing FlashGrid configuration files for use with the REST API
The following scenarios provide recommendations for creating and managing FlashGrid configuration files depending on a specific scenario.
-
Deploying new system(s) for new database/application(s)
Use FlashGrid Launcher GUI to create and save the initial version of a FlashGrid configuration file. You can start with a blank configuration or upload a FlashGrid configuration file that you created previously. Subsequently, the configuration file can be stored in a version control system, cloned, and customized as needed.
-
Deploying system(s) in Dev/Test/QA/Pre-prod environment that need to match the configuration of a system in the Prod environment
Start with the FlashGrid configuration file used for deploying the production system and customize it as needed for the new environment. For consistency, use the same API version.
-
Deploying a secondary system (with configuration matching the primary system) in a different region for DR purposes.
Start with the FlashGrid configuration file used for deploying the production system and customize it as needed for the new environment. For consistency, use the same API version.
-
Re-deploying a system in case it is damaged or destroyed by mistake
Use the same FlashGrid configuration file that was used to create the system initially. In some cases, using a newer API version for the deployment may be preferred or required, for example, if the initial system was deployed a long time ago and has since been updated to newer OS and/or software versions. Using a newer API version might require modifications to some of the parameters stored in the FlashGrid configuration file.
Submit a request to technical support if you need help with modifying the FlashGrid configuration file.