DM queries schema

service.dm.graphqls

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

dmCertificateType

Description

Returns the domain certificate type. Null if the certificate is not set.

Response

Returns a DomainCertificateType

Example

Query
query dmCertificateType {
  dmCertificateType
}
Response
{"data": {"dmCertificateType": "CUSTOM"}}

dmOrganization

Description

Returns the organization information for the domain manager.

Response

Returns an OrganizationInfo

Example

Query
query dmOrganization {
  dmOrganization {
    id
    baseDomain
    subdomain
    deployments {
      ...DeploymentInfoFragment
    }
    currentDeployment {
      ...DeploymentInfoFragment
    }
  }
}
Response
{
  "data": {
    "dmOrganization": {
      "id": "<id>",
      "baseDomain": "<string>",
      "subdomain": "<string>",
      "deployments": [DeploymentInfo],
      "currentDeployment": DeploymentInfo
    }
  }
}

dmStatusInfo

Description

Returns the domain manager availability status.

Response

Returns a DomainManagerAvailability!

Example

Query
query dmStatusInfo {
  dmStatusInfo {
    certbot
    server
    externalStatus
  }
}
Response
{
  "data": {
    "dmStatusInfo": {
      "certbot": "<boolean>",
      "server": "<boolean>",
      "externalStatus": "AWS_MARKETPLACE_AGREEMENT_NOT_FOUND"
    }
  }
}

dmVerifyDeploymentAddress

Description

Verifies the deployment address and returns information about its validity.

Arguments
Name Description
address - String!

Example

Query
query dmVerifyDeploymentAddress($address: String!) {
  dmVerifyDeploymentAddress(address: $address) {
    valid
    message
  }
}
Variables
{"address": "<string>"}
Response
{
  "data": {
    "dmVerifyDeploymentAddress": {"valid": "<boolean>", "message": "<string>"}
  }
}

Mutations

asyncDmRegisterDeploymentDomain

Description

Creates an async task to register a new deployment domain and generate a certificate for it.

Response

Returns an AsyncTaskInfo!

Arguments
Name Description
organizationSubdomain - String!
deploymentSubdomain - String!
ipAddress - String!

Example

Query
mutation asyncDmRegisterDeploymentDomain(
  $organizationSubdomain: String!,
  $deploymentSubdomain: String!,
  $ipAddress: String!
) {
  asyncDmRegisterDeploymentDomain(
    organizationSubdomain: $organizationSubdomain,
    deploymentSubdomain: $deploymentSubdomain,
    ipAddress: $ipAddress
  ) {
    id
    name
    running
    status
    error {
      ...ServerErrorFragment
    }
    taskResult
  }
}
Variables
{
  "organizationSubdomain": "<string>",
  "deploymentSubdomain": "<string>",
  "ipAddress": "<string>"
}
Response
{
  "data": {
    "asyncDmRegisterDeploymentDomain": {
      "id": "<string>",
      "name": "<string>",
      "running": "<boolean>",
      "status": "<string>",
      "error": ServerError,
      "taskResult": "<object>"
    }
  }
}

dmAddCustomCertificate

Description

Adds or updates a custom certificate for the domain manager server.

Response

Returns a Boolean!

Arguments
Name Description
config - CustomCertificateConfig!

Example

Query
mutation dmAddCustomCertificate($config: CustomCertificateConfig!) {
  dmAddCustomCertificate(config: $config)
}
Variables
{"config": CustomCertificateConfig}
Response
{
  "data": {
    "dmAddCustomCertificate": "<boolean>"
  }
}

dmDeleteCustomCertificate

Description

Deletes a custom certificate for the domain manager server.

Response

Returns a Boolean!

Arguments
Name Description
address - String!

Example

Query
mutation dmDeleteCustomCertificate($address: String!) {
  dmDeleteCustomCertificate(address: $address)
}
Variables
{"address": "<string>"}
Response
{
  "data": {
    "dmDeleteCustomCertificate": "<boolean>"
  }
}

dmDeleteDeployment

Description

Deletes the information about the deployment. Can be used if the deployment is not available anymore and the amount of servers number from the license is reached.

Response

Returns an OrganizationInfo!

Arguments
Name Description
id - ID!

Example

Query
mutation dmDeleteDeployment($id: ID!) {
  dmDeleteDeployment(id: $id) {
    id
    baseDomain
    subdomain
    deployments {
      ...DeploymentInfoFragment
    }
    currentDeployment {
      ...DeploymentInfoFragment
    }
  }
}
Variables
{"id": "<id>"}
Response
{
  "data": {
    "dmDeleteDeployment": {
      "id": "<id>",
      "baseDomain": "<string>",
      "subdomain": "<string>",
      "deployments": [DeploymentInfo],
      "currentDeployment": DeploymentInfo
    }
  }
}

