Composite datasource API schema

service.cds.graphqls

This API is available in Enterprise and AWS and GCP editions only

To authenticate API requests, you’ll need an API token. Learn how to generate an access token.

See usage examples in the cloudbeaver-graphql-examples repository.

You can try queries in the built-in GraphQL console, available on your server at https://your-server-address/api/gql/console. This tool lets you test requests directly from your browser.

For a live example, see the demo GraphQL console.

API Endpoints
https://your-server-address/api/gql

Queries

getFederatedDatabaseConfiguration

Description

Returns the federated database configuration for a connection.

Response

Returns an CDSConfiguration

Arguments
Name Description
projectId - ID!
connectionId - ID!

Example

Query
query getFederatedDatabaseConfiguration(
  $projectId: ID!,
  $connectionId: ID!
) {
  getFederatedDatabaseConfiguration(
    projectId: $projectId,
    connectionId: $connectionId
  ) {
    dataSources {
      ...CDSDataSourceFragment
    }
  }
}
Variables
{"projectId": "<id>", "connectionId": "<id>"}
Response
{
  "data": {
    "getFederatedDatabaseConfiguration": {
      "dataSources": [CDSDataSource]
    }
  }
}

Mutations

saveFederatedDatabaseConfiguration

Description

Saves the federated database configuration for a connection.

Response

Returns an CDSConfiguration!

Arguments
Name Description
projectId - ID!
connectionId - ID!
configuration - CDSConfigurationInput!

Example

Query
mutation saveFederatedDatabaseConfiguration(
  $projectId: ID!,
  $connectionId: ID!,
  $configuration: CDSConfigurationInput!
) {
  saveFederatedDatabaseConfiguration(
    projectId: $projectId,
    connectionId: $connectionId,
    configuration: $configuration
  ) {
    dataSources {
      ...CDSDataSourceFragment
    }
  }
}
Variables
{
  "projectId": "<id>",
  "connectionId": "<id>",
  "configuration": CDSConfigurationInput
}
Response
{
  "data": {
    "saveFederatedDatabaseConfiguration": {
      "dataSources": [CDSDataSource]
    }
  }
}

Types

Boolean

Description

The Boolean scalar type represents true or false.

Example
"<boolean>"

CDSCatalog

Fields
Field Name Description
sourceName - String!
federatedName - String!
Example
{"sourceName": "<string>", "federatedName": "<string>"}

CDSCatalogInput

Fields
Input Field Description
n - String! Source catalog name (sourceName).
f - String! Catalog name in the federated database (federatedName).
Example
{"n": "<string>", "f": "<string>"}

CDSConfiguration

Fields
Field Name Description
dataSources - [CDSDataSource!]!
Example
{"dataSources": [CDSDataSource]}

CDSConfigurationInput

Fields
Input Field Description
dataSources - [CDSDataSourceInput!]! Source data sources included in the federated database.
Example
{"dataSources": [CDSDataSourceInput]}

CDSDataSource

Fields
Field Name Description
dataSourceId - ID!
enabled - Boolean!
catalog - CDSCatalog
schemas - [CDSSchema!]!
Example
{
  "dataSourceId": "<id>",
  "enabled": "<boolean>",
  "catalog": CDSCatalog,
  "schemas": [CDSSchema]
}

CDSDataSourceInput

Fields
Input Field Description
ds - ID! Source data source ID (dataSourceId).
on - Boolean! Whether the source data source is enabled (enabled).
catalog - CDSCatalogInput Source catalog mapping.
schemas - [CDSSchemaInput!]! Source schema mappings.
Example
{
  "ds": "<id>",
  "on": "<boolean>",
  "catalog": CDSCatalogInput,
  "schemas": [CDSSchemaInput]
}

CDSSchema

Fields
Field Name Description
sourceName - String
federatedName - String!
disabled - Boolean!
tables - [String!] Null selects all tables; an empty list selects no tables
Example
{
  "sourceName": "<string>",
  "federatedName": "<string>",
  "disabled": "<boolean>",
  "tables": ["<string>"]
}

CDSSchemaInput

Fields
Input Field Description
n - String Source schema name (sourceName); null identifies the default schema.
f - String! Schema name in the federated database (federatedName).
d - Boolean! Whether the schema mapping is disabled (disabled).
tables - [String!] Null selects all tables; an empty list selects no tables
Example
{"n": "<string>", "f": "<string>", "d": "<boolean>", "tables": ["<string>"]}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"<id>"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"<string>"