dmDeleteDeploymentDomain

Description

Deletes the automatically registered deployment domain.

Response

Returns a DeploymentInfo

Example

Query
mutation dmDeleteDeploymentDomain {
  dmDeleteDeploymentDomain {
    id
    ipAddress
    publicAddress
    subdomain
    dateOfExpire
    domainRenewalError {
      ...DomainRenewalErrorFragment
    }
  }
}
Response
{
  "data": {
    "dmDeleteDeploymentDomain": {
      "id": "<id>",
      "ipAddress": "<string>",
      "publicAddress": "<string>",
      "subdomain": "<string>",
      "dateOfExpire": "<string>",
      "domainRenewalError": DomainRenewalError
    }
  }
}

Types

AsyncTaskInfo

Description

Async types

Fields
Field Name Description
id - String! Task unique identifier
name - String Async task name
running - Boolean! Indicates if the task is currently running
status - String Current status of the async task
error - ServerError Error information if the task failed
taskResult - Object Task result. Can be some kind of identifier to obtain real result using another API function
Example
{
  "id": "<string>",
  "name": "<string>",
  "running": "<boolean>",
  "status": "<string>",
  "error": ServerError,
  "taskResult": "<object>"
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
"<boolean>"

CustomCertificateConfig

Fields
Input Field Description
domainName - String!
certificate - String!
privateKey - String!
certificateChain - String
Example
{
  "domainName": "<string>",
  "certificate": "<string>",
  "privateKey": "<string>",
  "certificateChain": "<string>"
}

DeploymentAddressVerificationInfo

Fields
Field Name Description
valid - Boolean! Shows if the deployment address is valid (available at the external network).
message - String Message with additional information about the deployment address verification.
Example
{"valid": "<boolean>", "message": "<string>"}

DeploymentInfo

Description

Information about the deployment (server instance)

Fields
Field Name Description
id - ID! Unique identifier of the deployment.
ipAddress - String The ip address of the deployment that can be used for generating the certbot certificate.
publicAddress - String The public address of the deployment.
subdomain - String The organization subdomain for the deployment.
dateOfExpire - String Returns the expiration date of the certificate for the deployment if it was generated automatically.
domainRenewalError - DomainRenewalError Returns the error information if the domain certificate renewal failed.
Example
{
  "id": "<id>",
  "ipAddress": "<string>",
  "publicAddress": "<string>",
  "subdomain": "<string>",
  "dateOfExpire": "<string>",
  "domainRenewalError": DomainRenewalError
}

DomainCertificateType

Values
Enum Value Description

CUSTOM

Custom certificate is used.

DEFAULT

Certificate was generated using the domain manager server.
Example
"CUSTOM"

DomainManagerAvailability

Fields
Field Name Description
certbot - Boolean! Identifies if the certbot service is available.
server - Boolean! Identifies if the domain manager server is available.
externalStatus - EDMStatus Returns the reason why the domain manager is unavailable, if any.
Example
{
  "certbot": "<boolean>",
  "server": "<boolean>",
  "externalStatus": "AWS_MARKETPLACE_AGREEMENT_NOT_FOUND"
}

DomainRenewalError

Description

Information about the domain certificate renewal error.

Fields
Field Name Description
updateTime - String! Time when the error occurred.
errorMessage - String! The error message.
Example
{"updateTime": "<string>", "errorMessage": "<string>"}

EDMStatus

Values
Enum Value Description

AWS_MARKETPLACE_AGREEMENT_NOT_FOUND

AWS Marketplace agreement ID not found. To use the domain manager, the agreement ID is needed for AWS product.
Example
"AWS_MARKETPLACE_AGREEMENT_NOT_FOUND"

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>"

Object

Description

Any object (JSON)

Example
"<object>"

OrganizationInfo

Description

The organization information for the domain manager.

Fields
Field Name Description
id - ID! Unique identifier of the organization.
baseDomain - String! The base domain of the organization.
subdomain - String The subdomain of the organization.
deployments - [DeploymentInfo!] List of deployments (servers) for the organization.
currentDeployment - DeploymentInfo The current deployment information.
Example
{
  "id": "<id>",
  "baseDomain": "<string>",
  "subdomain": "<string>",
  "deployments": [DeploymentInfo],
  "currentDeployment": DeploymentInfo
}

ServerError

Description

Various server errors descriptor

Fields
Field Name Description
message - String Error message text
errorCode - String Retrieves the vendor-specific error code
errorType - String Type/category of the error
stackTrace - String Stack trace for debugging
causedBy - ServerError Nested error that caused this error (recursive)
Example
{
  "message": "<string>",
  "errorCode": "<string>",
  "errorType": "<string>",
  "stackTrace": "<string>",
  "causedBy": ServerError
}

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>"